Pb requete SQL.

Résolu
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 - 11 janv. 2006 à 16:42
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 11 janv. 2006 à 18:06
Bonjour a tout le monde et spécialement a une personne a qui je dois deja plusieurs coups ;)



Voila j'ai une table MySQL qui est composé comme ceci

valeur1| valeur2|valeur3|nb_typ



dans cette table j'ai 500enregistrements

qui sont comme ceci il ya 50 types de 1 a 50 et 10 enregistrements par type(donc bien 500)



je cherche a faire une requete et ecrire les valeurs a la suite les unes des autres

en cherchant par type.



voila ce que j'ai fait:



<?php

require_once('connexion.php');

require_once('connect_mysql.php');

require_once('cod_para.php');

mysql_select_db($database, $dbconnect);

$requete = "SELECT * FROM spt_prod WHERE nb_type=".$_POST['nb_type'];

mysql_select_db($database, $dbconnect);

$result = mysql_query($requete, $dbconnect) or die(mysql_error());

$retour = mysql_fetch_array($result);

mysql_close();

for ($i=0;$i<130;$i++)

{

echo $retour[$i].":";

}

?>



et ca marche pour ma premiere ligne et ensuite il vrille....

comment faire pr recupérer les valeurs des 10lignes d'enregistrements d'un meme type?

Merci pr votre aide future...

8 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
11 janv. 2006 à 17:49
Ben c'est normal, donc. le while va chercher CHAQUE ligne, pas la TOTALITE d'un coup.
Donc, tu as un x lignes, ayant chacune 13 entrées, ok ?


Ton while va chercher les 13 1ères, les met dans un tableau $retour, qui va de 0 à 12 logiquement.


Puisil va chercher les 13 suivantes (2ème ligne), et réinitialise ton tableau $retour, qui va de nouveau de 0 à 12.


tu saisis ?


Bref :
mysql_close();
while ($retour = mysql_fetch_row($result)) {
for ($i=0;$i<13;$i++)
{
echo $retour[$i].":";
}
}
3
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
11 janv. 2006 à 16:46
voici l'erreur:

0:0:0:0:0:0:0:0:0:0:0:0:0:3:


Notice: Undefined offset: 14 in c:\program files\easyphp1-7\www\change_spt.php on line 13


:


Notice: Undefined offset: 15 in c:\program files\easyphp1-7\www\change_spt.php on line 13


:


Notice: Undefined offset: 16 in c:\program files\easyphp1-7\www\change_spt.php on line 13


:


Notice: Undefined offset: 17 in c:\program files\easyphp1-7\www\change_spt.php on line 13


:

etc...etc.....
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
11 janv. 2006 à 17:01
hello Latata,

montre la structure de ta table, je ne suis pas sûr d'avoir pigé.

Tu sais, du genre :
table tbl_test
test_id int 10 unsigned auto-increment
test_libelle varchar 50

etc...

si j'ai une table personnes avec les champs nom et prenom et nb_personne, et 3 lignes :

Dupont Robert 1
Durand Paul 2
Dugland Eric 3

ok ?

J'ai 3 lignes (3 enregistrements).

si je fais un fetch_row (plutôt que array d'ailleurs), et que j'ai la flemme de faire $res[0], $res[1] et $res[2], ça donne :
while ($res = mysql_fetch_row ($requete)) {
for ($i = 0; $i < 3; $i ++) {echo $res[$i];}
}

j'ai bien 3 lignes et pas 3 * 3 = 9, hein ?
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
11 janv. 2006 à 17:20
structure:

j'ai 12champs float

val1 float

val2 float

..........

val12float

nb_type int



et ca donne ca ensuite:

on va dire que j'ai que 2 types et 3enregistrements de chaque

12|15|8|1

14|21|25|1

0|2|15|1

21|5|98|2

20|54|06|2

3|8|11|2



et moi qd je fais ma requete et je veux tout ceux qui sont de type 1

je veux avoir 12:15:8:14:21:25:0:2:15:

mais

il me donne ca

12:15:8:

et
Notice: Undefined offset: 14 in c:\program files\easyphp1-7\www\change_spt.php on line 13
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
11 janv. 2006 à 17:43
je veux recup' toutes les lignes qui ont le meme type....
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
11 janv. 2006 à 17:49
je te laisse peaufiner :-)
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
11 janv. 2006 à 17:58
je vois pas ou es l'astuce la?
ca va le faire pr la ligne une mais apres pr la deux et trois?
en fait j'ai 10lignes a chaque fois
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
11 janv. 2006 à 18:06
Xwhile () boucle sur chaque ligne récupérée par ta requête.
le for() va boucler sur le tableau $retour, rempli par ta requête.
Définis ton $i en fonction de ce que tu veux aller chercher.
Si tu as un undefined offset, c'est que ton $i est trop grand et accède à un index du tableau qui n'existe pas.

je dois rentrer, lol, continue tout seul ou attends une autre aide ;-)
Mais essaye ce code, tu verras, ça devrait marcher.

Bonne soirée :-)
0
Rejoignez-nous