Modification et suppression entree bdd avec php

Eléphant du PHP | 61 Messages

20 févr. 2009, 15:46

Bonjour,

voila, j'ai un fichier bouton.php qui est un menu, celui ci renvoit ver sun autre fichier php label....php qui fais un select sur la première lettre des enttrées de mes champs. (les deux fichiers php sont en dessous

1) je souhaite a coté de chaque ligne de mon tableau rajouter supprimer et modifier pour que la personne consulte ses entrées et puisse supprimer et modifier simplement je pense ne pas avoir de souci pour la commande update et delete par contre je ne vois pas comment l afficher a chaque ligne, a coté de chaque entrée ...

2) comme vous pouvez le voir :P mon menu comporte 27 boutons qui renvoient vers 27 fichier PHP, connaissez vous un moyen plus simple afin d eviter 27 fichier php

Merci de votre aide

bouton.php

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtmll/DTD/xhtmll-transitional.dtd"> <html Xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>listing</title> <link href="style.css" rel="stylesheet" type="text/css" /> </head> <body> <ul class="menu"> <li><a href="bouton.php?page=label0" target="_self" class="active"><span>Label 0-9</span></a></li> <li><a href="bouton.php?page=labela" target="_self"><span>Label A</span></a></li> <li><a href="bouton.php?page=labelb" target="_self"><span>Label B</span></a></li> <li><a href="bouton.php?page=labelc" target="_self"><span>Label C</span></a></li> <li><a href="bouton.php?page=labeld" target="_self"><span>Label D</span></a></li> <li><a href="bouton.php?page=labele" target="_self"><span>Label E</span></a></li> <li><a href="bouton.php?page=labelf" target="_self"><span>Label F</span></a></li> <li><a href="bouton.php?page=labelg" target="_self"><span>Label G</span></a></li> <li><a href="bouton.php?page=labelh" target="_self"><span>Label H</span></a></li> <li><a href="bouton.php?page=labeli" target="_self"><span>Label I</span></a></li> <li><a href="bouton.php?page=labelj" target="_self"><span>Label J</span></a></li> <li><a href="bouton.php?page=labelk" target="_self"><span>Label K</span></a></li> <li><a href="bouton.php?page=labell" target="_self"><span>Label L</span></a></li> <li><a href="bouton.php?page=labelm" target="_self"><span>Label M</span></a></li> <li><a href="bouton.php?page=labeln" target="_self"><span>Label N</span></a></li> <li><a href="bouton.php?page=labelo" target="_self"><span>Label O</span></a></li> <li><a href="bouton.php?page=labelp" target="_self"><span>Label P</span></a></li> <li><a href="bouton.php?page=labelq" target="_self"><span>Label Q</span></a></li> <li><a href="bouton.php?page=labelr" target="_self"><span>Label R</span></a></li> <li><a href="bouton.php?page=labels" target="_self"><span>Label S</span></a></li> <li><a href="bouton.php?page=labelt" target="_self"><span>Label T</span></a></li> <li><a href="bouton.php?page=labelu" target="_self"><span>Label U</span></a></li> <li><a href="bouton.php?page=labelv" target="_self"><span>Label V</span></a></li> <li><a href="bouton.php?page=labelw" target="_self"><span>Label W</span></a></li> <li><a href="bouton.php?page=labelx" target="_self"><span>Label X</span></a></li> <li><a href="bouton.php?page=labely" target="_self"><span>Label Y</span></a></li> <li><a href="bouton.php?page=labelz" target="_self"><span>Label Z</span></a></li> <?php if(!empty($_GET['page'])) { if(file_exists($_GET['page'].'.php') AND !preg_match("/(\.|config|inc)/iU", $_GET['page'])) { include ($_GET['page'].'.php'); } } ?> </ul> </body> </html>
exemple d'un des label...php

Code : Tout sélectionner

<!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" dir="ltr"> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <title>Handsandarms</title> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <br></br> <br></br> <br></br> <br></br> <br></br> <?php include ('config.php'); include ('connexion.php'); echo '<table> <tr> <th>Label</th> <th>Référence</th> <th>Artiste</th> <th>Album</th> <th>Format</th> </tr>'; $sql = "SELECT * FROM label INNER JOIN contenu ON contenu.id_label = label.id_label Where nom_label LIKE 'a%' order by nom_label, reference; "; $req = mysql_query($sql); while ($resultat = mysql_fetch_array($req)) { echo '<tr>'; echo '<td>'.$resultat['nom_label'].'</td>'; echo '<td>'.$resultat['reference'].'</td>'; echo '<td>'.$resultat['artiste'].'</td>'; echo '<td>'.$resultat['album'].'</td>'; echo '<td>'.$resultat['format'].'</td>'; echo '</tr>'; } echo '</table>'; ?> </body></html> <?php mysql_close(); ?>
[/code]

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

20 févr. 2009, 15:55

comment l afficher a chaque ligne, a coté de chaque entrée ...
Tout simplement en ajoutant au bout de chaque ligne un lien vers le script php qui exécutera ta commande :)
echo '<td>'.$resultat['nom_label'].'</td>';
echo '<td>'.$resultat['reference'].'</td>';
...
echo '<td><a href="formulaire_de_mise_a_jour.php?reference='.$resultat['reference'].'">Mettre à Jour</a></td>';
echo '<td><a href="script_de_suppression.php?reference='.$resultat['reference'].'">Supprimer</a></td>';
Ce peut être un seul et même script ou deux scripts différents, ou autre... l'idée est surtout de passer dans l'url l'identifiant ou la référence, ou n'importe quelle donnée qui te permet derriere de savoir quel fiche modifier ou supprimer :)
mon menu comporte 27 boutons qui renvoient vers 27 fichier PHP, connaissez vous un moyen plus simple afin d eviter 27 fichier php
Oh que oui ! :)

Tes 27 fichiers faisant scrupuleusement la même chose à une lettre près, il te suffit de ne garder qu'un seul fichier et de lui passer cette lettre en paramètre. Imaginons un fichier "label.php". Tu peux l'ouvrir via l'url "label.php?lettre=a" ou "label.php?lettre=z". Il ne te reste plus dans ce fichier qu'à récupérer le paramètre "lettre" ($_GET['lettre']) et de l'utiliser dans ta requête pour trouver les résultats correspondants :)

Ca sera nettement plus simple à maintenir ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 61 Messages

20 févr. 2009, 16:14

pour le modifier supprimer pas de souci apr contre pour le get ca ne fonctionne pas il m affiche toutes les entrées je vois pas d ou ca vient ... desole je suis debutant

Code : Tout sélectionner

<!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" dir="ltr"> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <title>Handsandarms</title> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <br></br> <br></br> <br></br> <br></br> <br></br> <?php include ('config.php'); include ('connexion.php'); echo '<table> <tr> <th>Label</th> <th>Référence</th> <th>Artiste</th> <th>Album</th> <th>Format</th> </tr>'; // paramètre reçu désignant le critère du nom du label recherché $param1 = ($_GET['label']); // $sql = "SELECT * FROM label INNER JOIN contenu ON contenu.id_label = label.id_label Where nom_label LIKE '$param1%' order by nom_label, reference; "; $req = mysql_query($sql); while ($resultat = mysql_fetch_array($req)) { echo '<tr>'; echo '<td>'.$resultat['nom_label'].'</td>'; echo '<td>'.$resultat['reference'].'</td>'; echo '<td>'.$resultat['artiste'].'</td>'; echo '<td>'.$resultat['album'].'</td>'; echo '<td>'.$resultat['format'].'</td>'; echo '</tr>'; } echo '</table>'; ?> </body></html> <?php mysql_close(); ?>