Bonjour à tous.
Mon problème (immense problème !) est le suivant :
J'ai créé une base de données avec PhpAdmyn, qui comporte une table de 3 champs.
J'ai créé un formulaire dans lequel sont récupérées les données de ma table.
Jusque-là, pas de problème; lorsque je charge la page, le formulaire se rempli correctement.
Ce que j'aimerai pouvoir faire, c'est modifier les valeurs des différents champs de ma table directement dans le formulaire... et là, ça ne marche pas!
J'ai cherché, cherché sur le web sans trouver un code qui marche. C'est sûrement moi qui ne suis pas doué...
Si quelqu'un pouvait me donner un coup de main, il serait le bienvenu.
Voici le script:
<?php
$host="localhost";
$username="login";
$password="password";
$db_name="nom-de-la-base";
$tbl_name="nom-de-la-table";
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
// Count table rows
$count=mysql_num_rows($result);
?>
<p align="center"><strong>MODIFICATION DES TARIFS</strong></p>
<table align="center" border="0" cellspacing="1" cellpadding="0">
<form name="form1" method="post" action="">
<tr>
<td>
<table align="center" border="0" cellspacing="1" cellpadding="0">
<tr>
<td width="10" align="center"><strong>Id</strong></td>
<td width="100" align="center"><strong>Couleur</strong></td>
<td width="100" align="center"><strong>Prix</strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td align="center"><? $id[]=$rows['id']; ?><? echo $rows['id']; ?></td>
<td align="center"><? echo $rows['couleur']; ?></td>
<td align="center"><input name="prix[]" type="text" id="prix" value="<? echo $rows['prix']; ?>"></td>
</tr>
<?php
}
?>
<tr>
<td colspan="4" align="center">
<input type="submit" name="Submit" value="Modifier">
</td>
</tr>
</table>
</td>
</tr>
</form>
</table>
<?php
// en cliquant sur le bouton Submit, je devrais modifier la table... c'est là que ça coince !
// il ne se passe rien. La page se recharge avec l'ancienne valeur sans aucun message d'erreur.
if($Submit){
for($i=0;$i<$count;$i++){
$sql1="UPDATE $tbl_name SET prix='$prix[$i]', id='$id[$i]'";
$result1=mysql_query($sql1);
}
}
mysql_close();
?>
Merci BolDog, j'ai fait rediriger vers la même page.
En laissant if($Submit), le champs 'prix' se met à 0 et ce, quelque soit la valeur que j'entre.
Si je remplace if($Submit) par if(isset($_POST['prix'])), il ne se passe rien... comme avant.
Je ne comprends pas.
Merci BolDog d'essayer de m'aider, mais je crois que mon cas est désespéré. Je n'y comprends rien. à la base, je suis infographiste, je me suis lancé là-dedans pour faire plaisir à une amie (j'ai cru que ce serait simple !) mais c'est trop hard. Et je n'ai pas vraiment envie d'aller voir les tutoriels et de savoir ce que c'est que les variables $_POST.
Je cherchais juste un script.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Tutoriel complet MySQL !
Tutoriel complet MySQL !