Page 1 sur 1

J'ai un Warning mysql_result

Posté : 08 mai 2007, 10:23
par alaingpl
Bonjour,
Aux modérateurs du forum: Très sincérement je ne savais pas quoi mettre en sujet. Si vous avez une suggestion ce serait sympa. Merci d'avance.

J'ai le message d'erreur suivant :
Warning: mysql_result() [function.mysql-result]: Unable to jump to row -1 on MySQL result index 9 in /home4/s/sitweb-chr/www/IDF2/contact/forum.php on line 96
Vous pouvez le voir à l'adresse suivante :
http://www.qcmresto.fr/IDF2/index2.php? ... /forum.php

Les lignes incriminées sont celles - ci :
$pseudo = mysql_result($req3,$i-1,"pseudo");
			$mail = mysql_result($req3,$i-1,"mail");
			$question = mysql_result($req3,$i-1,"question");
			$dater = mysql_result($req3,$i-1,"dater");
Si j'ai bien compris le message il dit : attention le résultat de la fonction mysql_result n'est pas possible car je ne peut pas passer la ligne en -1. Par contre je ne comprends pas "on MySQL result index 9 "

Mais pourquoi ce message d'erreur car le code affiche quand même les résultats. La je ne "pige" pas.

Le problème à régler est que le message d'erreur ne s'affiche plus. Bien sur j'ai déjà essayé en l'effaçant mais les résultats de la bdd ne s'affiche plus.

Je précise ici que je n'ai pas taper ce code et mes connaissances en php sont basiques et vous remercie tous de l'aide.


Ci - dessous la page avec le code :
<?
	require("admin/config.php");
	$mysql_link =  MYSQL_CONNECT("$localhost","$login","$mot") OR DIE("Unable to connect to database !!");
	@mysql_select_db($dbName ,$mysql_link ) or die( "Unable to select database ??");
	
	if ($Numero=="2")
	{
		$message2 = ereg_replace("(\r|\n){1,2}", "<br>", $message2);
		$dater=date("Y-m-d H:i:s");
		$req=mysql_query("INSERT INTO forum (dater,pseudo,mail,question,niveau,affiche) VALUES ('$dater','$pseudo','$email','$message2','1','N')");
?>
		<SCRIPT LANGUAGE="Javascript">
			alert ("Votre message a été sauvegardé dans le forum.\nIl s'affichera après validation de l'administrateur du site.");
		</SCRIPT>
<?
	}
?>

<TABLE CELLPADDING=0 CELLSPACING=0 WIDTH="100%" BORDER=0>
<TR>

	<TD WIDTH="100%" VALIGN=TOP>
		<TABLE CELLPADDING=0 CELLSPACING=0 WIDTH="100%" BORDER=0>
		<TR>
			<TD width="200">
			<b><em>Vous êtes sur le forum</em></b>
			</TD>
		</TR>
		<TR>
			<TD COLSPAN=3>
				<TABLE CELLPADDING=10 CELLSPACING=0 WIDTH="100%" BORDER=1 BORDERCOLOR=#808080 style="border-collapse: collapse" ALIGN=MIDDLE>
				<TR>
					<TD ALIGN=LEFT VALIGN=MIDDLE WIDTH=100%>
						<div align=justify>
						<font face="Arial" size=1 color=#000000>
<?
	$req3=mysql_query("SELECT * FROM forum WHERE affiche LIKE 'O' AND niveau LIKE '1' ORDER BY dater DESC");
	$nbr3=mysql_numrows($req3);
	if ($nbr3=="0") 
	{ 
		echo "<FONT FACE=\"Arial\" SIZE=2 COLOR=#000000><b><center>Aucun message dans le forum</center></b>";
	}
	else
	{
		if ($debut+5<=$nbr3) { $fin=$debut+4; } else { $fin=$nbr3; }
		for ($i=$debut;$i<=$fin;$i++)
		{
			$pseudo = mysql_result($req3,$i-1,"pseudo");
			$mail = mysql_result($req3,$i-1,"mail");
			$question = mysql_result($req3,$i-1,"question");
			$dater = mysql_result($req3,$i-1,"dater");
			$dater2= substr($dater,8,2)."/".substr($dater,5,2)."/".substr($dater,0,4)." à ".substr($dater,11,8);	
			echo "<font size=2>$question</font><br>";
			if ($mail=="")
			{
				echo "<div align=right><i>$pseudo, le $dater2</i>";
			}
			else
			{
				echo "<div align=right><i><A class=bleu HREF=\"MAILTO:$mail\">$pseudo</A>, le $dater2</i>";
			}
			echo "</div>";

			$req4=mysql_query("SELECT * FROM forum WHERE affiche LIKE 'O' AND niveau LIKE '2' AND dater LIKE '$dater'");
			$nbr4=mysql_numrows($req4);
			if ($nbr4!="0")
			{
				$question = mysql_result($req4,0,"question");
?>
				<br>
				<TABLE CELLPADDING=2 CELLSPACING=0 WIDTH="570" BORDER=0 ALIGN=CENTER>
				<TR>
					<TD VALIGN=TOP ALIGN=LEFT WIDTH=570 HEIGHT=6 BGCOLOR=#EAFFEA>
						<div align=justify><font face=Arial size=2"><? echo "$question"; ?><br></font>
					</TD>
				</TR>
				</TABLE>
<?
			}
			echo "<br>";
			echo "<font color=#808080>";
			for ($j=1;$j<=189;$j++) { echo "·"; }
			echo "</font><br>";
		}
		$nbrpage=ceil($nbr3/5);
		echo "<FONT FACE=\"Arial\" SIZE=2 COLOR=#000000><center>";
		for ($i=1;$i<=$nbrpage;$i++)
		{
			$debut2=5*($i-1)+1;
			if ($debut2!=$debut)
			{
					echo "<a class=bleu href=forum.php?Numero=1&debut=$debut2>$i</a>";
			}
			else
			{
				echo "<b>$i</b>";
			}
			if ($i!=$nbrpage) { echo " | "; }
		}
	}
?>

Posté : 08 mai 2007, 10:41
par thehawk
Apparament dans ton code tu te retrouve a chercher une id négative or MySql ne peut pas la trouver puis que les id = 0 minimum ^^

Posté : 08 mai 2007, 11:34
par Sékiltoyai
Pourquoi n'utilises tu pas mysql_fetch_array() pour récupérer les résultats. Vu ce que tu fais, c'est quand même plus pratique...

Posté : 08 mai 2007, 15:36
par alaingpl
Merci à tous.