JeuWeb - Crée ton jeu par navigateur
Probleme de formulaire - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Probleme de formulaire (/showthread.php?tid=1131)



Probleme de formulaire - kunutheking - 29-04-2007

Bonjour j'ai un problème avec ce code
C'est un jeu de sport donc avec des joueurs et des entrainements et la c'est pour modifier l'intensité de l'entrainement
Or quand on essaye de la modifier a l'aide du formulaire la variable $_POST[''] vaut toujours le truc de base... merci

Je viens d'essayer autre chose et en fait ça marche juste pour le dernier joueur de la table ...

Code PHP :
<?php 
// --- ANALYSE DES MODIFICATIONS ---------------------------------
if (isset($_POST['modifier']))
{
$req = mysql_query('SELECT intensité_entrainement FROM joueurs WHERE id_joueur="' . $_POST['id_joueur'] . '"') or die(mysql_error());
$dat = mysql_fetch_assoc($req);

// Si ce que l'utilisateur a mis est différent de ce qui été déja dans la table
if ($_POST['intensité'] != $dat['intensité_entrainement'])
{
mysql_query('UPDATE joueurs SET intensité_entrainement="' . $_POST['intensité'] . '" WHERE id_joueur="' . $_POST['id_joueur'] . '"') or die(mysql_error());
echo
'Modification effectuée.';
}
else
{
echo
'Pas de modification a effectuée.';
}
}


// --- TABLEAU AVEC LA POSSIBILITE DE MODIFIER L'INTENSITE -------
$req = mysql_query('SELECT id_joueur, nom, intensité_entrainement FROM joueurs WHERE id_equipe="' . $_SESSION['id'] . '" ORDER BY ordre') or die(mysql_error());

echo
'<table>';
echo
'<form method="post">';

while (
$dat = mysql_fetch_assoc($req))
{
echo
'<tr>';
echo
'<td>' , $dat['nom'] , '</td>';

// On fait une liste déroulante avec les 6 niveaux d'intensité différents : 0, 1, 2, 3, 4, 5
echo '<td>';
echo
'<select name="intensité">';
$i = 0;
while (
$i < 6)
{
echo
'<option value="' , $i , '"';
if (
$dat['intensité_entrainement'] == $i)
{
echo
' selected="selected"';
}
echo
' >' , $i , '</option>';
$i++;
}
echo
'</select>';
echo
'</td>';

echo
'<td><input type="hidden" name="id_joueur" value="' , $dat['id_joueur'] , '"/>';
echo
'<input type="submit" name="modifier" value="Modifier" /></td>';

}

echo
'</form>';
echo
'</table>';



[Réglé] Probleme de formulaire - kunutheking - 29-04-2007

ça y est j'ai trouvé il fallait faire un formulaire pour chaque entrée de la table ...


RE: Probleme de formulaire - Raoull - 30-04-2007

moi je me demande pourquoi tu fais ca

Code PHP :
<?php 
// --- ANALYSE DES MODIFICATIONS ---------------------------------
if (isset($_POST['modifier']))
{
$req = mysql_query('SELECT intensité_entrainement FROM joueurs WHERE id_joueur="' . $_POST['id_joueur'] . '"') or die(mysql_error());
$dat = mysql_fetch_assoc($req);

// Si ce que l'utilisateur a mis est différent de ce qui été déja dans la table
if ($_POST['intensité'] != $dat['intensité_entrainement'])
{
mysql_query('UPDATE joueurs SET intensité_entrainement="' . $_POST['intensité'] . '" WHERE id_joueur="' . $_POST['id_joueur'] . '"') or die(mysql_error());
echo
'Modification effectuée.';
}
else
{
echo
'Pas de modification a effectuée.';
}
}

En fait la tu fais 2 requètes, 1 pour choper ce qu'il y a en bdd, tu verif alors si ya besoin d'un update, si oui tu fais une 2eme requete pour update, et tu dis au gars si ya eu changement ou pas.

Tu n'as pas besoin de ta premiere requete.
Tu update direct. Mysql verra si ya besoin de faire un chagement ou pas (si ya deja la meme valeur en bdd ou pas).
Et pour savoir si effectivement un changement a eu lieu ou pas, tu utilises un ptit mysql_affected_rows()


RE: Probleme de formulaire - Plume - 30-04-2007

Teclis01 :
LoL !! xD

En plus t'es un salop ! J'ai posté une classe exprès pour que tu regardes ! ... Enfin, entre autre ^^