Page 1 sur 1

reinitialisation tableau

Posté : 28 juin 2005, 13:30
par laTulipe
bonjour,

je voudrais replacer le pointeur d'un tableau sur son premier element.
le tableau est du type

Code : Tout sélectionner

$row=mysql_fetch_assoc($result)
.

ca marche pas avec reset($row), il me dit que la variable transmise n'est pas un tableau.

comment faire?????
merci

Posté : 28 juin 2005, 13:40
par zeus
Je ne comprend pas très bien ta question :shock:

Tu voudrais que en refaisant mysql_fetch_assoc() tu te retrouve au 1er enregistrement retourné ou bien revenir à la premiere ligne du tableau que tu as récupérer avec mysql_fetch_assoc() ?

Posté : 28 juin 2005, 13:50
par laTulipe
je voudrais reutiliser mon resultat avec mysql_fetch_assoc et donc me retrouver au 1er enregistrement a nouveau

Posté : 28 juin 2005, 14:04
par zeus
regarde du côté de mysql_data_seek()

Posté : 28 juin 2005, 14:18
par laTulipe
ca semble rouler. je sais pas si mon code est super optimisé mais ca marche.
merci zeus

Posté : 28 juin 2005, 14:19
par zeus
Fait voir, je te donnerais mon avis 8)

Posté : 28 juin 2005, 14:26
par laTulipe
je sais pas si tu vas t'y retrouver, c'est un peu bordelique.
ce qui me semble pas tres performant c'est que je fais 2 requetes sur la meme table que j'imbrique ensuite.
le but est de rassembler des articles appartenant à un meme sujet(dossier).

	$query="select dossier, categorie, titre, sous_titre, auteur, chapeau, photo6 from article where revueID=".$id.";";
	$query2="select dossier from article where revueID=".$id.";";
	$result= mysql_query($query,$link);
	$result2=mysql_query($query2,$link);
	while ($row2=mysql_fetch_assoc($result2)){
		if($row2["dossier"]!=""){
			echo "<table width=\"500\">\n<tr>\n";
			echo "<td align=\"left\">dossier</td><td align=\"right\">".$row2["dossier"]."</td>";
			while ($row=mysql_fetch_assoc($result)){
				if($row["dossier"]!=""){
					echo "<tr><td colspan=\"2\">".$row["categorie"]."</td></tr>";
					echo "<tr><td colspan=\"2\">".$row["titre"]." ".$row["auteur"]."</td></tr>";
					echo "<tr><td colspan=\"2\">".$row["chapeau"]."...<a href=\"#\">voir la suite</a></td>\n</tr>\n";
					echo "</table>";
				}
			}
		}
	}
	mysql_data_seek($result,0);
	while ($row=mysql_fetch_assoc($result)){
		if($row["dossier"]==""){
			echo "<table width=\"500\"><tr><td>".$row["categorie"]."</td></tr><tr><td>".$row["titre"]." ".$row["auteur"]."</td></tr>";
			echo "<tr><td colspan=\"2\">".$row["chapeau"]."...<a href=\"#\">voir la suite</a></td></tr></table>";
		}
	}
	mysql_free_result($result);
	mysql_free_result($result2);
}

Posté : 28 juin 2005, 14:48
par zeus
Je vois ce que tu veux faire et je pense comme toi, que tu n'as pas à faire 2 requete.

Je regarderais si j'ai le temps comment l'optimiser ... 8)

Posté : 28 juin 2005, 14:58
par laTulipe
ok
la je seche, j'ai passe la matinee dessus et pas trouver de solution