PHP MySQL n'affiche pas du 1er enregistrement

Résolu
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   -  
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous !

Je ne comprends pas pourquoi ce bout de code n'affiche pas le premier enregistrement de ma table. Pouvez-vous m'aider svp ?

<?php
$db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS); mysql_select_db(MYSQL_BASE,$db);
$sqlfr = 'SELECT * FROM tb_produits WHERE Homme= "1" ';
$reqfr = mysql_query($sqlfr) or die('Erreur SQL !<br>'.$sqlfr.'<br>'.mysql_error());
$datafr = mysql_fetch_assoc($reqfr);{
while($datafr = mysql_fetch_assoc($reqfr)) {
echo utf8_encode($datafr['Designation']);
}}; ?>

Merci d'avance !

4 réponses

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    tu n'as pas trop compris le principe de requette mysql, voir commentaire:

    <?php
    $db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS); mysql_select_db(MYSQL_BASE,$db);
    $sqlfr = 'SELECT * FROM tb_produits WHERE Homme= "1" ';
    $reqfr = mysql_query($sqlfr) or die('Erreur SQL !<br>'.$sqlfr.'<br>'.mysql_error());
    //pourquoi deux fois mysql_fetch_assoc ?
    //le premier "extrait " la première ligne, et déplace le pointeur en ligne 2, donc ta boucle while "extrait" seulment à partir de la ligne 2
    //$datafr = mysql_fetch_assoc($reqfr);{
    while($datafr = mysql_fetch_assoc($reqfr)) {
    	echo utf8_encode($datafr['Designation']);
    }
    
    //}; 
    
    ?>
    1
  2. BlackYoup Messages postés 184 Statut Membre 20
     
    Salut,

    'SELECT * FROM tb_produits WHERE Homme= "1" ';
    Pour ton 1er enregistrement, la valeur Homme est bien égale à 1 ?

    Bonne soirée :)
    0
    1. Sinistrus
       
      Oui, la valeur est bien égalé à 1
      0
  3. Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
     
    Je ne comprends pas, l'enregistrement
    1, 2, 3, 4, 14, 16, 17
    sont de valeur Homme="1"

    L'enregistrement
    2, 3, 4, 14, 16, 17
    mais pas le "1".
    Je ne comprends pas pourquoi !
    0
  4. Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
     
    Je comprends mieux.
    Merci pour ton coup de main Alain_42
    0