par
Cyrano » 31 juil. 2005, 21:35
Plusieurs choses :
- 1 - :
LISEZ les RÈGLES
- 2 - : Attarde-toi en particulier sur la première ligne de l'article 3

- 3 - : En générant des éléments de formulaire dns une boucles, si tu n'y prends pas garde, le même élément aura le même nom à chaque tour de boucle, donc name="xyz" sera reproduit à chaque tour. Il faut que tu te serves du pointeur.
- 4 - : Aérer son code, c'est une bonne chose, l'éparpiller à tout vent, c'est plus pénible à lire :
- 5 - : tes balises <form> et </form> ne sont pas à la bonne place et rendent ton code invalide.
Voici comment il faudrait écrire proprement :
<?
$host = 'localhost';
//$user = 'root';
//$pass = '';
//$db = '';
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
$select = "SELECT * FROM laBase WHERE categorie='2' ORDER BY id DESC ";
$result = mysql_query($select,$link) or die(mysql_error());
if($result)
{
$number = mysql_num_rows($result);
}
else
{
$number = 0;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form name="lots_bolw" method="post" action="">
<table border="0" cellpadding="2" cellspacing="2">
<tr>
<td>>>></td>
<td align="left" valign="middle">Lots proposé : </td>
<td align="left" valign="middle">Valeur</td>
<td align="left" valign="middle">Graph : </td>
<td align="left" valign="middle">Nbs votes : </td>
</tr>
<tr>
<td colspan="5" height="1" bgcolor="#000000"></td>
</tr>
<?
for ($gro = 0; $gro < $number; $gro++)
{
$theid = mysql_result($result,$gro,"id");
$categorie = mysql_result($result,$gro,"categorie");
$valeur = mysql_result($result,$gro,"valeur");
$vote = mysql_result($result,$gro,"vote");
$intitule = mysql_result($result,$gro,"intitule");
$longueur=50;
$longueur0=$vote*100/$longueur;
$longueur0=round($longueur0);
?>
<tr align="left" valign="top">
<td> <input name="reponse" type="radio" value="<? echo $theid;?>"><i></i></td>
<td><i><? echo $intitule ?></i></td>
<td><? echo $valeur ?></td>
<td>
<table>
<tr>
<td width="<? echo $longueur0; ?>" bgcolor="#0000FF" height="100%"> </td>
</tr>
</table>
</td>
<td><i><? echo $vote; ?> votes </i></td>
</tr>
<tr align="right" valign="top">
<td colspan="5"><i></i><i><input name="id" type="text" id="id" value="<? echo $theid; ?>"></i>
<?php
if (empty($reponse))
{
?>
<input name="bitch" type="submit" class="input_checkbox2" value="OK" >
<? //onclick="javascript:window.reload()"
}
else
{
?>
<p>Merci de nous avoir transmis les données !</p>
<? //onclick="javascript:window.reload()"
if (isset($reponse))
{
$new_vote=$vote+1;
$req=" UPDATE labase SET vote='". $new_vote ."' WHERE id='". $theid ."'";
$result2= mysql_query($req,$link) or die(mysql_error());
echo $req;
}
}
?>
</td>
</tr>
<tr>
<td height="1" colspan="5" bgcolor="#000000"></td>
</tr>
<?
}
?>
</table>
</form>
</body>
</html>
Il te reste à corriger ce problème de nom d'éléments. Fais une concaténation avec le pointeur de la boucle.
Plusieurs choses :
- 1 - : [color=darkred][size=150][b]LISEZ les RÈGLES[/b][/size][/color]
- 2 - : Attarde-toi en particulier sur la première ligne de l'article 3 :!:
- 3 - : En générant des éléments de formulaire dns une boucles, si tu n'y prends pas garde, le même élément aura le même nom à chaque tour de boucle, donc name="xyz" sera reproduit à chaque tour. Il faut que tu te serves du pointeur.
- 4 - : Aérer son code, c'est une bonne chose, l'éparpiller à tout vent, c'est plus pénible à lire :
- 5 - : tes balises <form> et </form> ne sont pas à la bonne place et rendent ton code invalide.
Voici comment il faudrait écrire proprement :
[php]<?
$host = 'localhost';
//$user = 'root';
//$pass = '';
//$db = '';
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
$select = "SELECT * FROM laBase WHERE categorie='2' ORDER BY id DESC ";
$result = mysql_query($select,$link) or die(mysql_error());
if($result)
{
$number = mysql_num_rows($result);
}
else
{
$number = 0;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form name="lots_bolw" method="post" action="">
<table border="0" cellpadding="2" cellspacing="2">
<tr>
<td>>>></td>
<td align="left" valign="middle">Lots proposé : </td>
<td align="left" valign="middle">Valeur</td>
<td align="left" valign="middle">Graph : </td>
<td align="left" valign="middle">Nbs votes : </td>
</tr>
<tr>
<td colspan="5" height="1" bgcolor="#000000"></td>
</tr>
<?
for ($gro = 0; $gro < $number; $gro++)
{
$theid = mysql_result($result,$gro,"id");
$categorie = mysql_result($result,$gro,"categorie");
$valeur = mysql_result($result,$gro,"valeur");
$vote = mysql_result($result,$gro,"vote");
$intitule = mysql_result($result,$gro,"intitule");
$longueur=50;
$longueur0=$vote*100/$longueur;
$longueur0=round($longueur0);
?>
<tr align="left" valign="top">
<td> <input name="reponse" type="radio" value="<? echo $theid;?>"><i></i></td>
<td><i><? echo $intitule ?></i></td>
<td><? echo $valeur ?></td>
<td>
<table>
<tr>
<td width="<? echo $longueur0; ?>" bgcolor="#0000FF" height="100%"> </td>
</tr>
</table>
</td>
<td><i><? echo $vote; ?> votes </i></td>
</tr>
<tr align="right" valign="top">
<td colspan="5"><i></i><i><input name="id" type="text" id="id" value="<? echo $theid; ?>"></i>
<?php
if (empty($reponse))
{
?>
<input name="bitch" type="submit" class="input_checkbox2" value="OK" >
<? //onclick="javascript:window.reload()"
}
else
{
?>
<p>Merci de nous avoir transmis les données !</p>
<? //onclick="javascript:window.reload()"
if (isset($reponse))
{
$new_vote=$vote+1;
$req=" UPDATE labase SET vote='". $new_vote ."' WHERE id='". $theid ."'";
$result2= mysql_query($req,$link) or die(mysql_error());
echo $req;
}
}
?>
</td>
</tr>
<tr>
<td height="1" colspan="5" bgcolor="#000000"></td>
</tr>
<?
}
?>
</table>
</form>
</body>
</html>
[/php]
Il te reste à corriger ce problème de nom d'éléments. Fais une concaténation avec le pointeur de la boucle.