Utilisation de Foreach

Utilisation de Foreach - PHP - Programmation

Marsh Posté le 20-07-2006 à 15:41:27    

Bonjour,  
Quelqu'un connait-il comment utiliser foreach afin de comparer des lignes successives d'un résultat issu d'une requête?

Code :
  1. $sql_table=sprintf("SELECT * FROM Tsrv_serveur WHERE Mac='%s' GROUP BY Heure ASC", $Mac);
  2.  $result_table=mysql_query($sql_table) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
  3. while($row_table=mysql_fetch_array($result_table))
  4. {
  5.    $valeur[i]=$row_table['Etat_serv'];
  6.    $duration[i]=$row_table['Heure'];
  7.    foreach(($valeur as $value) and ($duration as $dure)
  8.    {
  9.       if(strcmp($value[i],$value[i+1])==0)
  10.       {
  11.           $time=temps_ecoule($dure[i+1],$dure[i])+$time;
  12.       }
  13.       else
  14.       {
  15.           $time=temps_ecoule($dure[i+1],$dure[i]);
  16.       }
  17.    }


 
Qu'en pensez-vous?
Merci


---------------
Merci
Reply

Marsh Posté le 20-07-2006 à 15:41:27   

Reply

Marsh Posté le 20-07-2006 à 17:22:06    

Personne pour me corriger le problème s'il vous plaît?
Merci


---------------
Merci
Reply

Marsh Posté le 20-07-2006 à 17:41:53    

- tu mélanges $valeur et $value
- tu utilises un 'i' comme indice de tes tableaux ( au lieu de $i?) comme si tu étais dans un for
- tu cherches à comparer 'avec le futur' ( indice + 1) alors qu'il est souvent plus vacile de comparer 'avec le passé' indice précédent
- je sais pas trop a quoi te sert la variable time mais tu lui fait faire des choses bizarres ;)


Message édité par anapajari le 20-07-2006 à 17:42:16
Reply

Marsh Posté le 20-07-2006 à 17:54:31    

Ok!
$time est le résultat du de la différence entre deux dates. La fonction temps_ecoule réalise cela.
Donc si je faisait une comparaison de $value[i] et $value[i-1] cela irait mieux?
Merci


---------------
Merci
Reply

Marsh Posté le 20-07-2006 à 21:18:55    

C'est quoi ce "and" dans ton foreach? [:figti]  
 
Ton code n'a aucun sens... qu'essaies-tu de faire ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 21-07-2006 à 10:29:43    

Je sais que c'est faut et je souhaite que vous m'aidiez à trouver la bonne syntaxe.
Merci


---------------
Merci
Reply

Marsh Posté le 21-07-2006 à 12:01:52    

vinoromano a écrit :

Je sais que c'est faut et je souhaite que vous m'aidiez à trouver la bonne syntaxe.
Merci


 
C'est quoi i ? Une constante ? [:petrus75]

Reply

Marsh Posté le 21-07-2006 à 12:04:10    

vinoromano a écrit :

Je sais que c'est faut et je souhaite que vous m'aidiez à trouver la bonne syntaxe.
Merci


Lis la doc.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 21-07-2006 à 15:16:49    

vinoromano a écrit :

Je sais que c'est faut et je souhaite que vous m'aidiez à trouver la bonne syntaxe.
Merci


 
C'est pas seulement un problème de syntaxe, tu fais n'importe quoi.  
 
Enlève cette histoire de tableau qui ne sert à rien ( surtout si le foreach est dans la boucle while ) et garde juste un système de $valeur_actuelle comparé à $valeur_precedente
 
 
 


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed