problème avec requête SQL

Eléphanteau du PHP | 27 Messages

27 juin 2008, 11:10

Bonjour,

Ma requete ne me renvoie pas le premier enregistrement, mais elle renvoie tous les suivants.
Quelle est l'erreur ?

function envoi($var, $val){
echo "&".$var."=".utf8_encode($val);
}

$sql= "SELECT * FROM buts WHERE idUtilisateur = '$idUtilisateur' AND semaine = '$semaine' AND type = '$type'  AND duree = '$duree' ORDER BY jour";
$rs =mysql_query($sql, $connexionLogin) or die(mysql_error());
$row_rs= mysql_fetch_assoc($rs);
$total_rs = mysql_num_rows($rs);
envoi ("total",$total_rs);
if(($total_rs !=0)){
$counter=0;
	while($row_rs= mysql_fetch_assoc($rs)) {
		$jour = $row_rs['jour'];
		$nom = $row_rs['nom'];
		envoi("compteur".$counter, $counter);
		envoi("jour".$counter, $jour);
		envoi("nom".$counter, $nom);
		$counter++;
	}
envoi("retour","visualisation");
}else{
envoi("retour","creation");
}
?>
Ce qui est vraiment bizarre, c'est qu'il m'indique un $total de 3 enregistrements et ne m'envoie que deux

Merci de votre aide.
Modifié en dernier par marcello2 le 27 juin 2008, 11:21, modifié 1 fois.

Mammouth du PHP | 1353 Messages

27 juin 2008, 11:14

Bonjour,

C'est normal :)

Tu fais un $row_rs= mysql_fetch_assoc($rs); juste après ta requete puis dans ton while (la ou tu affiches les résultats) tu fais aussi un $row_rs= mysql_fetch_assoc($rs);

donc le premier enregistrement est squizzé car tu ne le traites pas.
je ne pense pas que le 1er $row_rs= mysql_fetch_assoc($rs); soit utile...
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Mammouth du PHP | 514 Messages

27 juin 2008, 11:15

$row_rs= mysql_fetch_assoc($rs); 
A priori, tu peux supprimer cette ligne de ton code. Elle déplace le curseur, du coup, ton "while" démarre un cran après.
Ne jamais repousser à demain ce qu'on peut faire après demain ...

Eléphanteau du PHP | 27 Messages

27 juin 2008, 13:44

Merci beaucoup.
J'aimerais bien avoir une formation de base solide avec php.
J'ai vraiment l'impression de bricoler.
Ce forum m'aide énormément. :D
marcello