Récupérer les id des 5 premières cases cochées


Meeuuuhhh
WRInaute passionné
WRInaute passionné
 
Messages: 2046
Inscription: 8 Jan 2007

Récupérer les id des 5 premières cases cochées

Message le Dim Jan 14, 2007 20:47

Bonjour,

J'ai une pile de 30 cases à cocher, comme suit :
Code: Tout sélectionner
<input type="checkbox" name="specialite[]" value="2" id="1" >choix 1
<input type="checkbox" name="specialite[]" value="3" id="2" >choix 2
<input type="checkbox" name="specialite[]" value="4" id="3" >choix 3
<input type="checkbox" name="specialite[]" value="5" id="4" >choix 4
<input type="checkbox" name="specialite[]" value="6" id="5" >choix 5
<input type="checkbox" name="specialite[]" value="7" id="6" >choix 6


Dans la base de donnée, j'ai 5 champs :
Code: Tout sélectionner
specialiteA, specialiteB, specialiteC, specialiteD, specialiteE


Le client va cocher, par exemple, les cases 2, 4, 8, 15, 16, 26, 30.

Dans ce cas, je veux récupérer les 5 premières cases cochées, soit ici 2, 4, 8, 15, 16 et les expédier respectivement dans specialiteA, specialiteB, specialiteC, specialiteD, specialiteE.

S'il en a coché que 3, par exemple, alors on utilise seulement les champs sA, sB, et sC. S'il en a coché plus que 5, l'excédent est ignoré.


Voilà, si vous pouviez m'aider à faire ça, ça serait sympa.


Meeuuuhhh
WRInaute passionné
WRInaute passionné
 
Messages: 2046
Inscription: 8 Jan 2007

Message le Lun Jan 15, 2007 0:58

j'ai fait comme ça :

Code: Tout sélectionner
//on filtre
$specialite = array_map( 'intval', $_POST['specialite'] );
//on récupère les 5 premiers choix du tableau
print_r(array_slice($specialite,0,5));


Et j'obtiens pour ces deux lignes l'erreur :

Code: Tout sélectionner
Warning: array_map() [function.array-map]: Argument #2 should be an array in /home/site/www/modifier-page.php on line 91

Warning: array_slice() [function.array-slice]: The first argument should be an array in /home/site/www/modifier-page.php on line 93


L'idée c'est donc de récupérer les 5 premières cases cochées et les envoyer chacune dans les 5 champs de la table (ou dans 3 champs si 3 cases sont cochées).


Meeuuuhhh
WRInaute passionné
WRInaute passionné
 
Messages: 2046
Inscription: 8 Jan 2007

Message le Lun Jan 15, 2007 9:01

J'ai juste fait ça, après avoir coché 3 cases :
Code: Tout sélectionner
//d'abord on filtre
$_POST['specialite'] = array('premier' => 1, 'second' => 4);
if (array_key_exists('premier', $_POST['specialite'])) {
    echo "L'élément 'premier' existe dans le tableau";



Le echo s'est affiché. Mais je suis pas beaucoup plus avancé.


Meeuuuhhh
WRInaute passionné
WRInaute passionné
 
Messages: 2046
Inscription: 8 Jan 2007

Message le Lun Jan 15, 2007 9:33

Bon en fait ça fonctionne, c'était nul comme question.


Pierrot25
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 446
Inscription: 17 Mar 2005

Message le Lun Jan 15, 2007 13:46

Meeuuuhhh a écrit:c'était nul comme question.

Meeuuuhhh Non :D
on est jamais mieux servi que par soi-meme


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité