Création catalogue produit : PHP et MYSQL

Petit nouveau ! | 4 Messages

23 sept. 2012, 15:27

Bonjour à tous les développeurs,
Je viens aujourd'hui vers vous afin de quémander de l'aide.

---------------------------------------------------------

Je vous explique en quelques étapes ce que je souhaites réaliser :
Je souhaite en fin de compte réaliser un "catalogue" présentant mes produits de ma boulangerie, selon des catégorie définies.

J'ai pour le moment créé une table SQL, néanmoins je ne sais pas si elle est bien faire en fin de compte :

Code : Tout sélectionner

-- -- Structure de la table `CATALOGUE_Produits` -- CREATE TABLE `CATALOGUE_Produits` ( `ID` int(10) unsigned NOT NULL auto_increment, `CATEGORIE` text collate latin1_german2_ci NOT NULL, `TITRE` text collate latin1_german2_ci NOT NULL, `IMAGE` text collate latin1_german2_ci NOT NULL, `DESCRIPTION` text collate latin1_german2_ci NOT NULL, `PRIX` decimal(10,2) NOT NULL, `PIECE` int(2) NOT NULL, `POIDS` int(2) NOT NULL, `BOITE` int(2) NOT NULL, `PERS` int(2) NOT NULL, `CMD` int(2) NOT NULL, `SAISON` int(2) NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=6 ;
En quelques lignes, j'arrive alimenter la BDD sans soucis:

Code : Tout sélectionner

$db = @mysql_pconnect($Serveur_db, $User_db, $Passe_db); @mysql_select_db($Base_name, $db); @mysql_query("INSERT INTO CATALOGUE_Produits(CATEGORIE, TITRE, IMAGE, DESCRIPTION, PRIX, PIECE, POIDS, BOITE, PERS, CMD, SAISON) VALUES('$Categorie','$Titre','$File_name','$Description','$Prix_OK','$Piece','$Poids','$Boite','$Pers','$CMD','$Saison')",$db) ;
Je renseigne dans la colonne "CATEGORIE" le nom de ma catégorie qui me servira par la suite a afficher les résultats selon les catégories choisies. Chaque catégorie sera affiché sur une page différente, donc je réaliserai des requêtes type "Afficher ... Where CATEGORIE == ....".

---------------------------------------------------------

Mes questions sont donc multiples :
1. Est-ce que je commence bien selon ce que je veux faire? Ou alors je vais droit dans le mur, et il y a une meilleure solution ?
2. Est-ce possible d'avoir une aide pas a pas, ou je code, et on me dit si ainsi ca va, ou alors si il n'y a pas meilleure solution?

Je suis prêt a remercier la personne qui m'aidera par mes conaissances ou mon aide en retour (graphisme, flash, ...).

Merci d'avance,
Fab.

Petit nouveau ! | 4 Messages

23 sept. 2012, 19:27

Personne ne sait me dire si je commence bien ou pas? :(

ViPHP
ViPHP | 2577 Messages

24 sept. 2012, 10:53

Le seul truc que je voie, c'est qu'il serait mieux de faire une table catégorie et de mettre l'id de la catégorie dans ta table produit. De plus il faut protéger les données avec mysql_real_escape_string() lors des ordres sql et préférer mysqli ou pdo pour l'accès à la base de données.

Après, on en sait pas assez pour en dire beaucoup plus.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

24 sept. 2012, 13:15

salut,


Pour étendre ce que veux dire Mazarini :

Si tu veux faire bien il faut modéliser ta base, pour cela je te conseil de regarder des cours sur merise (et plus particulièrement le modèle entité - association).

Tu peux chercher aussi des infos sur l'acronyme ACID (pour les base de donnée) cela à rapport avec les forme normale (à respecter pour faire bien).
Tout ceci existe sur développez.com.

La A de ACID c'est : Atomicité
Toutes les infos doivent être atomique, ou unique.

Dans ta table, la catégorie ne sera pas unique. Il te faut donc une table catégorie et tu feras la relation avec la clef primaire.

le MCD peux ressembler à ceci
Image


Par contre comme le dit Mazarini, il nous manque des informations pour t'indiquer une solution fiable. Il y a surement d'autre données redondantes dans ta table produits.


@+
Il en faut peu pour être heureux ......