mon while m'ignore le premier enregistrement de ma requete

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : mon while m'ignore le premier enregistrement de ma requete

par jay64 » 25 juil. 2006, 16:22

Merci beaucoup ouckileou, ça marche nickel !

par ouckileou » 25 juil. 2006, 16:13

A cause de ça :
$row_Requete = mysql_fetch_assoc($Requete); 
mysql_fetch_assoc() retourne un tableau associatif qui contient la ligne lue dans le résultat result et déplace le pointeur interne de données.
mysql_fetch_array() va donc commencer au 2ième tuple renvoyé.

mon while m'ignore le premier enregistrement de ma requete

par jay64 » 25 juil. 2006, 16:05

Bonjour à tous,

J'ai une requete SELECT qui fonctionne trés bien sous PhpMyAdmin et qui me renvoie 20 enregistrements.

Lorsque je l'utilise en php, je la déclare, et à son utilisation dans un while, il ne me prend jamais en compte le premier enregistrement de la requete.
Pouvez-vous me dire pourquoi ?
Merci

Voici la requete :
<?php
mysql_select_db($database_connexion_bdd_mysql, $connexion_bdd_mysql);
$query_Requete = "SELECT prono_Fusion_Voteur_MatchLigue1.IdVoteur, prono_Voteur.Pseudo, prono_Fusion_Voteur_MatchLigue1.IdMatch, prono_Fusion_Voteur_MatchLigue1.VoteCalcule, prono_Fusion_Voteur_MatchLigue1.NbPointsMarques, prono_Fusion_Voteur_MatchLigue1.ScoreEquipeDom, prono_Fusion_Voteur_MatchLigue1.ScoreEquipeVis, prono_MatchLigue1.ResultatMatch, prono_MatchLigue1.ScoreEquipeDomReel, prono_MatchLigue1.ScoreEquipeVisReel FROM prono_Voteur INNER JOIN (prono_MatchLigue1 INNER JOIN prono_Fusion_Voteur_MatchLigue1 ON prono_MatchLigue1.IdMatch = prono_Fusion_Voteur_MatchLigue1.IdMatch) ON prono_Voteur.IdVoteur = prono_Fusion_Voteur_MatchLigue1.IdVoteur ORDER BY prono_Fusion_Voteur_MatchLigue1.IdVoteur, prono_Fusion_Voteur_MatchLigue1.IdMatch";
$Requete = mysql_query($query_Requete, $connexion_bdd_mysql) or die(mysql_error());
$row_Requete = mysql_fetch_assoc($Requete);
$totalRows_Requete = mysql_num_rows($Requete);
?>
et voici mon calcul à l'aide du while :
<?php

while ($ligne=mysql_fetch_array($Requete))
{ extract($ligne);

if ($VoteCalcule == $ResultatMatch)
	{
		if ($ScoreEquipeDom == $ScoreEquipeDomReel and $ScoreEquipeVis == $ScoreEquipeVisReel)
			{
			$NbPoints = "3";
			}
		else
			{
			$NbPoints = "1";
			}
	}
else
	{
	$NbPoints = "0";
	}
$requete_maj = "UPDATE prono_Fusion_Voteur_MatchLigue1 SET NbPointsMarques = $NbPoints WHERE IdVoteur = $IdVoteur AND IdMatch = $IdMatch";
$maj = mysql_query($requete_maj, $connexion_bdd_mysql) or die(mysql_error());
}
echo "Calcul et mise à jour de la table effectués !";

?>