Checkbox html et mysql!
Résolu
bluholm
-
bluholm -
bluholm -
Bonjour,
bon je debute depuis quelques semaines en SQL , php , html , je me debrouille plutot bien jusque la :p
AFFICHAGE TABLEAU
j'aimerais en fait avoir un tableau ( en html car j'ai rajouter du CSS pour qu'il soit plus beau) avec ma liste d'item mais aussi une colonne chekbox!
toutes les check box seront donc supprimer une fois que l'on clique sur le bouton supprimer !
voila les infos de code necessaires :
code de mon tableau :
le code php du fichier supeleve.php
ALors j'ai lu beaucoup de choses concernant des sujets similaires mais n'ai jamais reussit a les appliquer ou plutot a les comprendre reelement.... certains passages restent encore vague.
Merci D'avance
Cordialement
bon je debute depuis quelques semaines en SQL , php , html , je me debrouille plutot bien jusque la :p
AFFICHAGE TABLEAU
j'aimerais en fait avoir un tableau ( en html car j'ai rajouter du CSS pour qu'il soit plus beau) avec ma liste d'item mais aussi une colonne chekbox!
toutes les check box seront donc supprimer une fois que l'on clique sur le bouton supprimer !
voila les infos de code necessaires :
code de mon tableau :
<?
// connection a la base en local
$connect = mysql_connect("localhost","root","Kde13crop");
// selection de la base
mysql_select_db("MyBase", $connect);
// votre requete de selection
$sql = mysql_query("SELECT * FROM eleve");
// on compte le nombre de résultats
$result = mysql_num_rows($sql);
echo ' <font face="arial" size="2">Il y a ',$result,' eleve(s) dans la base</font> ';
// récupération et affichage des données
// affichage avec un boucle while
?>
<div id="exemple1">
<table summary="liste de quelques articles publics sur OpenWeb regroupes par auteurs et niveaux">
<caption></caption><thead><tr>
<th style="text-align: center; width: 176px;"> Nom Prenom</th>
<th style="text-align: center; width: 59px;">Classe</th>
<th style="text-align: center; width: 161px;">Matieres</th>
<th style="text-align: center; width: 119px;">prochain RDV<br />
<th style="text-align: center; width: 15px;"><br />
</th>
</tr>
</thead>
<tfoot><tr>
<th style="width: 176px;"> </th>
<th style="width: 59px;"><br /></th>
<th style="width: 161px;"><br /></th>
<th style="width: 119px;"><br /></th>
<th style="width: 15px;"><br /></th>
</tr>
</tfoot>
<form method="post" action="suppeleve.php">
<?
while($affichage = mysql_fetch_array($sql, MYSQL_ASSOC)){
// fin de boucle while
?>
<tbody>
<tr>
<th style="text-align: center; width: 176px;" rowspan="2"> <? echo $affichage['Nom'] ," ",$affichage['Prenom']?></th>
<td style="text-align: center; width: 59px;"><? echo $affichage['classe']?></td>
<td style="text-align: center; width: 161px;"> <? echo $affichage['matiere1'] ," ",$affichage['matiere2']?></td>
<td style="text-align: center; width: 119px;">
<td style="text-align: center; width: 15px;" rowspan="2"> <input type="radio" name="delete[]">
</td>
</tr>
<tr>
<td style="width: 119px;" colspan="3">
<br />
</td>
</tr>
</tbody>
<?//fin de la boucle while
}
?>
</table>
</div>
<?
// fermeture de la connection
mysql_close($connect);
?>
<br><center><input type="submit" value="SUPPRIMER"></center>
</form>
le code php du fichier supeleve.php
<?php
foreach ($_POST["delete"] as $delete2)
{
mysql_query("DELETE FROM eleve WHERE Id = $delete2");
}
header("Location:home.php");
?>
ALors j'ai lu beaucoup de choses concernant des sujets similaires mais n'ai jamais reussit a les appliquer ou plutot a les comprendre reelement.... certains passages restent encore vague.
Merci D'avance
Cordialement
A voir également:
- Checkbox html et mysql!
- Editeur html - Télécharger - HTML
- Mysql community server - Télécharger - Bases de données
- Espace html - Astuces et Solutions
- Espace en html ✓ - Forum HTML
- Nbsp html ✓ - Forum Webmastering
6 réponses
Bonsoir,
tes boutons radio ne te renvoient pas un array mais la valeur de celui coché
donc mets:
et
tu delete
mais après la suppression si tu veux revenir sur la même page réactualisée, voici une autre solution:
tes boutons radio ne te renvoient pas un array mais la valeur de celui coché
donc mets:
<td style="text-align: center; width: 15px;" rowspan="2"> <input type="radio" name="delete" value="<?php echo $affichage['Id']; ?>">
et
tu delete
<?php
$Id=$_POST['delete'];
mysql_query("DELETE FROM eleve WHERE Id = '".$Id."'");
header("Location:home.php");
?>
mais après la suppression si tu veux revenir sur la même page réactualisée, voici une autre solution:
<?php
//tout sur la meme page
// connection a la base en local
$connect = mysql_connect("localhost","root","Kde13crop");
// selection de la base
mysql_select_db("MyBase", $connect);
if(isset($_POST['supprimer'])){
//si demande de suppression par bouton supprimer attention il faut lui mettre un name=
$Id=$_POST['delete'];
$suppr=mysql_query("DELETE FROM eleve WHERE Id = '".$Id."'");
if($suppr){
echo "Suppression effectuee";
}else{
echo "Pb suppression !";
}
}
// votre requete de selection
$sql = mysql_query("SELECT * FROM eleve");
// on compte le nombre de résultats
$result = mysql_num_rows($sql);
echo ' <font face="arial" size="2">Il y a ',$result,' eleve(s) dans la base</font> ';
// récupération et affichage des données
// affichage avec un boucle while
?>
<div id="exemple1">
<table summary="liste de quelques articles publics sur OpenWeb regroupes par auteurs et niveaux">
<caption></caption><thead><tr>
<th style="text-align: center; width: 176px;"> Nom Prenom</th>
<th style="text-align: center; width: 59px;">Classe</th>
<th style="text-align: center; width: 161px;">Matieres</th>
<th style="text-align: center; width: 119px;">prochain RDV<br />
<th style="text-align: center; width: 15px;"><br />
</th>
</tr>
</thead>
<tfoot><tr>
<th style="width: 176px;"> </th>
<th style="width: 59px;"><br /></th>
<th style="width: 161px;"><br /></th>
<th style="width: 119px;"><br /></th>
<th style="width: 15px;"><br /></th>
</tr>
</tfoot>
<form method="post" action="home.php"> <!-- dans action= tu mets le nom de ce script -->
<?
while($affichage = mysql_fetch_array($sql, MYSQL_ASSOC)){
// fin de boucle while
?>
<tbody>
<tr>
<th style="text-align: center; width: 176px;" rowspan="2"> <? echo $affichage['Nom'] ," ",$affichage['Prenom']?></th>
<td style="text-align: center; width: 59px;"><? echo $affichage['classe']?></td>
<td style="text-align: center; width: 161px;"> <? echo $affichage['matiere1'] ," ",$affichage['matiere2']?></td>
<td style="text-align: center; width: 119px;">
<td style="text-align: center; width: 15px;" rowspan="2"> <input type="radio" name="delete" value="<?php echo $affichage['Id']; ?>">
</td>
</tr>
<tr>
<td style="width: 119px;" colspan="3">
<br />
</td>
</tr>
</tbody>
<?//fin de la boucle while
}
?>
</table>
</div>
<?
// fermeture de la connection
mysql_close($connect);
?>
<br><center><input type="submit" name="supprimer" value="SUPPRIMER"></center>
</form>
salut, j'ai regardé un peu ton code il est pas très propre ;)
de nombreuse balise reste ouverte sans être fermée, et tu met un tfoot avant un tbody enfin bref j'en passe ;)
j'ai modifié un peu ton code pour qu'il fonctionne :) par contre je code pas tout a fait de la même manière,(sans doute une mauvaise habitude ^^)
donc voilà ce que çà donne j'ai testé çà fonctionne ;)
pour le fichier home.php :
et pour supeleve.php
edit : j'avais pas vu qu'on t'avais répondu :) t'a de quoi voir du coup lol
de nombreuse balise reste ouverte sans être fermée, et tu met un tfoot avant un tbody enfin bref j'en passe ;)
j'ai modifié un peu ton code pour qu'il fonctionne :) par contre je code pas tout a fait de la même manière,(sans doute une mauvaise habitude ^^)
donc voilà ce que çà donne j'ai testé çà fonctionne ;)
pour le fichier home.php :
<?php
// connection a la base en local
$connect = mysql_connect("localhost","root","Kde13crop");
// selection de la base
mysql_select_db("MyBase", $connect);
// votre requete de selection
$sql = mysql_query("SELECT * FROM eleve");
// on compte le nombre de résultats
$result = mysql_num_rows($sql);
echo "Il y a ".$result."eleve(s) dans la base <br>
<form method='post' action='supeleve.php'>
<div id='exemple1'>
<table summary='liste de quelques articles publics sur OpenWeb regroupes par auteurs et niveaux'>
<caption></caption>
<thead>
<tr>
<th style='text-align: center; width: 176px;'>Nom Prenom</th>
<th style='text-align: center; width: 59px;'>Classe</th>
<th style='text-align: center; width: 161px;'>Matieres</th>
<th style='text-align: center; width: 119px;'>prochain RDV</th>
<th style='text-align: center; width: 15px;'>sup</th>
</tr>
</thead>
<tbody>";
while($affichage = mysql_fetch_array($sql))
{
echo"
<tr align='center'>
<td>".$affichage['nom']." ".$affichage['prenom']."</td>
<td>".$affichage['classe']."</td>
<td>".$affichage['matiere']."</td>
<td>".$affichage['rdv']."</td>
<td><input type='checkbox' name='sup' value='$affichage[id]'></td>
</tr>";
}
echo "
</tbody>
</table>
</div>";
// fermeture de la connection
mysql_close($connect);
echo " <br><center><input type='submit' value='SUPPRIMER'></center>
</form>";
?>
et pour supeleve.php
<?php
// connection a la base en local
$connect = mysql_connect("localhost","root","Kde13crop");
// selection de la base
mysql_select_db("MyBase", $connect);
$Id=$_POST['sup'];
mysql_query("DELETE FROM eleve WHERE Id = '".$Id."'");
mysql_close($connect);
header("Location:home.php");
?>
edit : j'avais pas vu qu'on t'avais répondu :) t'a de quoi voir du coup lol
un grand merci a vous ! j'ai un code qui fonctionne enfin ! mais mieux je comprend pourquoi :p
merci encore pour la reactivité !
Cordialement.
merci encore pour la reactivité !
Cordialement.
alors je continue de programmer d'autre page , et en ressayant cette page et en essayant de supprimer : impossible ! cela ne marche plus !
pas de probleme a l'affichage, il me charge les pages comme il faut mais pas de supprimer....
je ne comprend vraiment pas, je suis pourtant persuader d'avoir reussit a en supprimer un il y a quelques heures.....
AMicalement.
pas de probleme a l'affichage, il me charge les pages comme il faut mais pas de supprimer....
je ne comprend vraiment pas, je suis pourtant persuader d'avoir reussit a en supprimer un il y a quelques heures.....
AMicalement.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
alors apres de nombreux essai avec des echo partout pour cerner l'endroit du probleme il s'avere que c'etait bien ma BD! tu avait une fois de plus raison;)
: je n'avais pas mis en auto incrementation et il y avait des soucis au niveau de L'ID ! maintenant cela devrait aller !
encore merci pour cette piste ;)
fait plaisir de rencontrer une communauté aussi acitve ! Merci cmoif !
: je n'avais pas mis en auto incrementation et il y avait des soucis au niveau de L'ID ! maintenant cela devrait aller !
encore merci pour cette piste ;)
fait plaisir de rencontrer une communauté aussi acitve ! Merci cmoif !