IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Use of undefined constant select - assumed 'select' in on line 7 [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Points : 6
    Points
    6
    Par défaut Use of undefined constant select - assumed 'select' in on line 7
    Bonjour,

    je reviens à nouveau vers vous.
    sur un fichier de modification d'éléments bdd, j'ai ce message :

    Notice: Use of undefined constant select - assumed 'select' in ... on line 7
    et un second à la suite :

    Fatal error: Call to undefined function from() in ... on line 7
    voici le debut de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
     
    include("connec.php");
    include("format_nom.php");
     
    $id=$_GET['id'];
    $query= select * from ('$id');  // ligne 7
    $result=mysql_query($query) or die (mysql_error());
    echo "<html> ... etc etc

    j'ai essayé beaucoup de changements parentheses quotes, double quotes, crochets .. à chaque fois un message ...

    merci à ceux qui seraient là pour me renseigner sur d'éventuelles autres pistes ...

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query= select * from ('$id');  // ligne 7
    ???
    ... rien ne te choque ?
    Citation Envoyé par UnAnge46 Voir le message
    j'ai essayé beaucoup de changements parentheses quotes, double quotes, crochets ..
    Et essayer d'apprendre les bases de SQL ?
    => Débuter avec SQL

    Et vu que mysql_ est en passe de devenir obsolète : Comprendre PDO

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Bonsoir,

    essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query= "select * from $id"
    sauf que dans ton code a moins que $id correspond au nom d'une table dans mysql ta requête est fausse.
    une réponse vous a permis d'avancer ?

  4. #4
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Merci exia93 j'avais déjà essayé ... ça me répond :

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1
    et j'ai pu lire différents messages correspondant à cette erreur ... style code d'une seules ligne .. je ne sais pas comment y remédier si tel est le cas ...

    ....

    merci aussi à jreaux62, si vu qu'il y a erreur je suis choqué .. mais pas de mes maigres connaissances ... on pourrait discuter de bcp de choses hormis la programmation et je suis sur qu'il y a énormément de choses que tu ne connais pas .. tout comme moi .. alors plutot que de me répondre de la sorte ... ne perd pas ton temps ... merci pour les liens .. je les mets de coté pour consacrer le peu de temps que j'ai devant moi.

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Citation Envoyé par Exia93 Voir le message
    sauf que dans ton code a moins que $id correspond au nom d'une table dans mysql ta requête est fausse.
    ta requête veut afficher des informations d'une table nommé 1, je pense que dans ta BDD tu n'a pas de table nommé 1 mais plutôt une table par exemple utilisateurs et tu veut par exemple afficher l'utilisateur qui al'id 1,

    dans ce cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = 'SELECT * FROM utilisateur WHERE ID =' . $id;
    mais je te conseil de lire un tuto sur le SQL (beaucoup sont dispo sur ce site et sont d'excellente qualité) pour les débutants car si tu ne connais pas comment fonctionne une BDD ni comment l’interroger tu n'y arrivera pas.
    une réponse vous a permis d'avancer ?

  6. #6
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    merci de ton aide Exia93

    je n'ai effectivement pas bcp d'expérience dans le domaine, c'est une petite boutique que j'essaie de monter pour ma chérie ...
    j'ai fais il y a quelques années un site dont je ne suis pas mécontent ... mais pas "commercial" (et pas tt à fait terminé j'avais buggué à l'époque et la vie a fait que je suis passé à autre chose ...,) pas de boutique ni panier .. je sais , j'ai encore bcp de taf et n'ayant pas "exercé" depuis trois ans j'ai perdu un peu .. bcp ... lol

    le soucis c'est que ton "utilisateur" c'est un id récupéré dans un select ... et donc c'est soit id=1, id=2, id=3, 4 ou 5 ... ($id sort d'un select)

    tape "massage traditionnel chinois" chez google et .. tu trouves direct le site que j'ai fais il y a quatre cinq ans ...;-)

  7. #7
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Que veut tu faire exactement avec ta requête ?
    une réponse vous a permis d'avancer ?

  8. #8
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    coté admin , modifier un article dans la base de données.. le nom, la description, le prix, la photo ...

    la phase ajout fonctionne et depuis un tableau généré depuis un select, je peux modifier un article ...
    mon tableau s'affiche et liens modifier ou supprimer ..
    là en l'occurence je veux pouvoir modifier les données ...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <?php
     
    include("connec.php");
    include("format_nom.php");
     
    $id=$_GET['id'];
    $query= "select * from $id";
    $result=mysql_query($query) or die (mysql_error());
    echo "<html>
          <head>
          <link rel='stylesheet' type='text/css' href='../style.css'>
          </head>
          <body>
                <form name='modif' action='modif.php' method='GET'>
                      <fieldset><legend align=center>MODIFICATIONS DES ARTICLES</legend>
                                <table>";
     
    $row="mysql_fetch_row($result)";
                $id=$row[0];
                $nom=$row[1];
                $description=$row[2];
                $prix=$row[3];
                $img=$row[4];
                $jour=$row[5];
     
                               echo "<tr><td>Nom : </td><td><input type='hidden' name='id' value='$id' />
    						   		 <input type='text' name='nom' value='$nom' /></td></tr>
                                     <tr><td>Description : </td><td><textarea name='description'>$description</textarea></td></tr>
                                     <tr><td>Prix : </td><td><input type='text' name='prix' value='$prix' /></td></tr>
                                     <tr><td>Img : </td><td><input type='text' name='img' value='$img' /></td></tr>
                                     <tr><td colspan='2' align='center'><input type='submit' value='modifier' /></td></tr>";
     
                                echo"</table>
                      </fieldset>
                </form>
          </body>
          </html>";
     
    ?>

    depuis ce formulaire :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    echo "
    			<table border='1' align='center' width='800'>
    			<th>
    			<tr><td><input type='hidden' name='id' value='$id'></td>
    				<td>$nom</td><td>$description</td><td>$prix</td><td>$img</td><td>$jour</td>
                	<td><a href=modif_art.php?id=$id><img src='crayon.png' alt='Modifier'></td>
               	 <td><a href=suppr_art.php?id=$id><img src='croix.png' alt='Supprimer'></td>";
    			 }
    			 }
    			echo "</tr>
    			</th>
    			</table>
    il m'est arrivé d'avoir aussi ce message après un autre changement ... :

    Use of undefined constant select - assumed 'select'
    je ne sais plus mais c'est en changeant les ' par des " ou bien les ( par des [

    bref j'ai bien tenté pleins de choses mais message à chaque fois alors je me demande si cela ne vient pas d'ailleurs .. mais d'ou? je suis un peu largué là .

  9. #9
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Plusieurs choses,

    comme je te l'ai dis précédement ta requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query= "select * from $id";
    ne veut rien dire car tu va afficher toutes les lignes d'une table ayant comme nom la valeur de $id(une table avec le nom 1 une autre avec le nom 2),

    cela voudrait dire que pour chaque article que tu créer tu lui créer sa propre table ce qui n'est pas concevable,

    je pense que dans ton cas tu veux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query= "select * from articles WHERE id = $id";
    la tu va demander à MySQL de rechercher dans la table articles l'article ayant comme id la valeur de $id.

    Ensuite,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $row="mysql_fetch_row($result)";
    tu veut affecter à $row le résultat de ta requête, sauf que la tu lui affècte une chaîne de caractère, tu n'utilise pas la fonction mysql_fetch_row(),

    pour utiliser une fonction pas besoin d'utiliser les quotes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $row=mysql_fetch_row($result);
    la $row recevra le résultat de la fonction mysql_fetch_row().

    Ensuite, les fonctions mysql_ vont être abandonné par PHP il vaut mieu que tu te tourne vers l'API mysqli_ ou PDO.

    Tu devrai encapsuler ton mysql_fetch_row() dans un if() car si ta requête ne renvoi rien tu aura des erreurs (un test simple tu récupère un paramètre en $_GET et puis l'utilise directement dans un select, imagine je te demande l'article ayant pour ID le n°99999 qui n'existe pas dans ta table, ta requête ne renverra rien mais tu essaye quand même de récupérer les informations, PHP renverra alors des erreurs),

    donc ton code deviendrait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    $query= 'select * from articles WHERE id =' . intval($id);
    $result=mysql_query($query) or die (mysql_error());
    //l'affichage de ton header
     
    if( $row=mysql_fetch_row($result) ){
    echo "<tr><td>Nom : </td><td><input type='hidden' name='id' value='$row[0]' />
    						   		 <input type='text' name='nom' value='$row[1]' /></td></tr>
                                     <tr><td>Description : </td><td><textarea name='description'>$row[2]</textarea></td></tr>
                                     <tr><td>Prix : </td><td><input type='text' name='prix' value='$row[3]' /></td></tr>
                                     <tr><td>Img : </td><td><input type='text' name='img' value='$row[4]' /></td></tr>
                                     <tr><td colspan='2' align='center'><input type='submit' value='modifier' /></td></tr>";
    }else{
        echo '<tr>
        <td>Articles Indisponible !</td>
    </tr>'
    }
    echo"</table>
                      </fieldset>
                </form>
          </body>
          </html>";
    donc dans $query la fonction intval() renvoi la forme numérique d'une variable( exemple si tu a une chaine de caractère '10' intval te renverra un int de valeur 10, parcontre si tu envoi à la fonction intval une chaîne 'toto' la fonction renverra 0 car ta chaîne n'est pas un nombre, elle sert à sécuriser les paramêtres numériques),

    tu devrait utiliser la fonction mysql_fetch_assoc() qui est à mon sens plus lisible car au lieu d'utiliser :
    tu utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $row['id']
    //ou
    $row['nom']
    qui je trouve est plus lisible quand tu relis ton code.

    dans le code donné plus haut tu tes si l'article existe bien dans ta tables article, s'il existe alors tu affiche ses informations sinon tu affiche article indisponible.

    Pour ton erreur
    Use of undefined constant select - assumed 'select'
    à qu'elle ligne se trouve t'elle précisément ?
    une réponse vous a permis d'avancer ?

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par UnAnge46 Voir le message
    merci aussi à jreaux62, si vu qu'il y a erreur je suis choqué .. mais pas de mes maigres connaissances ... on pourrait discuter de bcp de choses hormis la programmation et je suis sur qu'il y a énormément de choses que tu ne connais pas .. tout comme moi .. alors plutot que de me répondre de la sorte ... ne perd pas ton temps ... merci pour les liens ...
    C'est bien pour ça que je t'ai mis des liens vers des tutos... à suivre et à lire.

    Voici un autre tuto intéressant : Tutoriel ultra-minimal : passer des requêtes MySQL en PHP
    ... je les mets de coté pour consacrer le peu de temps que j'ai devant moi.
    C'est bien dommage, car les réponses à ton problème s'y trouvent !

    N.B. Il n'y a pas de honte à "ne pas savoir".
    C'est plus gênant de "ne pas chercher à savoir"...

  11. #11
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Merci jreaux62 de ta réponse mais cela correspond à une table "articles" ou se trouvent les différentes catégories de produits .. dans mon cas j'ai fais une table par article.. faudrait-il donc que je factorise mes tables ??

    à la base, j'ai un formulaire ou je peux ajouter un produit dans une table choisie par un select ainsi qu'un autre select, choix d'une table, afin de visualiser les produits contenus dans cette table. mon tableau m'affiche bien les produits de cette table et peuvent être modifiés ou supprimés ... le souci est dans l'affichage du formulaire permettant de modifier les données du produit(faute d'orthographe, changement de la description,prix...)

    suis je assez clair ?

    là j'ai :

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1

    après ces (bouts de) codes:

    formulaire de recherche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <form name="rech" action="recherche_art.php" method="GET">
               <h2 align=center>RECHERCHE DANS LE CATALOGUE</h2>
               <p class="Texte">Catégorie :</p>
     
                    <select name="choix" id="id" onChange="getarticles(this.value);">
                    <option></option>
                    <option value="accessoires">Accessoires</option>
                    <option value="bijoux">Bijoux</option>
                    <option value="gants">Gants</option>
                    <option value="echarpes">Echarpes</option>
                    <option value="bois">Bois</option>
                    </select>
     
                    <input type="submit" value="Chercher"></p>
          </form>
    code recherche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <?php
     
    include("connec.php");
    include("format_nom.php");
     
    $id=$_GET["choix"];
     
    $query= "select * from ($id)";
    $result=mysql_query($query) or die (mysql_error());
     
     
    $retour=mysql_num_rows($result);
     
    echo "<html><head>
                      <link rel='stylesheet' type='text/css' href='../style.css'>
                </head>";
    echo "<body>";
     
     
    if (empty($retour))
       {
        echo "<tr><td>pas de resultats</td></tr>";
       }
    else {
         while ($row=mysql_fetch_row($result)) 
               {           
                $id=$row[0];
    			$nom=$row[1];
                $description=$row[2];
                $prix=$row[3];
                $img=$row[4];
    			$jour=$row[5];
     
    			echo "
    			<table border='1' align='center' width='800'>
    			<th>
    			<tr><td><input type='hidden' name='id' value='$id'></td>
    				<td>$nom</td><td>$description</td><td>$prix</td><td>$img</td><td>$jour</td>
                	<td><a href=modif_art.php?id=$id><img src='crayon.png' alt='Modifier'></td>
               	 <td><a href=suppr_art.php?id=$id><img src='croix.png' alt='Supprimer'></td>";
    			 }
    			 }
    			echo "</tr>
    			</th>
    			</table>
    			<p classe='texte'><a href='form_ajout.php'>RETOUR</a></p>
    			</body>
    			</html>";
    ?>
    tableau d'affichage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <?php
     
    include("connec.php");
    include("format_nom.php");
     
    $id=$_GET['id'];
    $query= "select * from $id";
    $result=mysql_query($query) or die (mysql_error());
    echo "<html>
          <head>
          <link rel='stylesheet' type='text/css' href='../style.css'>
          </head>
          <body>
                <form name='modif' action='modif.php' method='GET'>
                      <fieldset><legend align=center>MODIFICATIONS DES ARTICLES</legend>
                                <table>";
     
    $row="mysql_fetch_row($result)";
                $id=$row[0];
                $nom=$row[1];
                $description=$row[2];
                $prix=$row[3];
                $img=$row[4];
                $jour=$row[5];
     
                               echo "<tr><td>Nom : </td><td><input type='hidden' name='id' value='$id' />
    						   		 <input type='text' name='nom' value='$nom' /></td></tr>
                                     <tr><td>Description : </td><td><textarea name='description'>$description</textarea></td></tr>
                                     <tr><td>Prix : </td><td><input type='text' name='prix' value='$prix' /></td></tr>
                                     <tr><td>Img : </td><td><input type='text' name='img' value='$img' /></td></tr>
                                     <tr><td colspan='2' align='center'><input type='submit' value='modifier' /></td></tr>";
     
                                echo"</table>
                      </fieldset>
                </form>
          </body>
          </html>";
     
    ?>
    et code modif :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    include("connect.php");
    include"(format_nom.php");
     
    $id=$_GET['id'];
    $nom=$_GET['nom'];
    $description=$_GET['description'];
    $prix=$_GET['prix'];
    $img=$_GET['img'];
     
    $query="UPDATE $id SET nom='$nom', description='$description', prix='$prix', img='$img'";
    $result=mysql_query($query) or die (mysql_error());
    if ($result) {
           header("location: form_ajout.php");
        }
    ?>
    j'avais trouvé plus aisé de gérer l'histoire en faisant plusieurs tables avec les mêmes noms de champs .. me suis trompé ? et je t'avoue que je n'ai pas assez de temps pour tout consulter .. la programmation est un petit truc à coté ... merci de ton attention

  12. #12
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Une table par article Genre une table pour les chaussures, une pour les chaussettes, une pour les livres ? si demain tu te mets à vendre des casseroles, il faudra que tu ajoutes une table ?
    Je pense qu'on aurait besoin de voir la structure réelle de tes tables avant de continuer...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  13. #13
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    merci de ton conseil celira
    je vais devoir faire une seule table article et revoir ts les codes ... arf .. ;-)

  14. #14
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    pour l'instant les 5 tables produits existantes sont sous cette forme ::


    Colonne Type Null Défaut
    id int(11) Non
    nom text Non
    description text Non
    prix decimal Non
    img text Non
    jour datetime Non

  15. #15
    Invité
    Invité(e)
    Par défaut
    Il va vraiment falloir que tu prennes le temps de lire les tutos.

    S'ils montrent une méthodologie, une façon de faire qui ne correspond pas à la tienne,... dis-toi que c'est peut-être la tienne qui n'est pas la bonne...

    Avant de coder, de partir à l'aveuglette, il faut réfléchir au meilleur moyen d'obtenir le résultat souhaité.
    Plusieurs voies sont possibles, une est peut-être meilleure que les autres.

    Beaucoup de personne sont en train de "se pencher sur ton cas", et de te trouver des solutions.
    Le minimum à faire, de ta part, est de prendre en compte les conseils et lire les tutos qu'on te propose.

    Sinon, en effet, ça ne sert à rien qu'on perde son temps...

    N.B. Il a fallu 14 message pour que tu commences à expliquer comment fonctionnait ton code (+ structure des tables).
    Tu ne crois pas que tu aurais pu commencer par là ?
    On t'aurais dis tout de suite, comme Celira, que ce n'était pas la meilleure façon.

  16. #16
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    bonjour,
    alors si je commence à comprendre je dois créer des tables du style :

    une table article avec les colonnes
    id_art
    accessoires
    bijoux
    gants
    echarpes
    bois

    et une table desc avec les colonnes
    id_desc
    nom
    descrition
    prix
    img
    date

    ?

  17. #17
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Non !
    Un article est un article et la structure que tu as donnée plus haut est bonne :
    Colonne Type Null Défaut
    id int(11) Non
    nom text Non
    description text Non
    prix decimal Non
    img text Non
    jour datetime Non
    Mais un article appartient à une catégorie et une catégorie peut regrouper plusieurs articles donc il te faut une table des catégories et ajouter une clé étrangère référençant la catégorie dans la table des articles :
    categorie (cat_id, cat_nom)
    article (id, id_categorie, nom, description, prix, img, jour)
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  18. #18
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    merci cinephil pour ta réponse je m'attaque à ça

    si je te suis , je dois mettre cat_nom de la table categorie en cle etrangère faisant reference à id_categorie de la table article ?

  19. #19
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par UnAnge46 Voir le message
    si je te suis , je dois mettre cat_nom de la table categorie en cle etrangère faisant reference à id_categorie de la table article ?
    Non !
    Je t'ai donné la structure des tables. La clé étrangère est en italique dans mon message ; il s'agit de id_categorie dans la table des articles.

    Et pour récupérer le nom de la catégorie pour un article, tu fais ce genre de requête :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT a.id, a.nom AS nom_article,
    	c.cat_nom AS nom_categorie
    FROM article a
    INNER JOIN categorie c ON c.cat_id = a.id_categorie
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  20. #20
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    merci bcp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Use of undefined constant e - assumed 'e' in
    Par loustalet dans le forum Doctrine2
    Réponses: 2
    Dernier message: 09/12/2014, 20h47
  2. Use of undefined constant - assumed ' '
    Par danette59 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 02/07/2014, 12h03
  3. Notice: Use of undefined constant php - assumed 'php'
    Par arnob59 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 07/11/2012, 19h31
  4. Réponses: 2
    Dernier message: 08/08/2006, 11h54
  5. [Tableaux] Use of undefined constant
    Par lodan dans le forum Langage
    Réponses: 3
    Dernier message: 18/07/2006, 08h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo