Probleme php/mysql

Fermé
wyllos Messages postés 160 Date d'inscription dimanche 3 juin 2007 Statut Membre Dernière intervention 15 septembre 2011 - 12 sept. 2010 à 17:52
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 13 sept. 2010 à 09:56
Bonjour,

Cela fait un petit moment que je tourne autour de mon problème sans en trouver la solution. Auriez-vous une idée?

J'ai une requête sql qui est comme ceci:
"SELECT id, Product, titres,  fini, valide,livraison FROM product WHERE id = '321'" 

ce select me permet de récupérer la totalité des enregistrement de l'id=321 au niveau de l'affichage je veux afficher suivant la valeur de fini.

Donc je fais mon :
if($data['fini'] == 0){ echo...}else{echo...}

Le seul souci c'est que tous( les fini=0 et fini=1) s'affiche uniquement dans le else.

J'ai donc copier ma requette 2 fois avec :
$sql_pro="SELECT id, Product, titres,  fini, valide,livraison FROM product WHERE id = '321' AND fini=0"  
$req_pro = mysql_query($sql_pro);
$dat_pro = mysql_fetch_array($req_pro);

et ma seconde requête:

$sql_pro2="SELECT id, Product, titres,  fini, valide,livraison FROM product WHERE id = '321' AND fini=1" 
$req_pro2 = mysql_query($sql_pro2);
$dat_pro2 = mysql_fetch_array($req_pro2);



Tous les résultats s'affiche uniquement dans la seconde requête.
Par contre quand je copie dans mysql les requêtes de php mysql me retourne aucun élément lorsque je suis dans fini=1 et que je demande un produit dont fini=0.


Merci pour vos idées.

Wyllos


3 réponses

ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 339
12 sept. 2010 à 23:02
Pense à afficher ton SQL avant de l'exécuter. Peux-tu nous donner la partie du code concernée au complet ?
0
wyllos Messages postés 160 Date d'inscription dimanche 3 juin 2007 Statut Membre Dernière intervention 15 septembre 2011 5
Modifié par wyllos le 13/09/2010 à 09:48
Voila la partie de mon code:

//récupération des id produit pour l'utilisateur 
  $sql_rec = "SELECT id_produ FROM useprod WHERE id_user = '".$_SESSION["User"]."'"; 
  $req_rec = mysql_query($sql_rec); 

 while ($data = mysql_fetch_array($req_rec))  
{ 
    //echo "<pre>".$data['id_produ']."</pre>"; 
   $sql_pro = "SELECT id, Productitle, users,  fini, valide, delivered FROM product WHERE id = '".$data['id_produ']."'"; 
   $req_pro = mysql_query($sql_pro); 
   $dat_pro = mysql_fetch_array($req_pro); 

if($data['fini'] ==0) 
{ 
 echo '<div><h2>'.$data['users'].'</h2></div>'; 
 echo '<div>'.$data['Productitle'].'</div>'; 
       echo '<p><strong>Validation:</strong> if( $data['valide'] ==1 ){ echo "<img src="images/typo/cdok2.png" width:"24" />"; }else{ echo " <img src="images/typo/cdatt2.png" width:"26" />";} <p>'; 

 //la aucun affichage 

}else if($data['fini'] ==1) 
{ 
 echo '<div><h2>'.$data['users'].'</h2></div>'; 
 echo '<div>'.$data['Productitle'].'</div>'; 
echo '<p><strong>Validation:</strong> if( $data['valide'] ==1 ){ echo "<img src="images/typo/cdok1.png" width:"24" />"; }else{ echo " <img src="images/typo/cdatt1.png" width:"26" />";} <p>'; 

 //la affichage des 0 et des 1 

} 

} 


impossible de séparer pourtant ça devrait

window XP
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
13 sept. 2010 à 09:56
des erreurs, voir commentaires

quel editeur utilises tu ?
moi avec notepad++ j'ai vu des suite quelles lignes étaient mauvaises

//récupération des id produit pour l'utilisateur
  $sql_rec = "SELECT id_produ FROM useprod WHERE id_user = '".$_SESSION["User"]."'";
  $req_rec = mysql_query($sql_rec);

 while ($data = mysql_fetch_array($req_rec)) 
{
             //echo "<pre>".$data['id_produ']."</pre>";
            $sql_pro = "SELECT id, Productitle, users,  fini, valide, delivered FROM product WHERE id = '".$data['id_produ']."'";
            $req_pro = mysql_query($sql_pro);
            $dat_pro = mysql_fetch_array($req_pro);

    if($data['fini'] ==0)
    {
        echo '<div><h2>'.$data['users'].'</h2></div>';
        echo '<div>'.$data['Productitle'].'</div>';
       echo '<p><strong>Validation:</strong>&nbsp'; //il te manquait la ' a la fin de cette ligne
         if( $data['valide'] ==1 ){
            echo "<img src='images/typo/cdok2.png' width:'24' />"; 
         }else{ 
            echo " <img src='images/typo/cdatt2.png' width:'26' />";
         } 
         echo '<p>'; //la tu avait un <p> qui se baladait tout seul comme ça 

    //la aucun affichage

    }else if($data['fini'] ==1)
    {
        echo '<div><h2>'.$data['users'].'</h2></div>';
        echo '<div>'.$data['Productitle'].'</div>';
        echo '<p><strong>Validation:</strong>&nbsp';//il te manquait la ' a la fin de cette ligne
        if( $data['valide'] ==1 ){
            echo "<img src='images/typo/cdok1.png' width:'24' />"; 
        }else
        { echo " <img src='images/typo/cdatt1.png' width:'26' />";} 
        echo '<p>'; //la tu avait un <p> qui se baladait tout seul comme ça 

    //la affichage des 0 et des 1

}

}


tu pourrait aussi voir avec une seule requette et un petit AND dans la condition WHERE

$sql_pro = "SELECT id, Productitle, users,  fini, valide, delivered FROM product WHERE d_user = '".$_SESSION["User"]."' AND id = '".$data['id_produ']."'";


et mettre une boucle while si besoin uniquement sur le resultat de cette requette
0