Probleme php/mysql

wyllos Messages postés 165 Statut Membre -  
Alain_42 Messages postés 5413 Statut Membre -
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



--

window XP

3 réponses

  1. ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   342
     
    Pense à afficher ton SQL avant de l'exécuter. Peux-tu nous donner la partie du code concernée au complet ?
    0
  2. wyllos Messages postés 165 Statut Membre 5
     
    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
  3. Alain_42 Messages postés 5413 Statut Membre 904
     
    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