Probleme de requete en php et sql

romsrc -  
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
voici une partie de mon code:


$query="SELECT * FROM table_poids_ec ORDER BY `FID_BOUCLE` DESC";
$result=mysql_query($query);
while ($donnees = mysql_fetch_assoc($result) )
{


// ID_POIDS_EC
$gr++;
echo "<table><tr>";
echo "<td class='type'></td>";
echo "<td class='animal'>".$donnees['FID_BOUCLE']. "</td>";
echo "<td class='poid'>".$donnees['COL_POIDS_EC']." kg</td>";
echo "<td class='ec'>".$donnees['COL_EC']."</td>";
echo "<td class='jour'>".$donnees['COL_DATE_POIDS_EC']."</td>";

//if($donnees['FID_BOUCLE']!= de la donnée FID_boucle suivante)
{....}


}

je sais pas si je suis bien clair avec mon petit commentaire final mais en gros j'aimerai rajouté un formulaire
que a la dernière valeur identique de FID_BOUCLE mais je sais pas quel code mettre pour avoir la valeur suivante de la clé.

2 réponses

Yoan Messages postés 11795 Date d'inscription   Statut Modérateur Dernière intervention   2 331
 
Il faut que tu travailles dans l'autre sens : commence par lire la valeur de FID_BOUCLE courante, stocke-la dans une variable $FID_precedent (initialisée à NULL avant la boucle) et au coup suivant tu vérifieras ta condition.

Mais tout dépend ce que tu veux faire, ça n'est pas forcément possible de travailler dans cet "autre sens". Ca dépend de ce qu'il y a dans le {....}.
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Une autre solution:

stocker les valeurs dans un array car dans la boucle while tu ne peux pas "lire" ce qu'il y a après

et au moment de l'affichage l'array (a 2 dimensions) te permet de faire ce que tu veux

$query="SELECT * FROM table_poids_ec ORDER BY `FID_BOUCLE` DESC";
$result=mysql_query($query);
$array_donnees=array(); //init array dans lequel on va stocker les donnnes pour pouvoir comparer
while ($donnees = mysql_fetch_assoc($result) )
{
//on empile dans un array a deux dimensions 
$array_donnees[]=array('FID_BOUCLE'=$donnees['FID_BOUCLE'],'COL_POIDS_EC'=$donnees['COL_POIDS_EC'],'COL_EC'=$donnees['COL_EC'],'COL_DATE_POIDS_EC'=$donnees['COL_DATE_POIDS_EC']);
}

//affichage

foreach( $array_donnees as $cle=>$value)
// ID_POIDS_EC
$gr++; // ça sert à quoi ?
echo "<table><tr>";
echo "<td class='type'></td>";
echo "<td class='animal'>".$value['FID_BOUCLE']. "</td>";
echo "<td class='poid'>".$value['COL_POIDS_EC']." kg</td>";
echo "<td class='ec'>".$value['COL_EC']."</td>";
echo "<td class='jour'>".$value['COL_DATE_POIDS_EC']."</td>";

if($value['FID_BOUCLE']!= $array_donnees[$cle+1]['FID_BOUCLE']) // dans un array on peut lire ce qu'il y a dans la cle suivante sans pb
{....}
0