Checkbox, tableau, boucle et php
Fermé
azertyop
Messages postés
11
Date d'inscription
dimanche 8 mars 2009
Statut
Membre
Dernière intervention
25 mai 2009
-
8 mars 2009 à 16:32
azertyop Messages postés 11 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 25 mai 2009 - 10 mars 2009 à 20:10
azertyop Messages postés 11 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 25 mai 2009 - 10 mars 2009 à 20:10
A voir également:
- Checkbox, tableau, boucle et php
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Trier tableau excel - Guide
- Easy php - Télécharger - Divers Web & Internet
18 réponses
Mimiste
Messages postés
1149
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
206
8 mars 2009 à 18:01
8 mars 2009 à 18:01
Salut
Déjà il y a des truc que je comprend pas trop, pourquoi tu a 2 formulaires et ou est la checkbox ?
Déjà il y a des truc que je comprend pas trop, pourquoi tu a 2 formulaires et ou est la checkbox ?
azertyop
Messages postés
11
Date d'inscription
dimanche 8 mars 2009
Statut
Membre
Dernière intervention
25 mai 2009
8 mars 2009 à 18:16
8 mars 2009 à 18:16
En faite je pensait mettre la checkbox dans la case vide du tableau dans le while:
while ($row = mysql_fetch_array($req)) {
echo "<tr><td> ICI </td><td>$row[Nom]</td><td>$row[Prenom]</td>
Ce qui donnerai:
while ($row = mysql_fetch_array($req)) {
echo "<tr><td> <input type="checkbox" name="choix" /> </td><td>$row[Nom]</td><td>$row[Prenom]</td>
Mais je vois pas du tout comment m'en servir, puisque le nombre de checkbox dépend du nombre de lignes dans le tableau. Bref je m'embrouille complètement.
En ce qui concerne le premier formulaire il est là pour la saisie de la pré-recherche, pour le 2éme tout en bas, je souhaite juste que lorsque je valide cela m'envoie sur la deuxième page de modifier, je pense que ce n'est pas la meilleur solution (d'ailleurs ça ne fonctionne pas ici), mais pourtant çà marchait sur une autre fonction (ajouter).
while ($row = mysql_fetch_array($req)) {
echo "<tr><td> ICI </td><td>$row[Nom]</td><td>$row[Prenom]</td>
Ce qui donnerai:
while ($row = mysql_fetch_array($req)) {
echo "<tr><td> <input type="checkbox" name="choix" /> </td><td>$row[Nom]</td><td>$row[Prenom]</td>
Mais je vois pas du tout comment m'en servir, puisque le nombre de checkbox dépend du nombre de lignes dans le tableau. Bref je m'embrouille complètement.
En ce qui concerne le premier formulaire il est là pour la saisie de la pré-recherche, pour le 2éme tout en bas, je souhaite juste que lorsque je valide cela m'envoie sur la deuxième page de modifier, je pense que ce n'est pas la meilleur solution (d'ailleurs ça ne fonctionne pas ici), mais pourtant çà marchait sur une autre fonction (ajouter).
Mimiste
Messages postés
1149
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
206
8 mars 2009 à 18:37
8 mars 2009 à 18:37
Le problème c'est que le premier formulaire tu ne l'a pas fermé
et le second non plus
Et ce second formulaire il faut qu'il encadre ton tableau avec les cases à cocher pour commencer
et le second non plus
Et ce second formulaire il faut qu'il encadre ton tableau avec les cases à cocher pour commencer
azertyop
Messages postés
11
Date d'inscription
dimanche 8 mars 2009
Statut
Membre
Dernière intervention
25 mai 2009
8 mars 2009 à 18:54
8 mars 2009 à 18:54
J'ai refermé le premier formulaire juste avant la balise ouvrante php.
Pour ce qui est du code des checkbox c'est du html, et vu que mon tableau est en php ça ne marche pas, il me met une erreur.
Je me suis renseigner sur des site et ils ouvrent un formulaire pour intégrer une ou plusieurs checkbox, mais ce n'est pas vraiment ce qu'il faut faire ici (du moins c'est ce que je pense mais vu que je débute en php...) puisque le nombre de checkbox dépend du nombre de contact, il varie donc.
Je veux juste préciser que la checkbox sert juste à désigner toute la ligne du tableau (donc tous les renseignement d'un même contact), et pas seulement un seul renseignement du contact.
Mon idée serait d'afficher tous les renseignements du contact sélectionner dans des zones de texte dans la page modifier2.php, afin de les modifier.
Désolé c'est peut-être un peu flou tous ça mais c'est pas évident a expliquer...
Pour ce qui est du code des checkbox c'est du html, et vu que mon tableau est en php ça ne marche pas, il me met une erreur.
Je me suis renseigner sur des site et ils ouvrent un formulaire pour intégrer une ou plusieurs checkbox, mais ce n'est pas vraiment ce qu'il faut faire ici (du moins c'est ce que je pense mais vu que je débute en php...) puisque le nombre de checkbox dépend du nombre de contact, il varie donc.
Je veux juste préciser que la checkbox sert juste à désigner toute la ligne du tableau (donc tous les renseignement d'un même contact), et pas seulement un seul renseignement du contact.
Mon idée serait d'afficher tous les renseignements du contact sélectionner dans des zones de texte dans la page modifier2.php, afin de les modifier.
Désolé c'est peut-être un peu flou tous ça mais c'est pas évident a expliquer...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mimiste
Messages postés
1149
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
206
8 mars 2009 à 19:05
8 mars 2009 à 19:05
Ton tableau est en HTML, il est simplement construit avec PHP
Pour la fermeture des formulaire c'est avec la balise </form> que ça ce fait je ne les vois pas dans ton code ou alors j'ai besoin de lunettes :p
En ce qui concerne les checkbox il faut simplement leur donner comme nom l'id de l'utilisateur
while ($row = mysql_fetch_array($req)) {
echo "<tr><td> <input type='checkbox' name='choix_".$row[id]."' /> </td><td>$row[Nom]</td><td>$row[Prenom]</td></tr>
}
$row[id] biensur tu remplace id par le nom de la colonne de l'identifiant auto increment dans ta base
de cette manière tes checkbox auront chacune comme nom
choix_1
choix_2
choix_3
etc.. ou 1 2 et 3 correspondent à l'id auto increment contenu dans ta base de données et du coup rien de plus simple dans modifier2.php de savoir quelle checkbox a été cochée etant donné que tu sais que le numero c'est l'identifiant dans la bdd !
Pour la fermeture des formulaire c'est avec la balise </form> que ça ce fait je ne les vois pas dans ton code ou alors j'ai besoin de lunettes :p
En ce qui concerne les checkbox il faut simplement leur donner comme nom l'id de l'utilisateur
while ($row = mysql_fetch_array($req)) {
echo "<tr><td> <input type='checkbox' name='choix_".$row[id]."' /> </td><td>$row[Nom]</td><td>$row[Prenom]</td></tr>
}
$row[id] biensur tu remplace id par le nom de la colonne de l'identifiant auto increment dans ta base
de cette manière tes checkbox auront chacune comme nom
choix_1
choix_2
choix_3
etc.. ou 1 2 et 3 correspondent à l'id auto increment contenu dans ta base de données et du coup rien de plus simple dans modifier2.php de savoir quelle checkbox a été cochée etant donné que tu sais que le numero c'est l'identifiant dans la bdd !
azertyop
Messages postés
11
Date d'inscription
dimanche 8 mars 2009
Statut
Membre
Dernière intervention
25 mai 2009
8 mars 2009 à 20:04
8 mars 2009 à 20:04
Voila j'ai appliquer ce que tu m'a dit, et je dois dire qu'il y a du mieux déjà! Je peu passer à modifier2.php après avoir coché la checkbox, et je voudrait afficher les renseignements actuels dans des zone de saisie (que je pourrai alors modifier ). Bref je regarderai après ça par la suite, car je ne me suis pas encore plonger sur l'existence d'une fonction pour faire ça. En revanche il m'affiche une erreur que je n'avais jamais vu jusqu'à présent à la ligne où je tape ma requête SQL, ($sql="UPDATE...) :
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\wamp\www\Session\modifier2.php on line 61
<form method="POST" action="">
<table border="0" bgcolor="#CECECE" align="center">
<form action="action.php" method="post">
<tr>
<td><h2>Nom :</h2> </td>
<td> <input type="varchar" name="Nom"></td>
<tr>
<td><h2>Prenom :</h2></td>
<td><input type="varchar" name="Prenom"></td>
(...)
<td><td><input type="submit" value="Modifier"></td></td>
</table>
</form>
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("commercial");
$Nom = $_POST ['Nom'];
$Prenom = $_POST ['Prenom'];
(...)
$sql = "UPDATE contacts SET Nom=$Nom, Prenom=$Prenom, Societe=$Societe, Adresse=$Adresse, CodePostal=$CodePostal, Ville=$Ville, Pays=$Pays, TelephoneFix=$TelephoneFix, TelephonePort=$TelephonePort, Email=$Email WHERE ID=$row['ID']";
$modif = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
En tout cas je te remercie déjà pour ta patience, et l'aide que tu m'a apporter!
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\wamp\www\Session\modifier2.php on line 61
<form method="POST" action="">
<table border="0" bgcolor="#CECECE" align="center">
<form action="action.php" method="post">
<tr>
<td><h2>Nom :</h2> </td>
<td> <input type="varchar" name="Nom"></td>
<tr>
<td><h2>Prenom :</h2></td>
<td><input type="varchar" name="Prenom"></td>
(...)
<td><td><input type="submit" value="Modifier"></td></td>
</table>
</form>
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("commercial");
$Nom = $_POST ['Nom'];
$Prenom = $_POST ['Prenom'];
(...)
$sql = "UPDATE contacts SET Nom=$Nom, Prenom=$Prenom, Societe=$Societe, Adresse=$Adresse, CodePostal=$CodePostal, Ville=$Ville, Pays=$Pays, TelephoneFix=$TelephoneFix, TelephonePort=$TelephonePort, Email=$Email WHERE ID=$row['ID']";
$modif = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
En tout cas je te remercie déjà pour ta patience, et l'aide que tu m'a apporter!
Mimiste
Messages postés
1149
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
206
8 mars 2009 à 21:13
8 mars 2009 à 21:13
$sql = "UPDATE contacts SET Nom=$Nom, Prenom=$Prenom, Societe=$Societe, Adresse=$Adresse, CodePostal=$CodePostal, Ville=$Ville, Pays=$Pays, TelephoneFix=$TelephoneFix, TelephonePort=$TelephonePort, Email=$Email WHERE ID='".$row['ID']."'"';
c'etait la fin de la requete qui deconnais.
Par contre je te conseille de toujours entourer les valeurs d'un guillemet simple
UPDATE contacts SET Nom='$Nom', Prenom='$Prenom', etc...
ça risque de poser de gros problèmes dans l'execution de la requète si par exemple tes variables contiennent des espaces c'est l'erreur assurée.
c'etait la fin de la requete qui deconnais.
Par contre je te conseille de toujours entourer les valeurs d'un guillemet simple
UPDATE contacts SET Nom='$Nom', Prenom='$Prenom', etc...
ça risque de poser de gros problèmes dans l'execution de la requète si par exemple tes variables contiennent des espaces c'est l'erreur assurée.
azertyop
Messages postés
11
Date d'inscription
dimanche 8 mars 2009
Statut
Membre
Dernière intervention
25 mai 2009
8 mars 2009 à 22:00
8 mars 2009 à 22:00
Merci du conseil, en effet sa aurait buger car rien que pour l'adresse il y à des espaces.
Par contre sa ne marche toujours pas, il y à une erreur dans les guillemet double ou simple. j'ai tenté ceci:
WHERE ID='".$row['ID']."'";
( juste retiré un simple guillemet à la fin ) et sa a l'air de fonctionner. Par contre une ribambelle d'erreur s'affiche sous mon formulaire, alors qu'elle ne s'affichait pas avant lorsque je mettait ma requête en commentaire, c'est un vrai casse tête!
Notice: Undefined index: Nom in C:\wamp\www\Session\modifier2.php on line 49
Notice: Undefined index: Prenom in C:\wamp\www\Session\modifier2.php on line 50
(... pour toutes mes variables, alors qu'elles sont bien définies ...)
Notice: Undefined variable: row in C:\wamp\www\Session\modifier2.php on line 60
Et après un essai rapide çà ne marche pas.
Par contre sa ne marche toujours pas, il y à une erreur dans les guillemet double ou simple. j'ai tenté ceci:
WHERE ID='".$row['ID']."'";
( juste retiré un simple guillemet à la fin ) et sa a l'air de fonctionner. Par contre une ribambelle d'erreur s'affiche sous mon formulaire, alors qu'elle ne s'affichait pas avant lorsque je mettait ma requête en commentaire, c'est un vrai casse tête!
Notice: Undefined index: Nom in C:\wamp\www\Session\modifier2.php on line 49
Notice: Undefined index: Prenom in C:\wamp\www\Session\modifier2.php on line 50
(... pour toutes mes variables, alors qu'elles sont bien définies ...)
Notice: Undefined variable: row in C:\wamp\www\Session\modifier2.php on line 60
Et après un essai rapide çà ne marche pas.
Mimiste
Messages postés
1149
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
206
8 mars 2009 à 22:26
8 mars 2009 à 22:26
Entre 2 pages php toutes les variables s'effacent, elles ne restent pas en memoire sur le serveur.
Quand tu coche et que tu valide le formulaire seule la checkbox est envoyée à modifier2.php et non pas tous le reste. C'est avec cette valeur de checkbox que tu sera capable de faire une requete pour recuperer les info dans ta base
Quand tu coche et que tu valide le formulaire seule la checkbox est envoyée à modifier2.php et non pas tous le reste. C'est avec cette valeur de checkbox que tu sera capable de faire une requete pour recuperer les info dans ta base
easy-life
Messages postés
38
Date d'inscription
lundi 22 décembre 2008
Statut
Membre
Dernière intervention
28 juin 2009
8 mars 2009 à 22:33
8 mars 2009 à 22:33
bonsoir!
lorsque tu fais la redirection vers la page modif2.php tu dois surcharger le lien pour garder l id du membre que tu as selectionné
header("location:modif2.php?id=.'$t['id_membre']'.");
et saches que header ne s utilise pas avec si ta page contient des echo il faut donc separer l html et le traitement php..
lorsque tu fais la redirection vers la page modif2.php tu dois surcharger le lien pour garder l id du membre que tu as selectionné
header("location:modif2.php?id=.'$t['id_membre']'.");
et saches que header ne s utilise pas avec si ta page contient des echo il faut donc separer l html et le traitement php..
Mimiste
Messages postés
1149
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
206
8 mars 2009 à 22:43
8 mars 2009 à 22:43
Mec merci de lire les posts precedents avant de dire des betises ^^
azertyop
Messages postés
11
Date d'inscription
dimanche 8 mars 2009
Statut
Membre
Dernière intervention
25 mai 2009
8 mars 2009 à 22:54
8 mars 2009 à 22:54
Oui je suis d'accord, mais je me sert bien de la checkbox pour récupérer l'ID, et m'en servir a modifier2.php, mais mes variables et mon tableau sont tous 2 sur la même page php (modifier2).
Donc je pense que le problème ne viens pas de là.
J'ai retenter quelques modifications mais rien n'y fait.
Voila le code de modifier2.php :
<html>
<TITLE> Modifier </TITLE>
<body BGCOLOR="BLUE" TEXT="navy" VLINK="purple" ALINK="PURPLE" BACKGROUND="http://www.weboutils.com/backgrounds/bleu/page7/whtbck3.gif">
<form method="POST" >
<table method="POST" border="0" bgcolor="#CECECE" align="center">
<tr>
<td><h2>Nom :</h2> </td>
<td> <input type="varchar" name="Nom"></td>
<tr>
<td><h2>Prenom :</h2></td>
<td><input type="varchar" name="Prenom"></td>
<tr>
<td><h2>Societe :</h2></td>
<td><input type="varchar" name="Societe"> </td>
<tr>
<td><h2>Adresse : </h2></td>
<td><input type="varchar" name="Adresse"> </td>
<tr>
<td><h2>Code Postal :</h2></td>
<td><input type="varchar" name="CodePostal"> </td>
<tr>
<td><h2>Ville :</h2></td>
<td><input type="varchar" name="Ville"></td>
<tr>
<td><h2>Pays :</h2></td>
<td><input type="varchar" name="Pays"></td>
<tr>
<td><h2>Telephone fixe :</h2></td>
<td><input type="varchar" name="TelephoneFix"></td>
<tr>
<td><h2>Telephone portable :</h2></td>
<td><input type="varchar" name="TelephonePort"></td>
<tr>
<td><h2>E-mail :</h2></td>
<td><input type="varchar" name="Email"> </td>
<tr></tr>
<tr></tr>
<tr></tr>
<td><td><input type="submit" value="Modifier"></td></td>
</table>
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("commercial");
$Nom = $_POST ['Nom'];
$Prenom = $_POST ['Prenom'];
$Societe = $_POST ['Societe'];
$Adresse = $_POST ['Adresse'];
$CodePostal = $_POST ['CodePostal'];
$Ville = $_POST ['Ville'];
$Pays = $_POST ['Pays'];
$TelephoneFix = $_POST ['TelephoneFix'];
$TelephonePort = $_POST ['TelephonePort'];
$Email = $_POST ['Email'];
$sql = "UPDATE contacts SET Nom='$Nom', Prenom='$Prenom', Societe='$Societe', Adresse='$Adresse', CodePostal='$CodePostal', Ville='$Ville', Pays='$Pays', TelephoneFix='$TelephoneFix', TelephonePort='$TelephonePort', Email='$Email' WHERE ID='".$row['ID']."'";
$modif = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
mysql_close();
?>
</form>
</body>
</html>
Donc je pense que le problème ne viens pas de là.
J'ai retenter quelques modifications mais rien n'y fait.
Voila le code de modifier2.php :
<html>
<TITLE> Modifier </TITLE>
<body BGCOLOR="BLUE" TEXT="navy" VLINK="purple" ALINK="PURPLE" BACKGROUND="http://www.weboutils.com/backgrounds/bleu/page7/whtbck3.gif">
<form method="POST" >
<table method="POST" border="0" bgcolor="#CECECE" align="center">
<tr>
<td><h2>Nom :</h2> </td>
<td> <input type="varchar" name="Nom"></td>
<tr>
<td><h2>Prenom :</h2></td>
<td><input type="varchar" name="Prenom"></td>
<tr>
<td><h2>Societe :</h2></td>
<td><input type="varchar" name="Societe"> </td>
<tr>
<td><h2>Adresse : </h2></td>
<td><input type="varchar" name="Adresse"> </td>
<tr>
<td><h2>Code Postal :</h2></td>
<td><input type="varchar" name="CodePostal"> </td>
<tr>
<td><h2>Ville :</h2></td>
<td><input type="varchar" name="Ville"></td>
<tr>
<td><h2>Pays :</h2></td>
<td><input type="varchar" name="Pays"></td>
<tr>
<td><h2>Telephone fixe :</h2></td>
<td><input type="varchar" name="TelephoneFix"></td>
<tr>
<td><h2>Telephone portable :</h2></td>
<td><input type="varchar" name="TelephonePort"></td>
<tr>
<td><h2>E-mail :</h2></td>
<td><input type="varchar" name="Email"> </td>
<tr></tr>
<tr></tr>
<tr></tr>
<td><td><input type="submit" value="Modifier"></td></td>
</table>
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("commercial");
$Nom = $_POST ['Nom'];
$Prenom = $_POST ['Prenom'];
$Societe = $_POST ['Societe'];
$Adresse = $_POST ['Adresse'];
$CodePostal = $_POST ['CodePostal'];
$Ville = $_POST ['Ville'];
$Pays = $_POST ['Pays'];
$TelephoneFix = $_POST ['TelephoneFix'];
$TelephonePort = $_POST ['TelephonePort'];
$Email = $_POST ['Email'];
$sql = "UPDATE contacts SET Nom='$Nom', Prenom='$Prenom', Societe='$Societe', Adresse='$Adresse', CodePostal='$CodePostal', Ville='$Ville', Pays='$Pays', TelephoneFix='$TelephoneFix', TelephonePort='$TelephonePort', Email='$Email' WHERE ID='".$row['ID']."'";
$modif = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
mysql_close();
?>
</form>
</body>
</html>
Mimiste
Messages postés
1149
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
206
8 mars 2009 à 22:58
8 mars 2009 à 22:58
Quand tu arrive pour la premiere fois sur modifier2.php, tes champs ne sont pas rempli et pourtant il execute tout ce code la
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("commercial");
$Nom = $_POST ['Nom'];
$Prenom = $_POST ['Prenom'];
$Societe = $_POST ['Societe'];
$Adresse = $_POST ['Adresse'];
$CodePostal = $_POST ['CodePostal'];
$Ville = $_POST ['Ville'];
$Pays = $_POST ['Pays'];
$TelephoneFix = $_POST ['TelephoneFix'];
$TelephonePort = $_POST ['TelephonePort'];
$Email = $_POST ['Email'];
$sql = "UPDATE contacts SET Nom='$Nom', Prenom='$Prenom', Societe='$Societe', Adresse='$Adresse', CodePostal='$CodePostal', Ville='$Ville', Pays='$Pays', TelephoneFix='$TelephoneFix', TelephonePort='$TelephonePort', Email='$Email' WHERE ID='".$row['ID']."'";
$modif = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
mysql_close();
?>
il est donc normal que $_POST ['Nom']; etc.. il ne les trouve pas
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("commercial");
$Nom = $_POST ['Nom'];
$Prenom = $_POST ['Prenom'];
$Societe = $_POST ['Societe'];
$Adresse = $_POST ['Adresse'];
$CodePostal = $_POST ['CodePostal'];
$Ville = $_POST ['Ville'];
$Pays = $_POST ['Pays'];
$TelephoneFix = $_POST ['TelephoneFix'];
$TelephonePort = $_POST ['TelephonePort'];
$Email = $_POST ['Email'];
$sql = "UPDATE contacts SET Nom='$Nom', Prenom='$Prenom', Societe='$Societe', Adresse='$Adresse', CodePostal='$CodePostal', Ville='$Ville', Pays='$Pays', TelephoneFix='$TelephoneFix', TelephonePort='$TelephonePort', Email='$Email' WHERE ID='".$row['ID']."'";
$modif = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
mysql_close();
?>
il est donc normal que $_POST ['Nom']; etc.. il ne les trouve pas
easy-life
Messages postés
38
Date d'inscription
lundi 22 décembre 2008
Statut
Membre
Dernière intervention
28 juin 2009
8 mars 2009 à 23:02
8 mars 2009 à 23:02
tu sais pourquoi il execute tt le code avant envoi?
car tu as oublier if(isset($_GET['ok'])){}
// ajoute nom='ok' pour le bouton modifier
car tu as oublier if(isset($_GET['ok'])){}
// ajoute nom='ok' pour le bouton modifier
azertyop
Messages postés
11
Date d'inscription
dimanche 8 mars 2009
Statut
Membre
Dernière intervention
25 mai 2009
8 mars 2009 à 23:10
8 mars 2009 à 23:10
Oui je suis d'accord, mais j'ai fait un essai donc en remplissant tous les champs et mon contact n'est pas modifier...
C'est aussi pour cette raison que je voulait que les informations qui étaient dans ma base de donné s'affiche dans les champs, afin de modifier celle que je souhaitait sans tout avoir a réécrire, et évité une erreur suite au champs vide. Mais j'essayerai de le trouver par moi même je ne me suis pas encore penché sur la question.
Si ça pouvait déjà marcher sans ça se serait pas mal!
Jusqu'à présent toutes mes autres recherche sur le web sont infructueuses
C'est aussi pour cette raison que je voulait que les informations qui étaient dans ma base de donné s'affiche dans les champs, afin de modifier celle que je souhaitait sans tout avoir a réécrire, et évité une erreur suite au champs vide. Mais j'essayerai de le trouver par moi même je ne me suis pas encore penché sur la question.
Si ça pouvait déjà marcher sans ça se serait pas mal!
Jusqu'à présent toutes mes autres recherche sur le web sont infructueuses
Mimiste
Messages postés
1149
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
206
9 mars 2009 à 00:10
9 mars 2009 à 00:10
Tu brûle les étapes la
Ce que tu veux pour le moment c'est afficher ton formulaire de modification de contact en fonction de la checkbox cochée
enleve donc tout ce code d'update pour le moment il ne sert a rien, on verra apres
tout ça tu l'enleve
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("commercial");
$Nom = $_POST ['Nom'];
$Prenom = $_POST ['Prenom'];
$Societe = $_POST ['Societe'];
$Adresse = $_POST ['Adresse'];
$CodePostal = $_POST ['CodePostal'];
$Ville = $_POST ['Ville'];
$Pays = $_POST ['Pays'];
$TelephoneFix = $_POST ['TelephoneFix'];
$TelephonePort = $_POST ['TelephonePort'];
$Email = $_POST ['Email'];
$sql = "UPDATE contacts SET Nom='$Nom', Prenom='$Prenom', Societe='$Societe', Adresse='$Adresse', CodePostal='$CodePostal', Ville='$Ville', Pays='$Pays', TelephoneFix='$TelephoneFix', TelephonePort='$TelephonePort', Email='$Email' WHERE ID='".$row['ID']."'";
$modif = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
mysql_close();
?>
Ce qu'on veut pour le moment c'est parcourir avec une boucle toute les checkbox à la recherche de celle qui a été cochée ! et tout ceci ce fait evidement avant d'afficher le formulaire
Une fois qu'on sais quelle checkbox a été cochée on execute un select sur la base de donnée pour recuperer les informations et on affiche ces informations dans les champs du formulaire
Ce que tu veux pour le moment c'est afficher ton formulaire de modification de contact en fonction de la checkbox cochée
enleve donc tout ce code d'update pour le moment il ne sert a rien, on verra apres
tout ça tu l'enleve
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("commercial");
$Nom = $_POST ['Nom'];
$Prenom = $_POST ['Prenom'];
$Societe = $_POST ['Societe'];
$Adresse = $_POST ['Adresse'];
$CodePostal = $_POST ['CodePostal'];
$Ville = $_POST ['Ville'];
$Pays = $_POST ['Pays'];
$TelephoneFix = $_POST ['TelephoneFix'];
$TelephonePort = $_POST ['TelephonePort'];
$Email = $_POST ['Email'];
$sql = "UPDATE contacts SET Nom='$Nom', Prenom='$Prenom', Societe='$Societe', Adresse='$Adresse', CodePostal='$CodePostal', Ville='$Ville', Pays='$Pays', TelephoneFix='$TelephoneFix', TelephonePort='$TelephonePort', Email='$Email' WHERE ID='".$row['ID']."'";
$modif = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
mysql_close();
?>
Ce qu'on veut pour le moment c'est parcourir avec une boucle toute les checkbox à la recherche de celle qui a été cochée ! et tout ceci ce fait evidement avant d'afficher le formulaire
Une fois qu'on sais quelle checkbox a été cochée on execute un select sur la base de donnée pour recuperer les informations et on affiche ces informations dans les champs du formulaire
easy-life
Messages postés
38
Date d'inscription
lundi 22 décembre 2008
Statut
Membre
Dernière intervention
28 juin 2009
9 mars 2009 à 12:47
9 mars 2009 à 12:47
exactement,
if(isset($_POST['ok']))
if(isset($_POST[ch]))// tableau indicé des checkbox
tu fais le parcours pour savoir quelles checkbox ont ete cochées
apres tu recuperes
$choix=$_POST[ch][$i];
if(isset($_POST['ok']))
if(isset($_POST[ch]))// tableau indicé des checkbox
tu fais le parcours pour savoir quelles checkbox ont ete cochées
apres tu recuperes
$choix=$_POST[ch][$i];
azertyop
Messages postés
11
Date d'inscription
dimanche 8 mars 2009
Statut
Membre
Dernière intervention
25 mai 2009
9 mars 2009 à 19:43
9 mars 2009 à 19:43
Bon après avoir lu vos dernières réponses, et refait quelque recherche voici ce que j'en ai déduit. Je voudrait savoir si je suis sur la bonne voie, et si j'introduis bien la recherche au tous début de ma 2éme page (puisque vous m'avez dit que les checkboxs cochés restent en mémoires) placé ainsi, le tableau serait créer, et la chechbox déjà cocher :
foreach (array_TAB) { // parcourir le tableau TAB
if(isset($_POST[ch])) // si la ligne est coché
$choix=$_POST[ch][$i]; //
}
Par contre, je pense qu'il faudrait que je donne un nom à mon tableau du coup, pour l'appeler TAB... Et ce que je m'y prend bien?
echo '<center>';echo"<table border=1 bgcolor='#FFFFFF'> name=TAB";echo '</center>';
foreach (array_TAB) { // parcourir le tableau TAB
if(isset($_POST[ch])) // si la ligne est coché
$choix=$_POST[ch][$i]; //
}
Par contre, je pense qu'il faudrait que je donne un nom à mon tableau du coup, pour l'appeler TAB... Et ce que je m'y prend bien?
echo '<center>';echo"<table border=1 bgcolor='#FFFFFF'> name=TAB";echo '</center>';
azertyop
Messages postés
11
Date d'inscription
dimanche 8 mars 2009
Statut
Membre
Dernière intervention
25 mai 2009
10 mars 2009 à 20:10
10 mars 2009 à 20:10
Bon finalement, abandon des checksbox, trop compliqué à utilisé et pour ce que je veux faire je n'en ai pas trop l'utilité, je vais faire un bon vieux lien modifier, et récupérer l'ID avec un $_GET['ID'].
J'ai quand même quelques problèmes avec cette méthode mais j'avance mieu!
En tous cas je vous remercie tous de votre aide!
J'ai quand même quelques problèmes avec cette méthode mais j'avance mieu!
En tous cas je vous remercie tous de votre aide!