Checkbox et base de donnée

T3
Petit nouveau ! | 2 Messages

12 avr. 2006, 14:08

Salutations

Ayant parcouru plusieurs forums, je n'ai pas trouver la réponse à mon problème. Mais je pense qu'il est assez simple à résoudre. Enfait voilà, j'ai une base qui stock plusieurs numéro de téléphones ainsi que le nom de leur propriétaires. A travers une interface Admin, je voudrai pouvoir supprimer plusieurs numéro à l'aide de Checkbox. Ayant essayé, je bloquais sur la boucle, il ne supprimait que la derniere checkbox sélectionnée. Je ne copie pas de code, car je pense ne pas être dutout dans la bonne voix... J'espère avoir été clair, et je remercie d'avance ceux qui m'aideront.

Eléphant du PHP | 135 Messages

12 avr. 2006, 14:19

jte montre un exemple, tu comprendras tout de suite

<form method="post" action="<?php echo basename(__FILE__); ?>">

<p><input type="checkbox" name="telephone[]" value="Tel_1" />Tel 1</p>

<p><input type="checkbox" name="telephone[]" value="Tel_3" />Tel 2</p>

<p><input type="checkbox" name="telephone[]" value="Tel_3" />Tel 3</p>

<input type="submit" name="send" value="supprimer" />
</form>

<?php
if ( isset($_POST['send']) ) 
{

 foreach( $_POST['telephone'] as $key ) 
 {
 	#tu génère ta requête
 	echo "DELETE FROM BLABLA where tel = $key <br />";
 
 }

}
?>

le fait de donner le nom telephone[] créer un tableau avec toute les cases qui seront cochées.

en espérant t'avoir aidé ;)

T3
Petit nouveau ! | 2 Messages

12 avr. 2006, 18:55

Je suis en local sous easyphp version 8, donc php5, et j'ai testé le code ci-dessus, la fonction "Foreach" n'est pas reconnu, je ne sais pas si ca vient du code ou du test local/en ligne... Voici mon code :

Code : Tout sélectionner

<? // Connection $db = mysql_connect('localhost', 'root', '') or die('<font color=red>Désolé mais vous ne pouvez voir les infos de la data-base</font>'); mysql_select_db('base',$db); $query="Select * from nomdelabase"; $result = mysql_query( $query ) or exit ('Erreur SQL !'.$query.'<br>'.mysql_error()); while($data = mysql_fetch_array($result)) { // echo"<tr><td>".$data['prenom']."</td>"; echo"<td>".$data['phone']."</td>"; echo"<td><input type=checkbox name=phone[] value=.$data[id].></td>"; echo"<td><form method=post><input type=Submit value=send name=send><input type=Hidden name=id value=.$data[id].></form></td>"; echo"</tr>"; } ?> </form> </table> <?php if (isset($_POST['send'])) { foreach($_POST['phone'] as $key) { #tu génères ta requête $query="DELETE phone from nombase WHERE phone=$key"; $result = mysql_query( $query )or exit ('Erreur SQL !'.$query.'<br>'.mysql_error()); } } mysql_close(); ?>

Invité
Invité n'ayant pas de compte PHPfrance

12 avr. 2006, 20:54

il te dit texto que foreach n'est pas reconnu?!