Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
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 23/11/2010, 14h33   #1
Candidat au titre de Membre du Club
 
Inscription : juin 2010
Messages : 102
Détails du profil
Informations personnelles :
Âge : 22

Informations forums :
Inscription : juin 2010
Messages : 102
Points : 13
Points : 13
Par défaut Fonction qui renvoie un tableau à partir de checkbox coché(s)

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 :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?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'appel de la fonction php :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
<?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...
tonymx15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 15h05   #2
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
Bonjour,

quand tu fais :

Code :
1
2
3
echo '<pre>';
print_r($_POST);
echo '</pre>';
quand tu submit et que tu coches tes checkbox ça te donne quoi ?

tu dois normalement avoir uniquement les cases cochées
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 18h14   #3
Candidat au titre de Membre du Club
 
Inscription : juin 2010
Messages : 102
Détails du profil
Informations personnelles :
Âge : 22

Informations forums :
Inscription : juin 2010
Messages : 102
Points : 13
Points : 13
J'utilise pas de submit, j'utilise un load javascript (jQuery) au click sur un boutton.

Voilà tout mon contenue si tu veux le tester...

index.php

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
 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
<head>
  	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  	<title>Administration</title>
  	<link rel="stylesheet" media="screen" href="../style.css">
	<script type="text/javascript" src="jquery.js"></script>
	<script type="text/javascript" src="script.js"></script>
</head>
<body>
 
Url : <input type="text"/><br>
<hr>
Programmation : <input type="checkbox" value="Programmation" name="langageOption[]" /><br>
Design : <input type="checkbox" value="Design" name="langageOption[]" /><br>
Gestion : <input type="checkbox" value="Gestion" name="langageOption[]" /><br>
<hr>
Html : <input type="checkbox"/><br>
Css : <input type="checkbox"/><br>
Php : <input type="checkbox"/><br>
Sql : <input type="checkbox"/><br>
javascript : <input type="checkbox"/><br>
<hr>
<input type="button" name="save" value="Enregistrer"/>
 
<div id="chargement"></div>
 
</body>
</html>
script.js

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
 
$(document).ready( function(){
	$("input[name=save]").click( function(){
 
		var lien = $("input").eq(0).val();		
 
		var programmation = $("input").eq(1).is(":checked");	
		var design = $("input").eq(2).is(":checked");
		var gestion = $("input").eq(3).is(":checked");
 
		var html = $("input").eq(4).is(":checked");
		var css = $("input").eq(5).is(":checked");
		var php = $("input").eq(6).is(":checked");
		var sql = $("input").eq(7).is(":checked");
		var javascript = $("input").eq(8).is(":checked");
 
		$("div#chargement").load("enregistrer.php",
		{
			url : lien,
			prog: programmation,
			design: design,
			gestion: gestion,
			html: html,
			css: css,
			php: php,
			sql: sql,
			js: javascript
		});
 
	});
});
enregistrer.php

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
 
<?php
include('fonction.php');
 
$url =  $_POST['url'];
 
$objet1 = $_POST['prog'] ;
$objet2 = $_POST['design'] ;
$objet3 = $_POST['gestion'] ;
 
$html = $_POST['html'];
$css =  $_POST['css'];
$php =  $_POST['php'];
$sql =  $_POST['sql'];
$javascript =  $_POST['js'];
 
echo'
url : '.$url.'<br>
prog : '.$objet1.'<br>
design : '.$objet2.'<br>
gestion : '.$objet3.'<br>
html : '.$html.'<br>
css : '.$css.'<br>
php : '.$php.'<br>
sql : '.$sql.'<br>
java : '.$javascript.'<br>
';
 
?>
fonction.php

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
<?php
function caseCocher($tab){	
	$nbCase = count($tab);
	$tableau	 = array() ;
	$j = 0 ;
	for ( $i = 0 ; $i < $nbCase ; $i++ ){
		if ( $tab[i] == 'true' ){
			$tableau[$j] = $tab[$i] ;
			$j++;
		}
	}	
	return $tableau;
}
?>
tonymx15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 16h52   #4
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 656
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 656
Points : 5 359
Points : 5 359
Attention, des données envoyées par jquery avec load() passent peut-être en GET et non en POST. Pour ce genre de choses, je te conseille d'utiliser $.post
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h45.


 
 
 
 
Partenaires

Hébergement Web