variables non renseignée : list() = mysql_fetch_row() ?

Eléphant du PHP | 231 Messages

07 juil. 2005, 12:23

function simulation()
{
  $req_select = mysql_query("SELECT id, type FROM attaques ORDER BY h_arrivee") or die("l.33 - req_simu<br>".mysql_error());
  while (list($id, $type) = mysql_fetch_row($req_select));
  {
	echo("$id, $type");
	if($type == 1)
	{
	  include("simulation_type1.php");
	  $req_del = mysql_query("DELETE FROM attaques WHERE id = ".$id."") or die("l.41 - req_del<br>".mysql_error());
	  simulation();
	}
	//if($type == 2) include("simulation_type2.php");
	if($type == 3)
	{
	  include("simulation_type3.php");
	  $req_del = mysql_query("DELETE FROM attaques WHERE id = ".$id."") or die("l.48 - req_del<br>".mysql_error());
	  simulation();
	}
  }
}
simulation();
le echo retourne juste une virgule ...
alors que lorsque j'execute ma requete directement en mysql ...
Image

pouriez vous m'aider

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

07 juil. 2005, 12:32

Mais d'où sortent les variables $id et $type ??

Eléphant du PHP | 231 Messages

07 juil. 2005, 22:05

de la premiere ligne de la requete :roll:

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

08 juil. 2005, 09:42

function simulation()
{
  $req_select = mysql_query("SELECT id, type FROM attaques ORDER BY h_arrivee") or die("l.33 - req_simu<br>".mysql_error());
  while (list($id, $type) = mysql_fetch_row($req_select));
  {
	echo("$id, $type");
   }
}
de la premiere ligne de la requete :roll:
Ma question n'était pas si idiote...
Je ne comprends pas comment tu traites les résultats de ta requête, mais quelque chose me dit que c'est là que ça cloche.

Habituellement on fait :
$var = mysql_fetch_row($result);
et on accède aux différentes colonnes par le tableau $var, par exemple :

$var[0] // premiere colonne
$var[1] // seconde colonne
Là tu choisis d'utiliser la fonction list(). Bon. Pourquoi pas. Mais peut-être avec une étape intermédiaire, ça fonctionnerait mieux. (Peut-être manque-t-il juste des paranthèses) ?

Dis ce que ce code fait et je continue à chercher pour toi.

 $req_select = mysql_query("SELECT id, type FROM attaques ORDER BY h_arrivee") or die("l.33 - req_simu<br>".mysql_error());
  while ($row = mysql_fetch_row($req_select));
  {
list($id, $type) = $row;
	echo $id.", ".$type;
   }
Modifié en dernier par mere-teresa le 08 juil. 2005, 09:59, modifié 2 fois.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

08 juil. 2005, 09:53

j'ai utilisé pendant longtemps ce système et ça marchait très bien
c'est moins pratique un mysql_fetch_array mais ça marche quand me^me
  while (list($id, $type) = mysql_fetch_row($req_select)); 
donc il doit y avoir un problème quelque part effectivement mais je pense pas sur ce truc

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

08 juil. 2005, 10:10

Ce doit être les parenthèses sur le echo :)
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.