Problème mise à jour BDD et affichage résultat après UPDATE
3 messages
• Page 1 sur 1
- hx.jonathan
- WRInaute discret

- Messages: 162
- Inscription: 2 Mar 2005
Problème mise à jour BDD et affichage résultat après UPDATE
Bonjour,
Cela fait plus d'une semaine que je cherche la solution à mon problème.
Voici mon problème. J'ai une page qui sert à afficher des enregistrements de ma bdd dans un formulaire html, et une autre page qui sert à faire un UPDATE de ces données.
La première page (avenir.php) commence avec une liste déroulante html qui me permet d'afficher différents listes d'enregistrements. En fonction de ce choix, je préremplis mon formulaire html. En dessous de cette première page j'ai un bouton qui me permet d'enregistrer les modifications apportées. Ce bouton renvoi vers ma deuxième page (check3.php) qui est en gros une reuqete SQL d'UPDATE.
PROBLEME :
Quand je clique sur le bouton "enregistrer les modifications" qui se situe en bas de "avenir.php", il fait appel à check3.php pour faire l'UPDATE sql et me redirige vers "avenir.php" pour actualiser les infos.
C'est là qu'est mon problème. En fait, il n'enregistre pas les choses comme il faut. Enfin, parfois oui, parfois non. Et parfois il me recopie plusieurs fois les mêmes enregistrements.. Bref, je ne comprends pas du tout ce qu'il se passe.
Voici mes deux pages:
"avenir.php":
"check3.php" :
En espérant que quelqu'un puisse prendre mon problème au sérieux. J'en peux plus de pas avancer.
D'avance merci à tous.
Cela fait plus d'une semaine que je cherche la solution à mon problème.
Voici mon problème. J'ai une page qui sert à afficher des enregistrements de ma bdd dans un formulaire html, et une autre page qui sert à faire un UPDATE de ces données.
La première page (avenir.php) commence avec une liste déroulante html qui me permet d'afficher différents listes d'enregistrements. En fonction de ce choix, je préremplis mon formulaire html. En dessous de cette première page j'ai un bouton qui me permet d'enregistrer les modifications apportées. Ce bouton renvoi vers ma deuxième page (check3.php) qui est en gros une reuqete SQL d'UPDATE.
PROBLEME :
Quand je clique sur le bouton "enregistrer les modifications" qui se situe en bas de "avenir.php", il fait appel à check3.php pour faire l'UPDATE sql et me redirige vers "avenir.php" pour actualiser les infos.
C'est là qu'est mon problème. En fait, il n'enregistre pas les choses comme il faut. Enfin, parfois oui, parfois non. Et parfois il me recopie plusieurs fois les mêmes enregistrements.. Bref, je ne comprends pas du tout ce qu'il se passe.
Voici mes deux pages:
"avenir.php":
- Code: Tout sélectionner
<?php
include_once 'fonctions.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="styles_club.css" />
</head>
<body>
<form method="post">
<select name="mon_champ">
<option value="Janvier/Fevrier">Janvier/Fevrier</option>
<option value="Fevrier/Mars">Fevrier/Mars</option>
<option value="Mars/Avril">Mars/Avril</option>
</select>
<input type="submit" value="OK"/>
</form>
<?php
$mon_champ = isset($_POST['mon_champ']) ? $_POST['mon_champ'] : '';
connexion_DB('bd_club');
switch($mon_champ) {
case 'Janvier/Fevrier':
$res2 = mysql_query('SELECT * FROM activites WHERE couple_mois=\'Janvier/Fevrier\'');
break;
case 'Fevrier/Mars':
$res2 = mysql_query('SELECT * FROM activites WHERE couple_mois=\'Fevrier/Mars\'');
break;
case 'Mars/Avril':
$res2 = mysql_query('SELECT * FROM activites WHERE couple_mois=\'Mars/Avril\'');
break;
default:
$res2 = mysql_query('SELECT * FROM activites WHERE couple_mois=\'Janvier/Fevrier\'');
}
echo "bonjour";
// REQUETE SQL
echo '<form method="post" action=check3.php>';
//boucle
$cpt=1;
while($row = mysql_fetch_array($res2))
{
$ID_ACTIV=$row['ID_ACTIV'];
$annee=$row['annee'];
$couple=$row['couple_mois'];
//affichage enregistrements
echo "<input type='text' name='idact[$cpt]' size='1' value='$ID_ACTIV'></input>";
echo "<input type='text' name= 'annee[$cpt]' size='5' value='$annee'></input>";
echo "<input type='text' name= 'couple[$cpt]' size='15' value='$couple'></input>";
$cpt++;
echo "<br />";
}
echo "<input type='hidden' name='cpt' size='1' value='$cpt'></input>";// pour pouvoir récupérer la valeur de cpt pour savoir le nbr d'itérations.
echo "<br />";
echo '<div align="center"><input type="submit" name="envoie" VALUE="Enregistrer les modifications"></div>';
echo '</form>';
echo $cpt;
mysql_close();
?>
</body>
</html>
"check3.php" :
- Code: Tout sélectionner
<?php
include_once 'fonctions.php';
connexion_DB('bd_club');
for($i=1; $i<$_POST['cpt'];$i++){
$sql = "UPDATE activites SET annee = '".$_POST['annee'][$i]."',couple_mois = '".$_POST['couple'][$i]."' WHERE ID_ACTIV = '$i'";
mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());
echo "<br/>".$sql;
echo $i;
}
header("Location:http://127.0.0.1/absence/index.php?page=05");
?>
En espérant que quelqu'un puisse prendre mon problème au sérieux. J'en peux plus de pas avancer.
D'avance merci à tous.
-

biscuit - WRInaute impliqué

- Messages: 519
- Inscription: 5 Juin 2006
C'est pas là le prob ?
Remplacer:
par
Remplacer:
- Code: Tout sélectionner
$sql = "UPDATE activites SET annee = '".$_POST['annee'][$i]."',couple_mois = '".$_POST['couple'][$i]."' WHERE ID_ACTIV = '$i'";
par
- Code: Tout sélectionner
$sql = "UPDATE activites SET annee = '".$_POST['annee'][$i]."',couple_mois = '".$_POST['couple'][$i]."' WHERE ID_ACTIV = '".$_POST['idact'][$i]."'";
- hx.jonathan
- WRInaute discret

- Messages: 162
- Inscription: 2 Mar 2005
Salut,
Merci beaucoup. Tu as résolu mon problème. Excellent. C'était trop bête !!!
Encore merci.
Merci beaucoup. Tu as résolu mon problème. Excellent. C'était trop bête !!!
Encore merci.
3 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Automatiser update BDD
- Affichage enregistrements et update
- [PHP/MySQL] Parser le résultat d'une BDD
- affichage des infos sortie d'une BDD
- Menus déroulants et affichage données présentes dans BDD
- Affichage des resultats sur requete dans bdd
- Affichage photos présentes dans BDD sous forme de galerie
- Besoin d'avis + Affichage de résultat en php
- Explication sur affichage de résultat de recherche
- Affichage résultat google : balise h1 au lieu de title ?
Consultez la description détaillée des produits ou services de Google suivants : Google SiteLinks, Google Whack, Google SearchMash
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
