Page 1 sur 1

Modifier des données par lot, je m'explique ...

Posté : 11 déc. 2006, 18:30
par theavengers
Bonjour à tous et toutes,
voila, j'ai une base avec des annonces, et je les valide à la main pour eviter les gros perver qui traine ... mon soucis, c'est que je valide chaque annonce à la main, et j'aimerais pouvoir par ex avoir une case à cocher et tout en bas cliquer sur valider. Mais je ne vois pas du tout comment m'y prendre.

Je vous mets ce que j'ai pour l'instant qui fonctionne :

Code : Tout sélectionner

<?php require_once("connexion.php"); $BD_link = mysql_connect("${'BD_host'}${'BD_port'}", $BD_login, $BD_pass) or die("Connexion de la base impossible : ". mysql_error()); //selection de la table mysql_select_db($BD_base, $BD_link) or die("S&eacute;lection de la base impossible : ". mysql_error()); $Requete_SQL2 = "SELECT * FROM mesannonces WHERE valid = '0' ORDER BY date DESC "; $result = mysql_query($Requete_SQL2) or die("Erreur de S&eacute;lection dans la base : ". $Requete_SQL2 .'<br />'. mysql_error()); // creation et affichage dans la table error_reporting(55); while($val=mysql_fetch_array($result)) if($val["valid"] == 0) { $id=$val[ID]; $vad=$val[valid]; $num=$val[date]; $nam=$val[nom]; $ema=$val[email]; $pre=$val[lieu]; $pay=$val[pays]; $nom=$val[titre]; $mes=$val[message]; echo "<form action=\"modifer.php\">"; echo"<tr><td width=75 align=center bgcolor=#FFFFFF>"; echo"<DIV class=bold>"; echo"$num"; echo"</DIV></td>"; echo"<td width=550 align=center bgcolor=#FFFFFF>"; echo"<DIV class=bold>"; echo"$nom"; echo "titre : <input type=\"text\" size=\"50\" name=\"titre\" value=\"$nom\"><br>\n"; echo"</DIV>"; echo"<DIV class=normal>"; echo"$mes"; echo"</DIV></td>"; echo"<td width=20 align=left><DIV class=bold>"; echo "id : <input type=text name=\"id\" value=$id size=25><br>\n"; echo "Nom : <input type=text name=\"nom\" value=$nam size=25><br>\n"; echo "Lieu : <input type=text name=\"lieu\" value=$pre size=25><br>\n"; echo "Pays : <input type=text name=\"pays\" value=$pay size=25><br>\n"; echo"<br><br><input type=submit value=\"Modifier\">"; echo"</DIV></td>"; echo"<td width=20 align=center><DIV class=bold>"; echo"<a href=\"valider.php?id=",$id,"\">Valider</a><br>"; echo"<a href=\"supprimer.php?id=",$id,"\">Supprimer</a><br>"; echo"</DIV></td></form></tr>"; } mysql_close(); ?>
Merci d'avance de m'aider sur ce soucis qui perdure, et j'aimerais enfin trouver une solution pour ganger un peu de temps.

Posté : 30 déc. 2006, 13:20
par jojolapine
bonjour,
as-tu essayé de décortiquer une page comme celle-ci : http://www.siteduzero.com/forum-81-123.html
pour voir la méthode utilisée ?

Posté : 30 déc. 2006, 13:43
par Truc
Le plus simple à comprendre est "Il faut un champ de type case à cocher" dans la boucle.

Tu rajoutes donc ce champ avec un attribut name sous forme de tableau. C'est à dire que tu ajoutes [] => name="mesCases[]"

En "value" tu places l'id de la news.

En dernier (en dehors de la boucle)un bouton de validation du formulaire tu récupères donc toutes les cases (Voir ici) puis tu effectue une requete sur toutes les id's récupérés.

Voilà tout :)

Posté : 30 déc. 2006, 13:52
par jojolapine
le petit problème, c'est qu'on à pas le droit si on fait un peu attention au balises d'encapsuler un form avec un tableau... :-k

Posté : 30 déc. 2006, 14:13
par theavengers
Je vais regarder tout les liens que vous m'avez donné, mais j'ai beaucoup de mal à voir la façon dont je vais m'y prendre :lol: