pb avec while ($a = mysql_fetch_array($b))

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : pb avec while ($a = mysql_fetch_array($b))

par lamk » 11 mai 2005, 17:53

tu m'as mis sur la piste, c'est l'essentiel :)

par rami » 11 mai 2005, 17:39

Oui autant pour moi je me suis planté.
:oops:

par lamk » 11 mai 2005, 17:38

ça fonctionne avec extract()....... eh ben gros mystère là !!!!!
par contre j'ai du mettre extract($r) et non extract(r_prod) :wink:
merci à vous !!!

par lamk » 11 mai 2005, 17:28

Deja pour rendre ton code plus propre je te conseille la fonction extract , surtout si t'as bcp de champ ds ta table, ce qui a l'air d'etre le cas.

ex:

Code : Tout sélectionner

$prod = "SELECT * FROM produit WHERE p_nom='".$_POST['liste']."' ORDER BY p_nom ASC"; $r_prod=mysql_query("$prod") or die("Invalid query : ".mysql_error()); while ($r = mysql_fetch_array($r_prod)) { //extract va te créer les variables ayant pour nom celui du champ dans la table extract($r_prod); }

;)
trop cool ça, je test ça de suite, merci rami

par lamk » 11 mai 2005, 17:27

C'est quoi le nom de cette colonne ?
p_ato_315
ou $r[18]
ou $r_ato_315

par rami » 11 mai 2005, 17:25

Deja pour rendre ton code plus propre je te conseille la fonction extract , surtout si t'as bcp de champ ds ta table, ce qui a l'air d'etre le cas.

ex:

Code : Tout sélectionner

$prod = "SELECT * FROM produit WHERE p_nom='".$_POST['liste']."' ORDER BY p_nom ASC"; $r_prod=mysql_query("$prod") or die("Invalid query : ".mysql_error()); while ($r = mysql_fetch_array($r_prod)) { //extract va te créer les variables ayant pour nom celui du champ dans la table extract($r_prod); }

;)

par zeus » 11 mai 2005, 17:25

C'est quoi le nom de cette colonne ?

par lamk » 11 mai 2005, 17:21

non il y a rien d'incorrect, il n'y qu'une valeur numérique... :(

par zeus » 11 mai 2005, 17:20

Verifie dans ta bdd si l'enregistrement 18 ne contient pas des caractères spéciaux ou des co...ries dans ce genres

par lamk » 11 mai 2005, 17:17

$prod = "SELECT * FROM produit WHERE p_nom='".$_POST['liste']."' ORDER BY p_nom ASC";
$r_prod=mysql_query("$prod") or die("Invalid query : ".mysql_error());
while ($r = mysql_fetch_array($r_prod))
{
$r_nom = $r[0];	$r_ref = $r[1];
$r_datec = $r[2]; $r_dated = $r[3]; $r_datem1 = $r[4]; $r_datem2 = $r[5]; $r_datem3 = $r[6];$r_ao_125 = $r[7]; $r_ao_250 = $r[8]; $r_ao_500 = $r[9]; $r_ao_1000 = $r[10]; $r_ao_2000 = $r[11]; $r_ao_4000 = $r[12];$r_ato_100 = $r[13]; $r_ato_125 = $r[14]; $r_ato_160 = $r[15]; $r_ato_200 = $r[16]; $r_ato_250 = $r[17]; $r_ato_315 = $r[18];$r_ato_400 = $r[19]; $r_ato_500 = $r[20]; $r_ato_630 = $r[21]; $r_ato_800 = $r[22]; $r_ato_1000 = $r[23]; $r_ato_1250 = $r[24];$r_ato_1600 = $r[25]; $r_ato_2000 = $r[26]; $r_ato_2500 = $r[27]; $r_ato_3150 = $r[28]; $r_ato_4000 = $r[29]; $r_ato_5000 = $r[30];
......}

p_nom varchar(100)
p_ref varchar(100)
p_datec date Non 0000-00-00
p_dated date Oui NULL
p_datem1 date Oui NULL
p_datem2 date Oui NULL
p_datem3 date Oui NULL
p_ao_125 float Oui NULL
p_ao_250 float Oui NULL
p_ao_500 float Oui NULL
p_ao_1000 float Oui NULL
p_ao_2000 float Oui NULL
p_ao_4000 float Oui NULL
p_ato_100 float Oui NULL
p_ato_125 float Oui NULL
p_ato_160 float Oui NULL
.....


en gros c'est ça, je vais pas tout mettre, ça serait trop long
ce qui est bizarre c'est que j'arrive à affiche jusqu'à $r[18]...

par lamk » 11 mai 2005, 17:11

merci, mais j'avais déjà regardé la dessus :)

par zeus » 11 mai 2005, 17:11

Donne nous la conception de ta bdd et le bout de code qui bloque stp

par slipndi » 11 mai 2005, 17:10

J'ai jeter un oeil sur le site de php et nul part il est écrit qu'il y a une restriction de se genre donc le problème doit venir d'ailleur, mais de ou ?!

je te laisse regarder :

http://fr.php.net/manual/fr/function.my ... -array.php

voila ;)

par lamk » 11 mai 2005, 17:08

ah ben c'est le fait que le champ soit vide alors , vu qu'il est vide il detecte cela comme la fin de la bdd et arete le listage, si tu met une valeur même si c'est 0 ca continuera je pense !
je viens de vérifier, la valeur par défaut est 0.... donc il n'était pas vide en fait

par lamk » 11 mai 2005, 17:07

non non pas du tout, il y en plein (plein) derrière..