Erreur boucle Php/mysql
Résolu
alphonse
-
le père -
le père -
Bonjour, Qu'est ce qui cloche là dessus et pourquoi ? On m'indique une erreur... Je pense que mon erreur vient de $hdispo[$champs[0]] = $champs[1]; ... Mais j'ai pas compris l'utilité de ce morceau...
$sql = "SELECT titre, count(*) FROM questionaire GROUP BY hdispo";
$result = mysql_query($sql);
foreach( $champs = mysql_fetch_row($result)){
$hdispo[$champs[0]] = $champs[1];
}
$matin = $hdispo['matin'];
$aprem = $hdispo['apres-midi'];
$soir = $hdispo['soir'];
$sql = "SELECT titre, count(*) FROM questionaire GROUP BY hdispo";
$result = mysql_query($sql);
foreach( $champs = mysql_fetch_row($result)){
$hdispo[$champs[0]] = $champs[1];
}
$matin = $hdispo['matin'];
$aprem = $hdispo['apres-midi'];
$soir = $hdispo['soir'];
14 réponses
-
-
-
-
Oups... en effet, grosse erreur que je n'avais même pas vue
pas foreach, mais while...
while( $champs = mysql_fetch_row($result)) -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
merci ... Mais sa me remplace l'erreur par :
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in j:\site\easyphp1-8\www\site1\index.php on line 96
Notice: Undefined variable: hdispo in j:\site\easyphp1-8\www\site1\index.php on line 99
Notice: Undefined variable: hdispo in j:\site\easyphp1-8\www\site1\index.php on line 100
Notice: Undefined variable: hdispo in j:\site\easyphp1-8\www\site1\index.php on line 101
??? -
Il fallait s'y attendre :-)
$result = mysql_query($sql) or die(mysql_error());
pour savoir d'où vient l'erreur. -
Oups, une petite erreur de frappe dans ma table SQL ... Ce n'était pas titre mais hdispo dans SELECT...
Par contre sa me laisse :
Notice: Undefined variable: hdispo in j:\info gestion\easyphp1-8\www\fixie\index.php on line 99
Notice: Undefined variable: hdispo in j:\info gestion\easyphp1-8\www\fixie\index.php on line 100
Notice: Undefined variable: hdispo in j:\info gestion\easyphp1-8\www\fixie\index.php on line 101
C'est à dire :
$matin = $hdispo['matin'];
$aprem = $hdispo['apres-midi'];
$soir = $hdispo['soir'];
Normalement sa devrait etre 0... Comme il n'y a pas encore de "matin" "apres-midi" "soir" dans la BDD -
S'il n'y a pas encore de 'matin' etc.. dans ta base, on n'est jamais entré dans la boucle while et donc la variable $hdispo n'a jamais été créée, puis qu'elle est créée dans cette boucle. Donc l'erreur que tu vois est parfaitement normale.
Si tu veux l'éviter, initialise au début de ton script $hdispo['matin']=0; (idem pour apres-midi et soir) -
J'ai remplit ma BDD et en effet sa marche ... Il n'y a pas une fonction du genre ? :
:
If $matin is null = 0 ...
???
Mettre
$hdispo['matin']=0
$hdispo['apres-midi']=0
$hdispo['soir']=0
Sa pose problème ... -
-
Pas facile a utiliser cet isset... D'après : http://www.manuelphp.com/php/function.isset.php Moi je voulais en False...
If (isset($hdispo['matin']))
{
echo ==> Seulement si la valeur est right.
}
Alors je vais faire :
, initialise au début de ton script $hdispo['matin']=0;
Mais sa marche pas... Bon je réfléchirais demain...
Merci le père pour ton aide précieuse. -
Moi je voulais en False
????
tu ne sais pas inverser une condition de PHP avec ! :
If ( ! isset($hdispo['matin']))
{
echo ==> Seulement si la valeur est false.
}
ou alors je n'ai pas compris ce que tu voulais dire ... -
Non je ne savais pas inverser une condition. Dans ce cas, je comprend mieux la fonction de !isset...
-
Non je ne savais pas inverser une condition
Ouh la la ! laisse tout tomber (provisoirement) et lis un petit tuto sur le PHP, parce que là, c'est quand même une grosse lacune !
Au passage, tu pouvais obtenir le même effet avec un 'else'.
Bon courage pour la suite