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 :

[SQL] Pb de requête


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 220
    Par défaut [SQL] Pb de requête
    Bonjour

    Voila mon pb
    j'ai 2 table, une table client et une table produit

    à un produit est lié un client (id_clt), donc il y a une clé etrangére (pdt_id_clt) dans la table produit.

    j'ai créer un tableau ou j affiche tout le descriptif (les données contenu dans la table) du produit. et j ai mi un lien hors tu tableau qui permet au user de voir à qui est lié à ce produit .

    je renvoie ce lien vers une page que j ai appellé cltprod.php.
    dans cette page je veux récuper le pdt_id_clt qui est la clé etrangére dans la table produit afin d affiché les donné qui se trouve dans la table client vu que le id_clt = pdt_id_clt.

    voici le script de mon lien

    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <?php
     
    require($_SERVER['DOCUMENT_ROOT']."/actimac/db.php");
     
    $id =$_GET['id_produit'];
    $requete="select nom,prenom,societe,cp,ville,tel,fax,email from $table_client, $table_demande where id_produit=$id and $table_demande.pdt_id_clt=table_client.id_client";
    $row = mysql_query($requete);
     
     
    echo ' <tr>
                <td bgcolor="#33FF00"><a href="index.php"  <font color="#25AD3D">Acceuil</a>></font></td>
              </tr><pre>';
     
    // si on a récupéré un résultat on l'affiche.
     
     
     
        // debut du tableau
     
        echo '<table bgcolor="#CCCCCC">'."\n";
     
            // première ligne on affiche les titres prénom et surnom dans 2 colonnes
     
             echo '<tr>';
             echo '<td bgcolor="#669999"><b><u>Nom</u></b></td>';
             echo '<td bgcolor="#669999"><b><u>Prénom</u></b></td>';
    		 echo '<td bgcolor="#669999"><b><u>Sociéte</u></b></td>';
             echo '<td bgcolor="#669999"><b><u>Adresse</u></b></td>';
             echo '<td bgcolor="#669999"><b><u>Code Postal</u></b></td>';
             echo '<td bgcolor="#669999"><b><u>Ville</u></b></td>' ;
             echo '<td bgcolor="#669999"><b><u>Tel</u></b></td>';
    	     echo '<td bgcolor="#669999"><b><u>Fax</u></b></td>';
    	     echo '<td bgcolor="#669999"><b><u>Email</u></b></td>';
    		 echo '<td bgcolor="#CCCCCC">&nbsp;</td>';
    	 echo '</tr>'."\n";
     
     // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.    
     
     
     
        echo '<tr>';
            echo '<td bgcolor="#33CCCC">'.$row["nom"].'</td>';
            echo '<td bgcolor="#33CCCC">'.$row["prenom"].'</td>';
    		echo '<td bgcolor="#33CCCC">'.$row["societe"].'</td>';
            echo '<td bgcolor="#33CCCC">'.$row["adresse"].'</td>';
            echo '<td bgcolor="#33CCCC">'.$row["cp"].'</td>';
            echo '<td bgcolor="#33CCCC">'.$row["ville"].'</td>';
    	    echo '<td bgcolor="#33CCCC">'.$row["tel"].'</td>';
    	    echo '<td bgcolor="#33CCCC">'.$row["fax"].'</td>';
    	    echo '<td bgcolor="#33CCCC">'.$row["email"].'</td>';
     
     
            echo '</tr>'."\n";
     
        echo '</table>'."\n";
        // fin du tableau.
     
     
    ?>
    je trouve pas la requête. (celle que j ai mise ne fonctione pas


    Merci

  2. #2
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Si concaténator passait par là

    Essaie ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $requete="select nom,prenom,societe,cp,ville,tel,fax,email from " . $table_client . ", " . $table_demande . " where id_produit=" . $id . " and " . $table_demande . ".pdt_id_clt=table_client.id_client";
    $row = mysql_query($requete) or die(mysql_error());
    $table_client et $tab_demande sont définis dans le fichier appelé dans le require je suppose...

  3. #3
    Membre Expert
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Par défaut
    Citation Envoyé par JWhite
    Si concaténator passait par là
    J'ai vu un point dans le ciel je réponds à ton appel

    Quoi c'est déjà fini ?

    Bon tant pis
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  4. #4
    Membre chevronné Avatar de supernova
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 447
    Par défaut
    Il vaux mieux quoter ta requête dans un premier temps :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete="select nom,prenom,societe,cp,ville,tel,fax,email from " . $table_client . "," . $table_demande . " where id_produit= '" . $id . "' and " $table_demande.pdt_id_clt . "='table_client.id_client'";

  5. #5
    Membre chevronné Avatar de supernova
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 447
    Par défaut
    Oups JWhite a été plus rapide

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 220
    Par défaut
    Voici l erreur:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Champ 'id_produit' inconnu dans where clause

  7. #7
    Membre chevronné Avatar de supernova
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 447
    Par défaut
    le champ est de type text ou Entier dans la définition de la table

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 220
    Par défaut
    il est du type INT

  9. #9
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    C'est parce que il fait pas de mysql_fetch_array, il croit que le mysql_query renvoie directement le tableau associatif.
    Je te conseille très vivement le tuto d'Eusebius.
    http://eusebius.developpez.com/phpmysql-base/

    Mais surtout la prochaine fois cherche bien et explique bien, 3 pages pour un problème aussi basique c'est pas normal, tu aurais pu régler ça bien plus rapidement

  10. #10
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    fais ça
    $res = mysql_query($requete) or die(mysql_error());
    $row = mysql_fetch_array($res) ;

    mais je te renvoie tout de meme au tutorial d'Eusebius

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 220
    Par défaut
    ok la ca marche il m affiche bien mes champs.

    Merci pour l aide.

    Mais il y a un truc que j aimerai bien comprendre.

    le code que tu m as fait rajouté fait marché l affichage

    dans une autre page que j avais créer voici mon script et il marche pourtant

    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
    <? echo ' <tr>
                <td bgcolor="#FFFFFF"><a href="index.php"> <font color="#25AD3D">Acceuil</a>></font></td>
              </tr>';
    ?>
     
    <?
     
    require($_SERVER['DOCUMENT_ROOT']."/actimac/db.php");
     
    $id = $_GET['id'];
     
    $reponse = mysql_query("SELECT * FROM $table_stock where id_produit=$id");
     $donnees = mysql_fetch_array($reponse) 
     
    ?>
    <pre>
    <table>
    <tr>
    <td >
    <font color="#0000CC"><b></font>Modele:</b><?php echo '<font color="#0000CC">'.$donnees['modele'].'</a></font><br/>'?>
    <b>Type:</b> <?php echo '<font color="#0000CC">'.$donnees['type'].'</a></font><br/>'?>
    <b>Nom:</b> <?php echo '<font color="#0000CC">'.$donnees['nom'].'</a></font><br/>'?>
    <b>Processeur:</b> <?php echo '<font color="#0000CC">'.$donnees['processeur'].'</a></font><br/>'?>
    <b>Memoire Video:</b> <?php echo '<font color="#0000CC">'.$donnees['memoire_video'].'</a></font><br/>'?>
    <b>Memoire Vive:</b> <?php echo '<font color="#0000CC">' .$donnees['memoire_vive'].'</a></font><br/>'?>
    <b>Disque Dur:</b> <?php echo '<font color="#0000CC">'.$donnees['disque_dur'].'</a></font><br/>'?>
    <b>Taille Ecran:</b> <?php echo '<font color="#0000CC">'.$donnees['taille_ecran'].'</a></font><br/>'?>
    <b>Lecteur Optique:</b> <?php echo '<font color="#0000CC">'.$donnees['lecteur_optique'].'</a></font><br/>'?>
    <b>OS:</b> <?php echo '<font color="#0000CC">'.$donnees['os'].'</a></font><br/>'?>
    <b>Connectique:</b> <?php echo '<font color="#0000CC">'.$donnees['connectique'].'</a></font><br/>'?>
    <b>Accessoires:</b> <?php echo '<font color="#0000CC">'.$donnees['accessoires'].'</a></font><br/>'?>
    <b>Graveur:</b> <?php echo '<font color="#0000CC">'.$donnees['graveur'].'</a></font><br/>'?>
    <b>Prix côte occasion:</b> <?php echo '<font color="#0000CC">'.$donnees['prix_cote_occasion'].'</a></font><br/>'?>
    <b>Prix d'achat:</b> <?php echo '<font color="#0000CC">'.$donnees['prix_achat'].'</a></font><br/>'?>
    <b>Prix de vente:</b> <?php echo '<font color="#0000CC">'.$donnees['prix_vente'].'</a></font><br/>'?>
    <b>Date d'entrée en stock:</b> <?php echo '<font color="#0000CC">'.$donnees['dateproduit'].'</a></font><br/>'?>
    <b>Sous Garantie:</b> <?php echo '<font color="#0000CC">'.$donnees['sous_garantie'].'</a></font><br/>'?>
    <b>Observation Garantie:</b>
    <?php echo '<font color="#0000CC">'.$donnees['textgarantie'].'</a></font><br/>'?>
    <b>Photo liée:</b>
    <img src="pic/<?= $donnees['image'] ?>" />
    </td></tr>
    </table>
     
    <?php
    echo '<H6>(*) Modele  : 1 =Mac  2=Pc </H6></br>';
    ?>
     
    <?php  mysql_close(); ?>
    il marche

  12. #12
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    en fait c'est grace cette ligne
    $donnees = mysql_fetch_array($reponse)
    tu ne l'avais pas fais dans le code de ton fichier. en fait mysql_fetch_array permet de traiter le resultat de ta requete qui est une ressource.
    n'oublie pas de lire le tuto et don't forget le tag

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 220
    Par défaut
    Merci

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

Discussions similaires

  1. [SQL]problème de requête.
    Par shnouf dans le forum Oracle
    Réponses: 21
    Dernier message: 24/01/2006, 11h12
  2. [SQL] Aide pour requête
    Par portu dans le forum Access
    Réponses: 8
    Dernier message: 23/09/2005, 13h05
  3. [SQL] Problème de requête SQL de plus de 8060 caractères ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 06/04/2005, 15h07
  4. Affecter résultat SQL d'une requête à une variable
    Par bozolozo dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 02/01/2005, 17h37
  5. [PL/SQL] Parseur de requête
    Par SheikYerbouti dans le forum SQL
    Réponses: 19
    Dernier message: 20/04/2004, 16h04

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