CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PHP] (checkbox) coché ou pas

Chti_Dkois
Chti_Dkois
Niveau 10
13 juillet 2005 à 12:53:27

Salut à tous...

J´ai recherché un peu partout, sans trouver satisfaction...

J´ai fais un script qui lance un tableau deux dimension, ou je veux ajouter et supprimer des lignes.
Pour l´ajout, ça va, mais pour la suppression...

Pour supprimer, j´utilise des checkbox à chaque ligne, pour choisir la/les ligne(s) à effacer.

ça donne ça ( apres coupure du inutile pour le pb):

for ( $i=1;$i<=$nbLigne;$i++)
{
echo("<td align=center > <INPUT TYPE=´CHECKBOX´ NAME=´selection[]´ VALUE=".$i."></td></tr>");
}

Et dans mon script pour detruire, je souhaiterais connaitre si la ligne a été cochée, pour pouvoir la supprimer...

Lord_Cosmos
Lord_Cosmos
Niveau 8
13 juillet 2005 à 13:09:20

isset($HTTP_POST_VARS[´checkbox´] renvoie vrai si la checkbox a été cochée.

captain_torche
captain_torche
Niveau 10
13 juillet 2005 à 13:10:28

En gros, il faudrait que tu nommes tes input, du genre
echo ´<input type="checkbox" name="selection´.$i.´" value="´.$i.´" / >´;
Comme ça, dans ta page de récup de données, tu refais une boucle, où tu testes les variables $selection1 à $selectionn, et dans le cas où il y aurait une valeur attribuée, tu effectues ta requête.

PS : Essaye de prendre l´habitude de mettre tous les attributs de balises en minuscules.

Chti_Dkois
Chti_Dkois
Niveau 10
13 juillet 2005 à 14:45:28

Merci ça marche :)

Par contre, j´ai apperçu un autre probleme, mais c´est plus en rapport avec le formulaire... c´est mon tableau.

dans la table, il rentre l´ID en auto increment.
Par contre, quand j´efface une entrée, il laisse des " trou" dans les ID. genre si j´efface la 4, j´aurais les ID 1,2,3,5,...
Du coup, j´ai un probleme avec mon tableau, car je faisais le nombre de ligne en fonction du nombre d´ID...

Mais en fait, faudrais que j´arrive à recupérer l´Id max, et ça, j´arrete pas d´essayer des requete, pas moyen de trouver...
J´avais penser à ça:

$reqIdmax=´Select * From ´.$laTable.´ WHERE ID=(Select Max(ID) From ´.$laTable.´);´;
$ResIDmax=mysql_query($reqIdmax,$link);
$rowIDmax=mysql_fetch_array($ResIDmax);
$IDmax=$rowIDmax[0];

mais ça va pas :\

Comment je peux recupérer la valeur d´ID max ?

captain_torche
captain_torche
Niveau 10
13 juillet 2005 à 15:01:04

SELECT ID FROM table ORDER BY ID DESC LIMIT 1
devrait te sortir l´ID le plus haut de ta table.

electron_libre
electron_libre
Niveau 10
13 juillet 2005 à 20:37:32

au lieu d´un for, fait un while, et plutot que d´utiliser ta variable $i qui s´inscremente à chaque tour, prend l´id, et garde ton systeme de tableau, c bcp plus propre

$sql = . ..
$rep = mysql_query($sql) od die(...);

while($data = mysql_fetch_array($rep)){
echo ´<td>´;
echo ´<input type="checkbox" name="selection[´.$data[´id´].´]" / >´;
echo ´</td>´;
}

quand tu caches une case, sa valeur devient " on"

de l´autre coté

$selection = $_REQUEST[´selection´];

foreach($selectionas $cle => $valeur){
if($selection[$cle] == " on"){
ton truc . ..
}
}

watza_Kamikaze
watza_Kamikaze
Niveau 10
13 juillet 2005 à 20:41:59

salut faire un isset() sur une case renvoie true quelque soit la case chez moi, c´est empty. Sinon, si tu mets pas de valeur par défault, c´est le navigateur(peu conseillé car certains peuvent mettre autre chose...) qui est en général on si je me trompe pas.

watza_Kamikaze
watza_Kamikaze
Niveau 10
13 juillet 2005 à 20:44:19

Zut doublé =p

Heu, sinon à propos de request, qu´est-ce qui se passe quand y a surcharge du tableau ? Style t´as un get et un post de même nom ? J´ose pas l´utiliser à cause de ça^^

electron_libre
electron_libre
Niveau 10
13 juillet 2005 à 20:47:25

ben le 2e ecrase le 1er . ..

watza_Kamikaze
watza_Kamikaze
Niveau 10
13 juillet 2005 à 20:49:37

:snif2: Je dis nawak, je confonds avec les cases radios, mais je pense que c´est un bug...

Je fais comme ça :

if(isset($casecoche) and count($casecoche)>0)
{
foreach($casecoche as $choix)
{
/ /hop tes cases cochés ^^
}
}

electron_libre
electron_libre
Niveau 10
13 juillet 2005 à 20:58:53

le count() dans le if je suis pas sur, et met plutot && à la place de and

et sinon la syntaxe du foreach c´est :
foreach($nom_du_tableau)
ou
foreach($nom_du_tableau as $cle => $son contenu)

watza_Kamikaze
watza_Kamikaze
Niveau 10
13 juillet 2005 à 21:26:09

:p suis pas un noob

Le count : pour vérifier que l´utilisateur a coché au moins une case, et donc que le teste soit pas inutile.

Le and parce que il n´a pas le même niveau de priorité que && et donc, en premier c´est le isset exécuter.

Et sinon perdu pour foreach :) http://fr.php.net/manual/fr/control-structures.foreach.php

Voili voilou

watza_Kamikaze
watza_Kamikaze
Niveau 10
14 juillet 2005 à 10:21:37

electron_libre
Posté le 13 juillet 2005 à 20:47:25
ben le 2e ecrase le 1er . . .

C´est lequel le second ?

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware