Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/05/2006, 09h58   #1
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
Par défaut [Conception] Supprimer une ligne d'un tableau à partir d'un CHECKBOX

Bonjour à tous voici mon tableau:
http://snakejl.free.fr/Tableau,html.bmp

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<? include("connect.inc") ?>
<html>
<link rel="stylesheet" href="sitebn.css" type="text/css">
<head>
<META HTTP-EQUIV="Refresh" CONTENT="10";>
<body>
 
<center><font color='red'><h1><i>Liste des réservations et gestion de la base de donnée</i></h1></center>
 
<a href="effacertoutroulage.php"><br><font color='yellow'>Cliquez ici pour effacer toutes les réservations de votre liste</a></font></p>
<INPUT type="CHECKBOX" value="1" name="effacer"></td>
<table class="frm" align="center">
<tr><th bgcolor='#99CCFF' width="3%">Numéro</th><th bgcolor='#99CCFF' width="3%">Grade</th><th bgcolor='#99CCFF' width="15%">Nom</th><th bgcolor='#99CCFF' width="15%">Prénom</th><th bgcolor='#99CCFF' width="5%">Téléphone</th><th bgcolor='#99CCFF' width="30%">Motif</th><th bgcolor='#99CCFF' width="2%">Jour</th><th bgcolor='#99CCFF' width="2%">Mois</th><th bgcolor='#99CCFF' width="4%">Année</th><th bgcolor='#99CCFF' width="3%">Heure début</th><th bgcolor='#99CCFF' width="2%">Minutes début</th><th bgcolor='#99CCFF' width="3%">Heure fin</th><th bgcolor='#99CCFF' width="3%">Minutes fin</th><th bgcolor='#99CCFF' width="6%">Effacer</th></tr>
 
 
<?
$resultat = mysql_query("select `id` , `grade` , `nom` , `prenom` , `telephone` , `motif` , `From_day` , `From_month` , `From_year` , `heuredebut` , `minutesdebut` , `heurefin` , `minutesfin` from roulage");
while($ligne= mysql_fetch_object($resultat))
{
	echo "<tr onclick=\ onmouseover=\"this.className='over'\" onmouseout=\"this.className='out'\" class=\"out\">
	<td><font color='yellow'>$id->id</td></font>
	<td><font color='yellow'>$ligne->grade</td></font>
	<td><font color='yellow'>$ligne->nom</td></font>
	<td><font color='yellow'>$ligne->prenom</td></font>
	<td><font color='yellow'>$ligne->telephone</td></font>
	<td><font color='yellow'>$ligne->motif</td></font>
	<td><font color='yellow'>$ligne->From_day</td></font>
	<td><font color='yellow'>$ligne->From_month</td></font>
	<td><font color='yellow'>$ligne->From_year</td></font>
	<td><font color='yellow'>$ligne->heuredebut</td></font>
	<td><font color='yellow'>$ligne->minutesdebut</td></font>
	<td><font color='yellow'>$ligne->heurefin</td></font>
	<td><font color='yellow'>$ligne->minutesfin</td></font>
	<td><font color='yellow'>$effacer->effacer</td></font>
	</tr>";
}
 
?>
 
</table>
</head>
</body>
</html>


Mon but est qu'à chaque ligne du tableau il y a un ckeckbox qui s'affiche automatiquement en dessous de la colone "effacer".
Ensuite la personne sélectionne les personnes désirées via le checkbox et efface avec un bouton envoyé que je créerai.
Voilà le plus chaud c'est un ckeckbox qui s'affiche automatiquement à chaque fois qu'une ligne se rajoute.

Merci de m'aider
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 10h07   #2
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Dans ton while tu ajoutes juste une cellule avec dedans <INPUT TYPE=checkbox> avec l'id comme nom par exemple. Et il faut penser à ouvrir un FORM avant ton tableau et à la refermer après. Et tu ajoutes unes grande ligne avec un bouton SUBMIT pour lancer la suppression.
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 10h22   #3
Membre du Club
 
Étudiant
Inscription : mai 2006
Messages : 89
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2006
Messages : 89
Points : 46
Points : 46
Envoyer un message via MSN à myomyo
Je n'ai pas encore regardé l'autre forum
Code :
1
2
 
http://www.developpez.net/forums/showthread.php?t=153032
Mais en fait ca doit etre a peu pres similaire.

Sinon je t'aurais répondu la même chose que JWhite, tu dois utilisez une boucle pour tout afficher! Ben essaie de mettre un
Code :
1
2
 
<input name="" type="checkbox" value="" />
qui correspond a une case à cocher, comme ca tu l'aficheras pour chaque ligne. Par contre à la fin, tu dois faire en sorte de n'effacer que les cas ou elle est cochée. Je crois que dans ce cas le value est égal à checked.

Désolé je suis encore sur mon rapport

Vince
myomyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 10h29   #4
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
+1 JWhite

Essaye de aire ça si t'as un pb tiens nous au courant

Ps spécial JWhite: le reveil de l'ours a eu lieu....on va enchainé par des bonnes rillettes...
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 10h37   #5
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Pour simplifier la récupération des valeurs je crois qu'il faut mettre comme attribut NAME de tes checkbox quelque chose comme valeur[], et après dans ta page de traitement tu récupères les valeurs avec $_POST['valeur']. J'ai jamais fait mais certains le font, si quelqu'un peut témoigner ça simplifierait pas mal le traitement.


Boo64 --> Je t'ai déjà dit que les rillettes étaient toxiques pour les ours
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 10h44   #6
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
Si je rajoute mon <input name="" type="checkbox" value="" />
dans mon while c'est pas bon alors ou dois-le mettre?
Si je le met en bas dans mon while c'est pas bon.
Tu m'as dis de créer une cellule la cellule c'est entre ()?
Je croyais avoir compris mais je dois me planter.
Code :
while($ligne= mysql_fetch_object($resultat)<input name="" type="checkbox" value="" />)
J'ai essayé plusieurs solution mais sa marche pas.
Merci de m'aider
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 10h45   #7
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
je confirme JWhite
Code :
1
2
3
4
5
6
7
8
9
10
11
 <input type="checkbox" value="id" name="sup[]" />


//et dans ton traitement tu fait :
$sup = $_POST['sup']
for ($i = 0; $i < count($sup); $i++)
            {
            // ton traitement 
            }


Moi je ferais un truc de ce style

JWhite:
on verras sacré duel...en tout cas....

Edit:
Citation:
Je croyais avoir compris mais je dois me planter.
Code :
[LEFT]while($ligne= mysql_fetch_object($resultat)<input name="" type="checkbox" value="" />)[/LEFT]

J'ai essayé plusieurs solution mais sa marche pas.
Merci de m'aider
pas comme ca!!!!

Code :
1
2
3
4
5
while(....)
{
    ....
    <td><input type="checkbox" value="id" name="sup[]" /></td>
...
comme ca plutot
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 10h59   #8
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
$musik? qu'est ce que c'est?
Sinon je galère a le placer comme il le faut dans mon code.
Quand je ne connais pas dsl je galère mais le code de boo64 a l'aire bon.
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 10h59   #9
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
Attend je vais essayer
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 10h59   #10
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Citation:
Tu m'as dis de créer une cellule la cellule c'est entre ()?




Tu ajoutes ça dans ta boucle :

Code :
1
2
<td><font color='yellow'> <input type="checkbox" value="id" name="sup[]" />
</td></font>
$musik c'est un reste de copicollage je pense, c'est plutôt $sup...

C'est tout... Ou alors il y a un autre problème fait il faut plus de précisions...
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 11h08   #11
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
Impossible sa marche pas, il y a une page blanche qui se forme.Donc il y a erreur dans la gestion du code que je mets.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<? include("connect.inc") ?>
<html>
<link rel="stylesheet" href="sitebn.css" type="text/css">
<head>
<META HTTP-EQUIV="Refresh" CONTENT="10";>
<body>
 
<center><font color='red'><h1><i>Liste des réservations et gestion de la base de donnée</i></h1></center>
 
<a href="effacertoutroulage.php"><br><font color='yellow'>Cliquez ici pour effacer toutes les réservations de votre liste</a></font></p>
 
<form>
<table class="frm" align="center">
<tr><th bgcolor='#99CCFF' width="3%">Numéro</th><th bgcolor='#99CCFF' width="3%">Grade</th><th bgcolor='#99CCFF' width="15%">Nom</th><th bgcolor='#99CCFF' width="15%">Prénom</th><th bgcolor='#99CCFF' width="5%">Téléphone</th><th bgcolor='#99CCFF' width="30%">Motif</th><th bgcolor='#99CCFF' width="2%">Jour</th><th bgcolor='#99CCFF' width="2%">Mois</th><th bgcolor='#99CCFF' width="4%">Année</th><th bgcolor='#99CCFF' width="3%">Heure début</th><th bgcolor='#99CCFF' width="2%">Minutes début</th><th bgcolor='#99CCFF' width="3%">Heure fin</th><th bgcolor='#99CCFF' width="3%">Minutes fin</th><th bgcolor='#99CCFF' width="6%">Effacer</th></tr>
 
 
<?
$resultat = mysql_query("select `id` , `grade` , `nom` , `prenom` , `telephone` , `motif` , `From_day` , `From_month` , `From_year` , `heuredebut` , `minutesdebut` , `heurefin` , `minutesfin` from roulage");
while($ligne= mysql_fetch_object($resultat))
 
{
	echo "<tr onclick=\ onmouseover=\"this.className='over'\" onmouseout=\"this.className='out'\" class=\"out\">
	<td><font color='yellow'>$id->id</td></font>
	<td><font color='yellow'>$ligne->grade</td></font>
	<td><font color='yellow'>$ligne->nom</td></font>
	<td><font color='yellow'>$ligne->prenom</td></font>
	<td><font color='yellow'>$ligne->telephone</td></font>
	<td><font color='yellow'>$ligne->motif</td></font>
	<td><font color='yellow'>$ligne->From_day</td></font>
	<td><font color='yellow'>$ligne->From_month</td></font>
	<td><font color='yellow'>$ligne->From_year</td></font>
	<td><font color='yellow'>$ligne->heuredebut</td></font>
	<td><font color='yellow'>$ligne->minutesdebut</td></font>
	<td><font color='yellow'>$ligne->heurefin</td></font>
	<td><font color='yellow'>$ligne->minutesfin</td></font>
	<td><font color='yellow'>$effacer->effacer</td></font>
	<td><font color='yellow'> <input type="checkbox" value="id" name="sup[]" /></td></font>
	$sup = $_POST['sup']
for ($i = 0; $i < count($sup); $i++)
	</tr>";
}
 
?>
 
</table>
 
</head>
</body>
</form>
</p><right><input type="submit" value="Supprimer"></right>
</html>
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 11h10   #12
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
Je dois y aller je reviens tout à l'heure je pars d'urgence.
@tte dans 2heures.
Merci
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 11h14   #13
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
tu fais expres!!!! le code que je t'ai donné est un exemple id tu le remplace par $id

et le reste (recupération avec $sup=$_POST...+ le for ) tu les mets dans la partie de code de traitement de ton formulaire)

Franchement revoit (encor!!) les tutos je sais pas tu mélange vrement tout la!!!

edit:
oui le muzik....tu le remplace...par sup mais tu pourais t'en douter...dsl j'ai corriger

de plus en relisant ton code ....tu n'indique pas que tu traite ton formulaire avec POST ni la page de traitement....
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 11h22   #14
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Ah oui quand même...
Dans le genre je copicolle sans rien chercher à comprendre c'est pas mal du tout
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 11h34   #15
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
Citation:
Envoyé par JWhite
Ah oui quand même...
Dans le genre je copicolle sans rien chercher à comprendre c'est pas mal du tout
Oui et tres enervant......cherche un peu a analyser les codes que l'on te donne ....
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 11h39   #16
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Citation:
je pars d'urgence
Rien de grave quand même j'espère
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 13h26   #17
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
J'analyse vraiment ce que vous dites mais étant donné que je suis moins fort que vous et j'ai moins de base j'ai moins de réflexe mais sa vient petit à petit
Pour la 1ere réponse JWhite m'avait dit sa :
Dans ton while tu ajoutes juste une cellule avec dedans <INPUT TYPE=checkbox> avec l'id comme nom par exemple. Et il faut penser à ouvrir un FORM avant ton tableau et à la refermer après. Et tu ajoutes unes grande ligne avec un bouton SUBMIT pour lancer la suppression.

Alors moi j'ai travaillé dedans mais je me rend fou

Ce code la se n'est pas un formulaire c'est ma page qui récapitule toutes les données de mon formulaire saisi par l'utilisateur c'était évident
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 13h29   #18
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
C'est pas une question "d'être moins fort" c'est une question de logique sur le coup...

Tu as besoin de faire un formulaire pour récupérer les choix de l'utilisateur dans les checkbox sinon tu pourras pas récupérer les données.

Précison : le but c'est bien que les lignes sélectionnées par l'utilisateur soient supprimées dans ta base ?!?
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 13h46   #19
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
Mon formulaire est créé ma base de donnée aussi.
la page que je vous ai montré ces la page qui récapitule tout ce qu'il y a dans ma base de donnée.
J'ai rentré mon nom prenom etc tout s'est enregistré dans la base de donnée.
Et ensuite sa se met sous forme de tableau comme je vous ai montré sur mon lien.Dans la colone effacer je veux qu'une chexbox s'affiche automatiquement quand une personne réserve un véhicule.
Si 10personne s'enregistrent 10checkbox s'affiche si c'est une personne qui s'enregistre 1checkbox et si il n'y a aucun enregistrement donc aucun checkbox.
Comme tu as dis mon but et de selectionner via les chekbox les personnes a modifier et ou a supprimé.Voilà j'espère que c'est claire.
Donc le code que vous m'aviez donné moi je faisait les modifications dans page d'information, dans le formulaire sa me parraissait bizare.
Mais moi je suis vos conseille mais quand on ne connait pas c'est difficile...
Si vous voulez je vous publie tout depuis mon formulaire pour voir plus claire.
Voilà e continue a cherché merci de m'aidé...



Citation:
Envoyé par JWhite
C'est pas une question "d'être moins fort" c'est une question de logique sur le coup...

Tu as besoin de faire un formulaire pour récupérer les choix de l'utilisateur dans les checkbox sinon tu pourras pas récupérer les données.

Précison : le but c'est bien que les lignes sélectionnées par l'utilisateur soient supprimées dans ta base ?!?
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 13h52   #20
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Un formulaire c'est pas forcément une page où tu dois saisir ton nom ton prénom et tout ça

Là dans ton cas, sur la page où s'affiche la listes des personnes, ton formulaire va englober ton tableau dans lequel tu affiches les informations sur les personnes et au bout de chaque ligne une checkbox comme on te l'as dit.
Comme ça quand la personne valide les suppressions, tu peux récupérer dans ta page de traitement toutes les valeurs sélectionnées par l'utilisateur.


Citation:
Mais moi je suis vos conseille mais quand on ne connait pas c'est difficile...
Si vous voulez je vous publie tout depuis mon formulaire pour voir plus claire.
Réflexion typique qui renforce ce que l'on pense, à savoir que tu ne cherches pas trop à comprendre ce que tu fais enfin bref...
Tu as bien exprimé le problème (enfin en tout cas je pense avoir compris ce que tu cherches à faire), maintenant avec ce qu'on t'a montré tu devrais facilement t'en sortir moyennant un poil de motivation et de réflexion. Bon courage.
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h43.


 
 
 
 
Partenaires

Hébergement Web