[PHP/SQL] Supprimer lignes d'un tableau
Résolu/Fermé
A voir également:
- [PHP/SQL] Supprimer lignes d'un tableau
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Comment faire un tableau - Guide
- Supprimer une page word - Guide
- Supprimer compte instagram - Guide
3 réponses
Jean-François Pillou
Messages postés
18301
Date d'inscription
lundi 15 février 1999
Statut
Webmaster
Dernière intervention
16 février 2023
63 274
2 mars 2010 à 12:19
2 mars 2010 à 12:19
Etant donné que $id_contact=$_GET['id_contact'], es-tu sûr que c'est un tableau que tu passes en GET ?
D'une manière générale, avant un foreach il faut faire un test du type :
D'une manière générale, avant un foreach il faut faire un test du type :
if(count($id_contact){ foreach($id_contact as $valeur) { $sql=" DELETE FROM contact_form WHERE id_contact='$valeur' " ; $req= mysql_query($sql); } }
Mon get en effet ne renvoyait pas un tableau mais l'id de l'élément .
J'ai réussi a faire ce que je voulais en utilisant une manière plus simple :
Merci quand même ;)
J'ai réussi a faire ce que je voulais en utilisant une manière plus simple :
<?php $db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error()); mysql_select_db('ma_base',$db) or die('Erreur de selection '.mysql_error()); $id_contact=$_GET['id_contact']; $sql=" DELETE FROM contact_form WHERE id_contact='$id_contact' " ; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); include('/affiche_contact.php'); ?>
Merci quand même ;)
Re,
Tant qu'à faire je vais exposer mon 2nd problème (quand y'en a plus y'en a encore)
Cette fois ci ça concerne les update.
Je voudrais comme précédement, afficher un lien modifier.
ce lien renverrait vers une page où l'on afficherait dans des <input> les élements de la ligne choisi.
On aurait un bouton enregistrer qui enregistrerait les modifications apporté.
Je vois ça en 3 étapes :
1)mon fichier affiche_contact.php (où l'on a tous les enregistrements de la table)
2)mon fichier update.php(où l'on a uniquement l'enregistrement séelctionné et où l'on modifie les informations)
3)un fichier maj.php(où l'on traite la mise à jour)
On peut surment éviter le fichier maj.php en le regroupant dans le fichier update.php mais sa à l'avantage d'être clair.
Cependant j'ai un gros souci à l'étape 2 : j'arrive par exemple à afficher TOUS les éléments de ma table dans mes inputs, mais jamais UN SEUL éléments.
voilà le code de update.php :
Tant qu'à faire je vais exposer mon 2nd problème (quand y'en a plus y'en a encore)
Cette fois ci ça concerne les update.
Je voudrais comme précédement, afficher un lien modifier.
ce lien renverrait vers une page où l'on afficherait dans des <input> les élements de la ligne choisi.
On aurait un bouton enregistrer qui enregistrerait les modifications apporté.
Je vois ça en 3 étapes :
1)mon fichier affiche_contact.php (où l'on a tous les enregistrements de la table)
2)mon fichier update.php(où l'on a uniquement l'enregistrement séelctionné et où l'on modifie les informations)
3)un fichier maj.php(où l'on traite la mise à jour)
On peut surment éviter le fichier maj.php en le regroupant dans le fichier update.php mais sa à l'avantage d'être clair.
Cependant j'ai un gros souci à l'étape 2 : j'arrive par exemple à afficher TOUS les éléments de ma table dans mes inputs, mais jamais UN SEUL éléments.
voilà le code de update.php :
<?php $db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error()); mysql_select_db('ma_base',$db) or die('Erreur de selection '.mysql_error()); ?> <body> <table border="1"> <tr> <th width="10%">Nom</th> <th width="10%">Prenom</th> <th width="10%">Adresse</th> <th width="10%">E-mail</th> <th width="10%">Telephone</th> <th width="10%">Telephone Portable</th> </tr> <?php $id_contact=$_GET['id_contact']; echo $id_contact ;//pour vériier qu'on récupére le bon id_contact. OK // lancement de la requete avec transformation du format de la date. C'est ICI que ça buggue !! //ci dessous on ne me renvoit aucun résultat, mais aucune erreur $sql = " SELECT * FROM contact_form WHERE id_contact = '$id_contact' "; //ci dessous on me renvoit bien mes informations dans mes inputs $sql = " SELECT * FROM contact_form "; // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die) $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); // on recupere le resultat sous forme d'un tableau $data = mysql_fetch_array($req); while($data = mysql_fetch_array($req)) { // on affiche les informations des contacts echo '<tr><td><input name="nom" type="text" id="nom" value='.$data['nom'].'></td>'; echo '<td><input name="prenom" type="text" id="prenom" value='.$data['prenom'].'></td>'; echo '<td><input name="adresse" type="text" id="adresse" value='.$data['adresse'].'></td>'; echo '<td><input name="email" type="text" id="email" value='.$data['email'].'></td>'; echo '<td><input name="tel" type="text" id="tel" value='.$data['tel'].'></td>'; echo '<td><input name="tel2" type="text" maxlength="10" size="10" id="tel2" value='.$data['tel2'].'></td></tr>'; } mysql_free_result ($req); ?> </table> </body> </html>