[php]pb recueration donnees bdd

Résolu
djkerry1987 Messages postés 56 Date d'inscription   Statut Membre -  
djkerry1987 Messages postés 56 Date d'inscription   Statut Membre -
Bonjour,
voila je debute en php et j'ai un
pb par rapport a ma bdd qui a 4 champs :

id****pseudo****texte****photo

sur la page biblio.php
j'ai ce code
<a href="biblio.php?id=<?php echo "3"; ?>">machin</a>
<a href="biblio.php?id=4">truc</a>
<?php
//connexion bdd
mysql_connect("localhost", "root", "");//connexion a sql
mysql_select_db("scratchin");
//recuperation des donées de l'url
$nid= $_GET['id'];

//requete
$quete = mysql_query('SELECT * FROM `djs` WHERE id = "'.$nid.'"');
//classement de la requete
while ($donnees = mysql_fetch_array($quete));
{
$don = $donnees['pseudo'];
$txt = $donnees['texte'];
$photo = $donnees['img'];
$id=$donnees['id'];
?>

DJ <?php echo $donnees;?>
bio<?php echo $txt;
echo $photo;?>

<?php
}
mysql_close();
?>
donc je cherche a ce que le script php recupere l'id dans l'url et fasse la requete en fonction de l'id recupéré
je ne sais pas si mon erreur est

au niveau des boutons<a>
au niveau de $_GET[]
au niveau du fetch_array

je commence vraiment a galerer sr ce truc je pensais que ce serait tout simple peut etre c'est toute la méthode qui n'est pas valide
merci a ceux qui m'éclaireront
Configuration: Mac OS X
Firefox 3.0.3

8 réponses

  1. djflexlive Messages postés 577 Statut Membre 95
     
    mysql_query(" SELECT * FROM `djs` WHERE id='%$nid%' ");

    Ca dit quoi ?
    0
  2. djkerry1987 Messages postés 56 Date d'inscription   Statut Membre 5
     
    non ca change rien.

    mai a la base mon desir (peut etre c'est farfelu)
    c'etait d'appeler la table, de la foutre ds un fetch_array et de montrer tous les noms de la colonne pseudo sur la page et que on cliquat dessus ca renvoyait les autres colonnes de la meme ligne , la bio les photos etc. Automatisé quoi
    Suis-je bien clair(j'en doute)
    0
  3. djflexlive Messages postés 577 Statut Membre 95
     
    Oui je vois ce que tu veux faire, c'est tout à fait possible.

    $quete = mysql_query(" SELECT * FROM djs WHERE clef='$nid' ");

    Ca devrait marcher ca.
    0
  4. djkerry1987 Messages postés 56 Date d'inscription   Statut Membre 5
     
    toujours pas....
    j'ai éssayé avec :
    $quete = mysql_query('SELECT * FROM djs WHERE id ="'.mysql_real_escape_string($nid).'"');

    meme résultat mais est le probleme n'est pas dans le lien :
    <a href="biblio.php?id=<?php echo "3"; ?>">machin</a>
    ou bien
    <a href="biblio.php?id=4">truc</a>
    et aussi les liens sont sur biblio.php et renvoient a un autre appel mais toujours sur biblio.php n'est ce pas un soucis également???
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. djflexlive Messages postés 577 Statut Membre 95
     
    Essayes de t'exprimer un peu mieux, ce n'est pas compréhensible parfois ; donc pas pratique pour t'aider ...

    Disons la page biblio comme je la vois : (fais ceci et donne les résultats)

    <a href="biblio.php?id=<?php echo '3'; ?>">machin</a>
    <a href="biblio.php?id=4">truc</a>

    <?php
    //Le reste s'execute si il y'a un id present dans le lien

    if ( !empty($_GET['id']) ) {

    //Juste pour voir le $nid
    echo $nid= $_GET['id'];

    //connexion bdd

    mysql_connect("localhost", "root", "");//connexion a sql
    mysql_select_db("scratchin");

    //requete
    $quete = mysql_query(" SELECT * FROM dj WHERE id = '$nid' ");

    //classement de la requete
    while ($donnees = mysql_fetch_array($quete));
    {
    $don = $donnees['pseudo'];
    $txt = $donnees['texte'];
    $photo = $donnees['img'];
    $id=$donnees['id'];
    ?>

    DJ <?php echo $donnees;?>
    bio <?php
    echo $txt;
    echo $photo;
    echo '<br>';

    }
    mysql_close();
    }
    ?>
    0
  7. djkerry1987 Messages postés 56 Date d'inscription   Statut Membre 5
     
    donc,
    ca recupere bien l'id dans l'url echo $nid fonctionne donc maintenant c'est peut etre un probleme de quotes dans mysql_query???
    0
  8. djflexlive Messages postés 577 Statut Membre 95
     
    while ($donnees = mysql_fetch_array($quete));
    {
    ...

    Vires le " ; " dans la première ligne.

    Apres ca doit fonctionner ;) Si ca ne fonctionne pas, c'est que les parametre de connexions à la base sql ne sont pas les bons ;)

    Sur ce je te laisse, je pars au boulot :(

    Penses à mettre "résolu" pour le topic ;)

    Nb : pour une recherche unique , comme la tienne ; pas besoin de la boucle while (condition) {execution} qui en gros réalise : "tant que (condition) { alors }
    Pour cela :

    $quete = blabla;
    $donnees = mysql_fetch_array($quete);
    $don = ....

    mysql_close();
    0
  9. djkerry1987 Messages postés 56 Date d'inscription   Statut Membre 5
     
    enfin!!! merci bien pour cette aide
    0