JeuWeb - Crée ton jeu par navigateur
[Résolu] Problème avec while et <option> - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Résolu] Problème avec while et <option> (/showthread.php?tid=3618)

Pages : 1 2


[Résolu] Problème avec while et <option> - Faelnor - 31-01-2009




RE: probleme avec while et <option> - Kwest - 31-01-2009

Citation :while ($quantite <= $requete1['quantite'] and $quantite<=300)
pour and $quantite il faut mettre AND en majuscules. Je ne suis pas sur que c'est le problème mais essaye quand même.


RE: probleme avec while et <option> - Ruz - 31-01-2009

Code PHP :
<?php 
$query
='SELECT `quantite` FROM `inventaire` WHERE `id_objet`="'.$iid.'" AND `id_membre`="'.$id.'"';
$requete=mysql_query($query) or die ('Erreur SQL : '.$query.'<br />'.mysql_error());
if(
mysql_num_rows($requete)>0)
{
$result = mysql_fetch_assoc($requete);
$quantite=0;
while (
$quantite <= $result['quantite'] && $quantite<=300)
{
echo
'<option value="'.$quantite.'">'.$quantite.'</option>';
$quantite++;
}
}
else{echo
'<option>aucun résultat retourné</option>';}
echo
'</select>';
echo
'</td>';

euh, je veux pas t'embeter, mais ce code là, il est pas clair et incomplet...
des variables qui ne sont pas initialisées (a priori, tu le dis pas, je considère que non), d'autres qui correspondent à rien ($query), aucun test de validité des requetes, aucune protection des noms de champs... une seule ligne retournée, je suppose? (j'ai pris ca comme base). Tu fermes pas tes balises (select), un td qui ferme, on a pas l'ouvrant... portion de code OK, mais coupé un peu court...
enfin, bref, j'ai nettoyé/réorganisé/complété comme ca est supposé etre selon ma conception des choses. (en imaginant l'utilisation et ce qu'il doit y avoir avant)
D'autre part "and" ne me semble pas utilisable en condition d'un while...

en gros, maintenant que ce code commence à ressembler à quelque chose de clair : tu cherches à faire quoi?
un menu déroulant avec une liste des quantités inférieures au stock d'un seul et unique objet appartenant à un membre (avec max 300)?

J'ai bon? des astuces à faire gaffe?


RE: probleme avec while et <option> - Kwest - 31-01-2009

Je pense qu'il à juste prit la portion de code qui buggait.
(et dans "while ($quantite <= $result['quantite'] && $quantite<=300)" t'aurais put mettre AND pour me faire plaisir^^)


RE: probleme avec while et <option> - Ruz - 31-01-2009

"AND" (en majuscules) fonctionne en condition d'un while???
Bah, vais vérifier, mais si c'est le cas, ben, j'aurai appris quelque chose ^^

Sinon, pour la portion de code, ben, oui, j'ai compris, mais là, ben, ca me semble un peu "court" comme portion...
perso, j'aurai pris tout entre le <td> et le </td>... et là, je dois voir toutes mes variables avec initialisation ^^ (et meme le <select> en fait ^^)
EDIT: j'ai rien dis pour le "and" (minuscules)... là, je viens d'apprendre un truc!
Par contre, rien vu concernant ce mot en majuscules...


RE: probleme avec while et <option> - Sephi-Chan - 31-01-2009

C'est en partie pour ça qu'il vaut mieux utiliser les symboles && et || en lieu et place des mots clés. Smile
Bon, ensuite pour ta condition, as-tu fais un dump de la du tableau $requet1 ? Si oui, qu'est-ce qu'il retourne. Sinon, fais-le.


Sephi-Chan


RE: probleme avec while et <option> - Ruz - 31-01-2009

"Bon, ensuite pour ta condition, as-tu fais un dump de la du tableau $requet1 ? Si oui, qu'est-ce qu'il retourne. Sinon, fais-le."

Keskidi???

EDIT: c'est ma journée!!
Ah, ben, bon, 2 trucs appris... dire que je faisais tjs ca manuellement...


RE: probleme avec while et <option> - Faelnor - 01-02-2009

le tableau retourne parfaitement les valeur, si je ne met pas la limitation de 300 sa bug et sa affiche rien si je dépasse un certain nombre


Pour le $query qui ne "sert a rien" il me permet juste d'avoir une description des erreur mysql plus précise dans certain cas.

toute mes variable sont bien initialisé.

le problème du code viens juste du while.
mais vu certaine réponse qui critique parce que le code n'est pas comme lui il le veut je pense que je vais me débrouiller tout seul.........


RE: probleme avec while et <option> - jo_link_noir - 01-02-2009

Avoue quand même que tu à oublier de fermer le select et le code de ruz et beaucoup plus clair que le tien, franchement, prend exemple dessus. Et par curiosité tu met quoi dans le query ?

A pars ça, y a pas de message d'erreur ? Quel est la valeur de $quantité ? La valeur de requete1 ? A quel nombre ça bug ? Et en fessant ctrl+U, ça n'est pas marquer ? Des fois le texte est marquer mais avec une balise mal fermer, il n'apparaît pas.

_______
Sephi-Chan, pourquoi utilisais && et || au lieu de or et and, je comprend pas bien Confused


RE: [Résolu] Problème avec while et <option> - Sephi-Chan - 01-02-2009

(01-02-2009, 01:15 AM)Faelnor a écrit : le problème du code viens juste du while.
mais vu certaine réponse qui critique parce que le code n'est pas comme lui il le veut je pense que je vais me débrouiller tout seul.........
Il ne faut pas se vexer pour si peu, surtout que les critiques étaient plutôt justifiées.
Tout le monde a déjà pondu du code un peu brouillon. Smile

De même, n'oublie pas que dans SQL, les apostrophes n'encadrent que les chaînes de caractères et les dates. Smile
$query = "SELECT `quantite` FROM `inventaire` WHERE `id_objet` = $iid AND `id_membre` = $id;";

Finalement, comment as-tu résolu le problème ?


(01-02-2009, 01:52 AM)j-12 a écrit : Sephi-Chan, pourquoi utilisais && et || au lieu de or et and, je comprend pas bien Confused
Parce qu'il y a des différences de priorité (cf. php.net - La précédence des opérateurs) et parce que ce sont les symboles utilisés dans la majorité des langages (un peu d'uniformité ne peut pas faire de mal, surtout à PHP), et également pour éviter de se poser la question de la casse des mots. Smile


Sephi-Chan