souci dans mon code php.. [resolu] - PHP - Programmation
Marsh Posté le 25-08-2008 à 10:02:14
print_r($_POST) donne quoi dans ta page updateclt.php quand tu modifies l'équipe?
Marsh Posté le 25-08-2008 à 10:13:09
Bonjour,
tu veus que je mette print_r($_POST) a kel ligne ?
$Equipe=print_r($_POST)['Equipe'];
$v=$_POST['v'];
$n=$_POST['n'];
$d=$_POST['d'];
...
comme sa ?
Marsh Posté le 25-08-2008 à 10:26:42
nooooooooooon ça ne veut rien dire ça.
Lis la doc, au lieu de faire n'importe-quoi, print_r() affiche toutes les informations disponibles sur une variable...
Au début de ta page, ajoute une ligne avec seulement print_r($_POST); et dis-nous ce que ça t'affiche...
Marsh Posté le 25-08-2008 à 10:30:42
dsl je debute un peu en php je comprend pas bien tout defois
donc sa donne Parse error: syntax error, unexpected T_VARIABLE in /mnt/102/sdb/b/d/****/updateclt.php on line 4
Marsh Posté le 25-08-2008 à 10:32:08
montre ce que donne ton code, t'as oublié un truc...un point virgule en fin de ligne?
Marsh Posté le 25-08-2008 à 10:35:14
mon code de la page updateclt.php
<?php require_once('connexion.php'); ?>
<?php
$Equipe=$_POST['Equipe'];
$v=$_POST['v'];
$n=$_POST['n'];
$d=$_POST['d'];
$f=$_POST['f'];
$pg=$_POST['pg'];
$pp=$_POST['pp'];
$e=$_POST['e'];
// echo "$table";
// for($i=0;$i<count($v);$i++)
// {
// echo $v[$i];
// echo "-";
// }
// echo "<p>";
// for($i=0;$i<count($n);$i++)
// {
// echo $n[$i];
// echo "-";
// }
// echo "<p>";
// for($i=0;$i<count($d);$i++)
// {
// echo $d[$i];
// echo "-";
// }
// echo "<p>";
// for($i=0;$i<count($f);$i++)
// {
// echo $f[$i];
// echo "-";
// }
// echo "<p>";
// for($i=0;$i<count($pg);$i++)
// {
// echo $pg[$i];
// echo "-";
// }
// echo "<p>";
// for($i=0;$i<count($pp);$i++)
// {
// echo $pp[$i];
// echo "-";
// }
// echo "<p>";
// for($i=0;$i<count($e);$i++)
// {
// echo $e[$i];
// echo "-";
// }
// echo "<p>";
// echo "$e[0]";
?>
<html>
<head>
<title>Mise à jour du Classement</title>
<link href="styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<div align="center">
<br />
<br />
<p class="titre">- Classement Corrigé -</p>
<?php
for($i=0;$i<count($e);$i++)
{
$query="UPDATE equipes SET nomequipe=$Equipe[$i], nbvictoire=$v[$i], nbnul=$n[$i], nbdefaite=$d[$i], nbforfait=$f[$i], pg=$pg[$i], pp=$pp[$i] WHERE idequipe=$e[$i] ;";
$result=mysql_query($query);
}
$query="UPDATE equipes SET pts = `nbvictoire` *3 + `nbnul` *2 + `nbdefaite` *1";
$result=mysql_query($query);
$query="UPDATE equipes SET nbmatch = nbvictoire + nbnul + nbdefaite + nbforfait";
$result=mysql_query($query);
mysql_close($connexion);
?>
</body>
<p><a href="index.php"><strong>< Retour accueil</strong></a></p>
</div>
</html>
Marsh Posté le 25-08-2008 à 10:49:25
je vois pas de print_r, là.
Marsh Posté le 25-08-2008 à 10:50:27
<?php require_once('connexion.php'); ?>
<?php
print_r($_POST)
$Equipe=$_POST['Equipe'];
$v=$_POST['v'];
$n=$_POST['n'];
$d=$_POST['d'];
$f=$_POST['f'];
$pg=$_POST['pg'];
$pp=$_POST['pp'];
$e=$_POST['e'];
// echo "$table";
// for($i=0;$i<count($v);$i++)
// {
// echo $v[$i];
// echo "-";
// }
// echo "<p>";
// for($i=0;$i<count($n);$i++)
// {
// echo $n[$i];
// echo "-";
// }
// echo "<p>";
// for($i=0;$i<count($d);$i++)
// {
// echo $d[$i];
// echo "-";
// }
// echo "<p>";
// for($i=0;$i<count($f);$i++)
// {
// echo $f[$i];
// echo "-";
// }
// echo "<p>";
// for($i=0;$i<count($pg);$i++)
// {
// echo $pg[$i];
// echo "-";
// }
// echo "<p>";
// for($i=0;$i<count($pp);$i++)
// {
// echo $pp[$i];
// echo "-";
// }
// echo "<p>";
// for($i=0;$i<count($e);$i++)
// {
// echo $e[$i];
// echo "-";
// }
// echo "<p>";
// echo "$e[0]";
?>
<html>
<head>
<title>Mise à jour du Classement</title>
<link href="styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<div align="center">
<br />
<br />
<p class="titre">- Classement Corrigé -</p>
<?php
for($i=0;$i<count($e);$i++)
{
$query="UPDATE equipes SET nomequipe="$Equipe[$i]", nbvictoire=$v[$i], nbnul=$n[$i], nbdefaite=$d[$i], nbforfait=$f[$i], pg=$pg[$i], pp=$pp[$i] WHERE idequipe=$e[$i] ;";
$result=mysql_query($query);
}
$query="UPDATE equipes SET pts = `nbvictoire` *3 + `nbnul` *2 + `nbdefaite` *1";
$result=mysql_query($query);
$query="UPDATE equipes SET nbmatch = nbvictoire + nbnul + nbdefaite + nbforfait";
$result=mysql_query($query);
mysql_close($connexion);
?>
</body>
<p><a href="index.php"><strong>< Retour accueil</strong></a></p>
</div>
</html>
Marsh Posté le 25-08-2008 à 10:51:25
et le point virgule il est où?
Marsh Posté le 25-08-2008 à 10:57:50
voila le code que j ai quand je mé print_r($_POST);
Array ( [Equipe] => Array ( [0] => ddfdf [1] => [Equipe10] [2] => [Equipe11] [3] => [Equipe12] [4] => [Equipe13] [5] => [Equipe14] [6] => [Equipe15] [7] => [Equipe16] ) [v] => Array ( [0] => 3 [1] => 1 [2] => 1 [3] => 1 [4] => 0 [5] => 0 [6] => 0 [7] => 0 ) [n] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 ) [d] => Array ( [0] => 1 [1] => 1 [2] => 1 [3] => 0 [4] => 2 [5] => 1 [6] => 0 [7] => 0 ) [f] => Array ( [0] => 1 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 ) [pg] => Array ( [0] => 164 [1] => 372 [2] => 180 [3] => 12 [4] => 140 [5] => 3 [6] => 0 [7] => 0 ) [pp] => Array ( [0] => 125 [1] => 274 [2] => 22 [3] => 111 [4] => 430 [5] => 20 [6] => 0 [7] => 0 ) [e] => Array ( [0] => 12 [1] => 15 [2] => 18 [3] => 11 [4] => 13 [5] => 17 [6] => 14 [7] => 16 ) [Submit] => OK )
- Classement Corrigé -
< Retour accueil
Marsh Posté le 25-08-2008 à 11:06:09
je crois avoir trouvé l erreur (trouvé la reponse sur une autre board)
reponse :
Il faut mettre des " " de chaque côté de $Equipe[$i] dans la mise à jour de ta base car c'est une chaîne de caractères. ça ressemblera à ça:
...equipes SET nomequipe=\"$Equipe[$i]\", nbv........
je v testé
Marsh Posté le 25-08-2008 à 11:06:11
Donc $_POST['Equipe'] contient ceci :
Citation : Array ( [0] => ddfdf [1] => [Equipe10] [2] => [Equipe11] [3] => [Equipe12] [4] => [Equipe13] [5] => [Equipe14] [6] => [Equipe15] [7] => [Equipe16] ) |
Est-ce que c'est ce que tu attends? Si oui, quelle est l'erreur que tu obtiens par la suite?
Marsh Posté le 25-08-2008 à 11:08:06
eek a écrit : je crois avoir trouvé l erreur (trouvé la reponse sur une autre board) |
En sql on utilise les simples quotes pour une chaine de caractères : '$Equipe[$i]'.
Par ailleurs je suggèrerais volontiers l'utilisation de requêtes paramétrées, mais j'ai peur que ce ne soit un peu compliqué pour toi vu comme on est partis...
Marsh Posté le 25-08-2008 à 11:15:47
LOL SKEYE kler
bon pour le momment sa a l air de bien fonctionner avec les \"
sa s enregistre bien et sa s'affiche nikel..
je te remercie quand meme pour ta patience ...
je verrai plus tard pour des "requêtes paramétrées" bcp plus tard
merci encore !
Marsh Posté le 25-08-2008 à 02:02:33
Bonjour,
j'ai un souci dans mon code php :
j'ai un tableau a 8 colonnes
___________________________________
| classement | Equipe | V | N | D | F | PG | PP |
( v=victoire / n=nul / d=defaite etc..) bref vous avez compris le type de tableau..
mon probleme c'est que, quand j'arrive sur la page pour modifier le classement ou le corriger, j'arrive bien a changer les chiffres (nombre de victoire, nombre de defaite, point gagner, etc...)et sa s'enregistre mais quand je veu changer le nom de l'Equipe sa ne s enregistre pas..
sur ma page classement les chiffres y son bien mais pas le nom de l equipe que j'ai voulu modifier.
voici ma page pour modifier le classement :
<?php require_once('connexion.php'); ?>
<html>
<head>
<title>Corriger le classement</title>
<link href="styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<div align="center">
<p class="titre">- Correction Classement -</p>
<form method="post" action="updateclt.php">
<?php
$id=$_POST['champ'];
// sélection de la table pour afficher le classement en fonction des points
$query_mysql=("SELECT * FROM equipes WHERE idchamp = $id ORDER BY Pts DESC " );
$result_mysql=mysql_query($query_mysql,$connexion);
echo '<table width="650" border="3" cellpadding="5" cellspacing="0" bordercolor="#666666">';
echo '<tr bgcolor="#CCCCCC">';
echo '<th> Clt </th>';
echo '<th> Equipe </th>';
echo '<th> V </th>';
echo '<th> N</th>';
echo '<th> D </th>';
echo '<th> F </th>';
echo '<th> PG </th>';
echo '<th> PP </th>';
echo '</tr>';
$nb=0;
while($ligne=mysql_fetch_array($result_mysql))
{
// variable pour chaque champ
// nb++ est utile pour afficher la position de l'équipe :1-2-3-4-5-6-7-8
$nb++;
$num = $ligne['idequipe'];
$nom = $ligne['nomequipe'];
$vic = $ligne['nbvictoire'];
$nul = $ligne['nbnul'];
$def = $ligne['nbdefaite'];
$for = $ligne['nbforfait'];
$pg = $ligne['pg'];
$pp = $ligne['pp'];
// affichage du tableau avec les variables enregistrées
echo'<tr>';
echo '<td align="center">'.$nb.'</td>';
echo '<td><input name="Equipe[]" type="text" value="'.$nom.'" size="10" maxlength="10" /></td>';
echo '<td><input name="v[]" type="text" value="'.$vic.'" size="1" maxlength="1" /></td>';
echo '<td><input name="n[]" type="text" value="'.$nul.'" size="1" maxlength="1" /></td>';
echo '<td><input name="d[]" type="text" value="'.$def.'" size="1" maxlength="1" /></td>';
echo '<td><input name="f[]" type="text" value="'.$for.'" size="1" maxlength="1" /></td>';
echo '<td><input name="pg[]" type="text" value="'.$pg.'" size="2" maxlength="3" /></td>';
echo '<td><input name="pp[]" type="text" value="'.$pp.'" size="2" maxlength="3" /></td>';
echo '</tr>';
echo '<input name="e[]" type="hidden" value="'.$num.'" />';
}
mysql_close();
echo "</table>";
?>
<p><input type="submit" name="Submit" value="OK" /></p>
<p><a href="index.php"><strong>< Retour accueil</strong></a></p>
</form>
</div>
et voila la page updateclt.php :
<?php require_once('connexion.php'); ?>
<?php
$Equipe=$_POST['Equipe'];
$v=$_POST['v'];
$n=$_POST['n'];
$d=$_POST['d'];
$f=$_POST['f'];
$pg=$_POST['pg'];
$pp=$_POST['pp'];
$e=$_POST['e'];
// echo "$table";
// for($i=0;$i<count($v);$i++)
// {
// echo $v[$i];
// echo "-";
// }
// echo "<p>";
// for($i=0;$i<count($n);$i++)
// {
// echo $n[$i];
// echo "-";
// }
// echo "<p>";
// for($i=0;$i<count($d);$i++)
// {
// echo $d[$i];
// echo "-";
// }
// echo "<p>";
// for($i=0;$i<count($f);$i++)
// {
// echo $f[$i];
// echo "-";
// }
// echo "<p>";
// for($i=0;$i<count($pg);$i++)
// {
// echo $pg[$i];
// echo "-";
// }
// echo "<p>";
// for($i=0;$i<count($pp);$i++)
// {
// echo $pp[$i];
// echo "-";
// }
// echo "<p>";
// for($i=0;$i<count($e);$i++)
// {
// echo $e[$i];
// echo "-";
// }
// echo "<p>";
// echo "$e[0]";
?>
<html>
<head>
<title>Mise à jour du Classement</title>
<link href="styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<div align="center">
<br />
<br />
<p class="titre">- Classement Corrigé -</p>
<?php
for($i=0;$i<count($e);$i++)
{
$query="UPDATE equipes SET nomequipe=$Equipe[$i], nbvictoire=$v[$i], nbnul=$n[$i], nbdefaite=$d[$i], nbforfait=$f[$i], pg=$pg[$i], pp=$pp[$i] WHERE idequipe=$e[$i] ;";
$result=mysql_query($query);
}
$query="UPDATE equipes SET pts = `nbvictoire` *3 + `nbnul` *2 + `nbdefaite` *1";
$result=mysql_query($query);
$query="UPDATE equipes SET nbmatch = nbvictoire + nbnul + nbdefaite + nbforfait";
$result=mysql_query($query);
mysql_close($connexion);
?>
</body>
<p><a href="index.php"><strong>< Retour accueil</strong></a></p>
</div>
</html>
je suis a votre disposition si vous voulez d'autre infos
si une personne peu m'aider sa serai cool merci
Message édité par eek le 25-08-2008 à 11:16:48