[PHP/MySQL] Modif et suppr des données
Fermé
sidarks
Messages postés
15
Date d'inscription
vendredi 10 novembre 2006
Statut
Membre
Dernière intervention
17 novembre 2009
-
18 avril 2007 à 16:48
sidarks Messages postés 15 Date d'inscription vendredi 10 novembre 2006 Statut Membre Dernière intervention 17 novembre 2009 - 20 avril 2007 à 13:18
sidarks Messages postés 15 Date d'inscription vendredi 10 novembre 2006 Statut Membre Dernière intervention 17 novembre 2009 - 20 avril 2007 à 13:18
A voir également:
- [PHP/MySQL] Modif et suppr des données
- Suivi des modifications word - Guide
- Easy php - Télécharger - Divers Web & Internet
- Excel validation des données liste - Guide
- Mysql community server - Télécharger - Bases de données
- Reinstaller windows sans perte de données - Guide
7 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
18 avril 2007 à 17:52
18 avril 2007 à 17:52
Bonjour,
Dans ton tableau, tu utilises beaucoup de champs qui ont le même nom...
Par exemple :
<input name='nom_tache'
"nom_tache" va être attribué à autant de champ texte qu'il y a de lignes dans ton tableau ! Alors du coup, quand tu valides, tu ne peux pas savoir quel "nom_tache" va être utilisé pour la modification.
La solution serait d'appeler ces différents champs "nom_tache".$liste['idtache']
Ainsi, ils auront tous un nom différent.
Je te laisse adapter la suite du script pour la modification.
Xavier
Dans ton tableau, tu utilises beaucoup de champs qui ont le même nom...
Par exemple :
<input name='nom_tache'
"nom_tache" va être attribué à autant de champ texte qu'il y a de lignes dans ton tableau ! Alors du coup, quand tu valides, tu ne peux pas savoir quel "nom_tache" va être utilisé pour la modification.
La solution serait d'appeler ces différents champs "nom_tache".$liste['idtache']
Ainsi, ils auront tous un nom différent.
Je te laisse adapter la suite du script pour la modification.
Xavier
sidarks
Messages postés
15
Date d'inscription
vendredi 10 novembre 2006
Statut
Membre
Dernière intervention
17 novembre 2009
20 avril 2007 à 08:37
20 avril 2007 à 08:37
bonjour,
j'ai du réadapté le code et j'en ai profité pour changer les noms des champs etc, mais j'ai toujours ce problème...
la suppression fonctionne très bien je peux selectionner plusieurs checkbox et les supprimer en même tps...
mais lorsque je veux modifier je ne peux le faire qu'a la dernière ligne de mon tableau, c'est ça que je pige pas lol...par contre si je modifie la dernière ligne du tableau et qu'ensuite je souhaite modifier une autre ligne, cette ligne prendra les valeurs modifées de la dernière ligne d emon tableau...
voila donc il doit y avoir quelque chose que je ne vois pas...mercid e votre aide
j'ai du réadapté le code et j'en ai profité pour changer les noms des champs etc, mais j'ai toujours ce problème...
la suppression fonctionne très bien je peux selectionner plusieurs checkbox et les supprimer en même tps...
mais lorsque je veux modifier je ne peux le faire qu'a la dernière ligne de mon tableau, c'est ça que je pige pas lol...par contre si je modifie la dernière ligne du tableau et qu'ensuite je souhaite modifier une autre ligne, cette ligne prendra les valeurs modifées de la dernière ligne d emon tableau...
voila donc il doit y avoir quelque chose que je ne vois pas...mercid e votre aide
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
20 avril 2007 à 09:13
20 avril 2007 à 09:13
Tu pourrais nous fournir le code généré ? (C'est à dire que dans ton navigateur, tu fais "afficher la source" et tu copies-colles le formulaire).
C'est souvent le meilleur moyen de comprendre ce qui ne va pas :)
C'est souvent le meilleur moyen de comprendre ce qui ne va pas :)
sidarks
Messages postés
15
Date d'inscription
vendredi 10 novembre 2006
Statut
Membre
Dernière intervention
17 novembre 2009
20 avril 2007 à 10:17
20 avril 2007 à 10:17
pas de souci ^^ le voici le voila :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Document sans titre</title> <meta name="description" content="Listes dynamiques liées: la seconde liste est modifiée instantanément lors d'une sélection sur la première." /> <meta name="keywords" content="menu,déroulant,select,liées,JavaScript" /> <meta name="author" content="Cyrano" /> <meta name="generator" content="Zend Studio Environnement et WebExpert 5" /> <meta http-equiv="imagetoolbar" content="no" /> <meta http-equiv="Pragma" content="no-cache" /> <script type="text/javascript" src="./arrayPHP2JSB.js" charset="iso_8859-1"></script> <script type="text/javascript" src="./changeTache.js" charset="iso_8859-1"></script> <script type="text/javascript"> /* <![CDATA[ */ <!-- /* * Ici, on transmets la chaîne sérialisée à JavaScript * pour la transformer en tableau indexé JavaScript */ var tableau = new PhpArray2Js('a:2:{i:2;a:3:{i:0;s:6:"RESEAU";i:1;a:3:{i:0;s:1:"8";i:1;s:1:"5";i:2;s:1:"6";}i:2;a:3:{i:0;s:4:"test";i:1;s:6:"cables";i:2;s:12:"informatique";}}i:3;a:3:{i:0;s:11:"FONDATATION";i:1;a:2:{i:0;s:1:"1";i:1;s:1:"2";}i:2;a:2:{i:0;s:12:"semele fines";i:1;s:15:"semelle lourdes";}}}'); var tab = tableau.retour(); // --> /* ]]> */ </script> <link rel="stylesheet" type="text/css" href="../../menu.css"/> <script type="text/javascript"> <!-- window.onload=montre; function montre(id) { var d = document.getElementById(id); for (var i = 1; i<=10; i++) { if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';} } if (d) {d.style.display='block';} } //--> </script> </head> <body> <div id="menu"> <dl> <dt onmouseover="javascript:montre();"><a href="../../index.php" title="Retour à l'accueil">Accueil</a></dt> </dl> <dl> <dt onmouseover="javascript:montre('smenu1');">Chantier</dt> <dd id="smenu1"> <ul> <li><a href="../chantier/add_chantier.php">Créer Chantier</a></li> <li><a href="../chantier/consult_chantier.php">Consulter Chantier</a></li> </ul> </dd> </dl> <dl> <dt onmouseover="javascript:montre('smenu2');">Gestion</dt> <dd id="smenu2"> <ul> <li><a href="../personnel.php">Personnel</a></li> <li><a href="../type_tache.php">Type de tâche</a></li> <li><a href="../unite.php">Unités</a></li> <li><a href="../tu_bib.php">Temps Unitaires Bibles</a></li> <li><a href="../taches.php">Tâches</a></li> </ul> </dd> </dl> <dl> <dt onmouseover="javascript:montre('smenu3');">Budget d'heures</dt> <dd id="smenu3"> <ul> <li><a href="choix_chantier.php"> Création Budget</a></li> </ul> </dd> </dl> </div> <br><br><br><br><br>N° chantier : <input name='num' type='text' value='6000'><br>Nom du Chantier : <input name='nom' type='text' value='meylan'><br>Batiment: <input name='bat' type='text' value='batiment B'><br>Niveau : <input name='niv' type='text' value='niv1B'><br><br><u><b>Création de budget d'heures pour ce chantier</b></u><br> <form action="" method="POST"> <table> <tr> <td><b>Nom Tâche</b></td> <td><b>Quantité</b></td> <td><b>Aleas</b></td> </tr> <tr> <select name="type_tache" id="type_tache" onchange="changeTache(tab,this.value);"> <option value="vide">- - - Choisissez un type de tache - - -</option> <option value="2">RESEAU</option> <option value="3">FONDATATION</option> </select><br /><br /></td> <!-- ICI, le secret : on met un bloc avec un id ou va s'insérer le code de la seconde liste déroulande --> <td><span id="blocTache"></span><br /></td> <td><input name='qte' type='text' /></td> <td><input name='aleas' type='text' /></td> <td><input type='submit' value='Ajouter' /></td> <input type="hidden" name="idchantier" value="32" /> </tr> </table> </form> <br /><br /> <u><b>Liste des tâches par type</b></u><br /><br /> <form action="" method="POST"> <b>INSTALLATION</b><br><br><table border=1><tr><td></td><td><b>Nom Tâche</b></td><td><b>Quantité</b></td><td><b>Unité</b></td><td><b>TU Bible</b></td><td><b>Aleas</b></td><td><b>TU</b></td><td><b>Heures théoriques</b></td><td><b>Heures effectives</b></td></tr><br><TR><TD><br></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td><u><b>Total heures : </u></td><td><b></B></td><td><b></tr></table><br><br><b>RESEAU</b><br><br><table border=1><tr><td></td><td><b>Nom Tâche</b></td><td><b>Quantité</b></td><td><b>Unité</b></td><td><b>TU Bible</b></td><td><b>Aleas</b></td><td><b>TU</b></td><td><b>Heures théoriques</b></td><td><b>Heures effectives</b></td></tr><tr><td><input name='com' id='com' type='text' value=''></td><td>test</td><td><input name='qte1' type='text' value ='2'></td></td><td>m3</td><td>9.5</td><td><input name='aleas1' type='text' value='4'></td><td>38</td><td>76</td><td><input name='heure_eff' id='heure_eff' type='text' value='0'></td><td><input name='modifier[]' type='checkbox' value='10'></td></tr><tr><td><input name='com' id='com' type='text' value='test2'></td><td>cables</td><td><input name='qte1' type='text' value ='6'></td></td><td>cm</td><td>6</td><td><input name='aleas1' type='text' value='6'></td><td>36</td><td>216</td><td><input name='heure_eff' id='heure_eff' type='text' value='0'></td><td><input name='modifier[]' type='checkbox' value='8'></td></tr><br><TR><TD><br></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td><u><b>Total heures : </u></td><td><b>292</B></td><td><b>0</tr></table><br><br><b>FONDATATION</b><br><br><table border=1><tr><td></td><td><b>Nom Tâche</b></td><td><b>Quantité</b></td><td><b>Unité</b></td><td><b>TU Bible</b></td><td><b>Aleas</b></td><td><b>TU</b></td><td><b>Heures théoriques</b></td><td><b>Heures effectives</b></td></tr><br><TR><TD><br></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td><u><b>Total heures : </u></td><td><b></B></td><td><b></tr></table><br><br><td><input name='modif' type='submit' value='Modifier'></td><td><input name='suprr' type='submit' value='Supprimer'></td></tr></form> </body> </html>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
sidarks
Messages postés
15
Date d'inscription
vendredi 10 novembre 2006
Statut
Membre
Dernière intervention
17 novembre 2009
20 avril 2007 à 10:20
20 avril 2007 à 10:20
désolé de poster deux fois mais c'est pour plus de lisibilité...
je te remet le nouveau code de mon formulaire au cas ou egalement...merci de ton aide
je te remet le nouveau code de mon formulaire au cas ou egalement...merci de ton aide
<form action="" method="POST"> <? $select_type = mysql_query("SELECT * FROM type_tache"); while ($liste_type = mysql_fetch_array($select_type)) { echo "<b>".$liste_type['nom_type']."</b><br><br><table border=1>"; echo "<tr><td></td>"; echo "<td><b>Nom Tâche</b></td>"; echo "<td><b>Quantité</b></td>"; echo "<td><b>Unité</b></td>"; echo "<td><b>TU Bible</b></td>"; echo "<td><b>Aleas</b></td>"; echo "<td><b>TU</b></td>"; echo "<td><b>Heures théoriques</b></td>"; echo "<td><b>Heures effectives</b></td></tr>"; $idtype_tache = $liste_type['idtype_tache']; $select_budget = mysql_query("SELECT * FROM budget,taches, unite, tu_bib, type_tache WHERE budget.idchantier='$idchantier' AND budget.idbatiments ='$idbatiments' AND budget.idniveau='$idniveau' AND type_tache.idtype_tache='$idtype_tache' AND type_tache.idtype_tache=taches.idtype_tache AND taches.idtaches = budget.idtaches AND tu_bib.idtu_bib=taches.idtu_bib AND unite.idunite = taches.idunite"); while ($liste_budget=mysql_fetch_array($select_budget)) { echo "<tr><td><input name='com' id='com' type='text' value='".$liste_budget['com']."'></td>"; $idbudget = $liste_budget['idbudget']; $select_tache1 = mysql_query("SELECT * from taches,type_tache, budget WHERE budget.idtaches=taches.idtaches AND type_tache.idtype_tache = budget.idtype_tache AND idbudget='$idbudget'"); $tab1 = mysql_fetch_array($select_tache1); echo "<td>".$tab1['nom_taches']."</td>"; echo "<td><input name='qte1' type='text' value ='".$liste_budget['qte']."'></td>"; $idunite = $liste_budget['idunite']; $idtu_bib = $liste_budget['idtu_bib']; $select1 = mysql_query("SELECT * FROM unite WHERE idunite ='$idunite'"); $tab1 = mysql_fetch_array($select1); $select2 = mysql_query("SELECT * FROM tu_bib WHERE idtu_bib ='$idtu_bib'"); $tab2 = mysql_fetch_array($select2); echo"</td><td>"; echo $tab1['nom_unite']; echo"</td><td>"; echo $tab2['tu_bib']; echo "</td><td>"; echo "<input name='aleas1' type='text' value='".$liste_budget['aleas']."'>"; echo "</td><td>"; echo $liste_budget['tu']; echo "</td><td>"; echo $liste_budget['heure_the']; echo "</td><td>"; echo "<input name='heure_eff' id='heure_eff' type='text' value='".$liste_budget['heure_eff']."'></td>"; echo "<td><input name='modifier[]' type='checkbox' value='".$liste_budget['idbudget']."'>"; echo "</td></tr>"; } $calcul = mysql_query("SELECT sum(heure_the) as somme FROM budget WHERE budget.idchantier='$idchantier' AND budget.idbatiments ='$idbatiments' AND budget.idniveau='$idniveau' AND budget.idtype_tache='$idtype_tache' "); $calcul2 = mysql_query("SELECT sum(heure_eff) as somme FROM budget WHERE budget.idchantier='$idchantier' AND budget.idbatiments ='$idbatiments' AND budget.idniveau='$idniveau' AND budget.idtype_tache='$idtype_tache' "); $heure_total_the = mysql_fetch_assoc($calcul); $heure_total_eff = mysql_fetch_assoc($calcul2); echo "<br><TR><TD><br></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td><u><b>Total heures : </u></td><td><b>".$heure_total_the['somme']."</B></td><td><b>".$heure_total_eff['somme']."</tr>"; echo "</table><br><br>";} echo "<td><input name='modif' type='submit' value='Modifier'></td><td><input name='suprr' type='submit' value='Supprimer'></td></tr>"; if(isset($_POST['suprr']) ) { foreach ($_POST['modifier'] as $idbudget1) { $delete = "DELETE FROM budget WHERE idbudget='$idbudget1'"; $requete_delete = mysql_query($delete, $connect); echo "<META HTTP-equiv=\"refresh\"content=0;URL=add_budget.php?idchantier=".$idchantier."&batiments=".$idbatiments."&niveau=".$idniveau.">";// on revient sur le formulaire }} if(isset($_POST['modif']) ) { $com = $_POST['com']; $heure_eff=$_POST['heure_eff']; $qte1 = $_POST['qte1']; $aleas1 = $_POST['aleas1']; $tu1=$tab2['tu_bib']*$aleas1; $heure_the1=$qte1*$tu1; foreach ($_POST['modifier'] as $idbudget) { $update = "UPDATE budget SET com='$com', heure_eff='$heure_eff', qte='$qte1', aleas='$aleas1', tu='$tu1', heure_the='$heure_the1' WHERE idbudget ='$idbudget'"; $requete_update = mysql_query($update, $connect); echo "<META HTTP-equiv=\"refresh\"content=0;URL=add_budget.php?idchantier=".$idchantier."&batiments=".$idbatiments."&niveau=".$idniveau.">";// on revient sur le formulaire }} ?> </form>
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
20 avril 2007 à 12:03
20 avril 2007 à 12:03
En fait, est-ce que tu as lu mon premier message ? Non, je dis ça parce que tu as toujours tes champs qui ont le même nom...
Et au passage, cela n'a rien à voir avec le problème, mais méfie-toi : ta table n'est pas toujours bien formée (y a des </td> sans <td> et des <td> sans </td>)
Et au passage, cela n'a rien à voir avec le problème, mais méfie-toi : ta table n'est pas toujours bien formée (y a des </td> sans <td> et des <td> sans </td>)
sidarks
Messages postés
15
Date d'inscription
vendredi 10 novembre 2006
Statut
Membre
Dernière intervention
17 novembre 2009
20 avril 2007 à 13:18
20 avril 2007 à 13:18
oui oui j'ai bien lu ton premier message lol et j'ai bien fait les modifs...si tu regarde bien les champs que je desire modifier ( aleas, qte, com, heure_eff) n'ont soit pas le même nom lorsque je re recupère les données ( aleas1 et qte1) soit n'existent pas encore ( com et heure_eff) après il est possible que j'en vois pas un mais bon^^