8791 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Voilà je voudrais créer une fonction qui me renvoie un tableau de checkbox coché(s)...
J'ai essayé mais ça ne marche pas.

La fonction PHP :


<?php
function caseCocher($tab){
	$nbCase = count($tab);
	$tableau	 = array() ;
	$j = 0 ;
	for ( $r = 0 ; $r < $nbCase ; $r++ ){
		if ( $tab[r] == true ){
			$tableau[$j] = $tab[$r] ;
			$j++;
		}
	}	
	return $tableau;
}
?>


L'apel de la fonction php :


<?php
include('fonction.php');

$objet1 = $_POST['checkBox1'] ; //la variable contient false ou true
$objet2 = $_POST['checkBox2'] ; //la variable contient false ou true
$objet3 = $_POST['checkBox3'] ; //la variable contient false ou true
$tabObjet = array($objet1, $objet2, $objet3) ;

$retour = array () ;
$retour = caseCocher($tabObjet) ;

echo $retour[0]; //pour exemple je voudrais que ça me renvoie l'élément 1 coché...
?>


Si vous avez une autre méthode n'hésitez pas à me proposer...
Modifié par tonymx15 (23 Nov 2010 - 13:12)

<?php 
function caseCocher($tab){ 
    $nbCase = count($tab); 
    $tableau     = array() ; 
    for ( $r = 0 ; $r < $nbCase ; $r++ ){ 
        if ( $tab[r] ){ 
            array_push($tableau, true);
        } 
    }     
    return $tableau; 
} 
?> 


Pas testé par contre. Smiley langue
Tu devrais mettre aussi ton formulaire, ça serait plus productif.
Quand tu crée des check box, tu peux les envoyer en POST dans un tableau, il suffit de nommer les check box comme ceci :


<input type='checkbox' name='tableau[]' value='loulou' />
<input type='checkbox' name='tableau[]' value='lala' />
<input type='checkbox' name='talbeau[]' value='lolo' />


Tu obtiendra un tableau $_POST["tableau"] contenant les valeurs qui ont été cochées.

Libre à toi d'utiliser ce tableau comme il se doit.
Si tu veux afficher les résultats :


<?php
if (isset ($_POST["tableau"]) {
     foreach ($_POST["tableau"] as $key => $value) {
          echo $value."<br />";
     }
}
else {
     echo "Aucune case n'a été cochée.<br />";
}
?>


En espérant que ça pourra t'aider, tes besoins n'étant pas clairement définis.