Probleme php/mysql
wyllos
Messages postés
165
Statut
Membre
-
Alain_42 Messages postés 5413 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:
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 :
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 :
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
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
-
Pense à afficher ton SQL avant de l'exécuter. Peux-tu nous donner la partie du code concernée au complet ?
-
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 -
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> '; //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> ';//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