Bonjour

j'ai un fichier php formulaire_bdd.php et un fichier function_bdd.php

dans le fichier function_bdd:

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
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
52
53
54
55
56
57
58
<?php 	   	//function_bdd.php (version PDO)		?>
<?php
//récupère les valeurs commune de chaque champ grace à "group_by" par champ

function getDataRow($connectBdd=NULL,$fieldName=null ){
	$req=	"	SELECT		$fieldName
					FROM		$table
					GROUP BY	$fieldName
		";
		
		$recordsetPDO = $linkPDO->prepare($req);
		$recordsetPDO->execute();
		
		$listRowsByField="";
		
while($row = $recordsetPDO->fetch(PDO::FETCH_ASSOC))
		{		
						
			foreach($row as $column_index => $column_value)
			{
				//do something with the data,
								
				if (is_formulaire()){//verifie si je suis dans le formulaire
					
					//return $column_value;
					//$listRowsByField[] = $column_value;
					print $listRowsByField='<option value="'.$column_value.'">'.$column_value.'</option>';
					
				}
				
			}
		}
	//...
	
?>		

<?php
//récupère le nom de chaque champ 
function getDataField($connectBdd=NULL,$id=NULL){

	if ($connectBdd=="PDO"){
		
		$recordsetPDO = $linkPDO->prepare("SELECT * from $table");
		//$pdo_stmt = $recordsetPDO;
		$recordsetPDO->execute();
		
		/**/
		//$id;
		foreach(range(0, $recordsetPDO->columnCount() - 1) as $column_index)
		{
			//echo "<pre>";var_dump($column_index);echo "</pre>";
			
			$meta[] = $recordsetPDO->getColumnMeta($column_index);
		}	
		return $meta[$id]["name"];
		
		//...
?>
dans le fichier formulaire_bdd.php:

j'arrive bien à récupérer les valeurs de chaque champs par une boucle sur le nombre de champ $nField =getMaxField("PDO");

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
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
52
<?php
$nField			=getMaxField("PDO");

$i=1;
?>	
<tbody> 
	<?php 		while ($i < $nField){?>

le nom de chaque champ séléctionné avant par 
<input type='checkbox' name='listSelect[<?php print(getDataField("PDO",$i));?>]' />


grace à name=listWhere[print(getDataField("PDO",$i));?>]

mais c'est pour ce qui est des options je coince il me récupère qu'une seule même si je sélectionne plusieurs

<select id='listWhere' 	class="field" 
						name='listWhere
							[<?php print(getDataField("PDO",$i));?>]
							[<?php print getMaxRow("PDO",getDataField("PDO",$i));?>]' 
							multiple size=2>

							//(j'ai un peu tout essayé !)

 	   					<?php 
 	   						
 	   						getDataRow("PDO",getDataField("PDO",$i));
 	   					
 	   					?>
 	   				
</select>
//...
pour ensuite les afficher plus loin une fois envoyer depuis le formulaire, la aussi j'ai un peu tout essayé et observé : double tableau,...
<?php
					/*
					$listWhere[]		=$_POST['listWhere'];
					$whereKeys			=implode(",",array_keys($listWhere[0]));
					$whereValue			=implode(",",array_values($listWhere[0]));
					*/
					/*
					echo "<pre>	array_keys:<br>"	;print_r(array_keys($listWhere[0]))			;echo "</pre>";
					echo "<pre>	array_values:<br>"	;print_r(array_values($listWhere[0]))		;echo "</pre>";
					echo "<pre> whereKeys:<br>"		;print_r($whereKeys)							;echo "</pre>";
					echo "<pre> whereValue:<br>"	;print_r($whereValue)							;echo "</pre>";
					*/
				
					$listWhere[][]	=$_POST['listWhere'];
					//$whereValue2		=implode(",", array_column($listWhere, array_values($listWhere)));
					//echo "<pre> whereValue2:<br>"	;print_r($whereValue2)							;echo "</pre>";
						
					echo "<pre>"					;var_dump($listWhere)						;echo "</pre>";
?>

mais je ne vois vraiment pas comment faire pour récupérer plusieurs valeurs
car cela me renvoie toujours qu'une seule valeur
quand je sélectionne plusieurs options dans le formulaire grace à multiple du select !

résultat je suis maintenant complétement perdu et n'arrive plus à réflechir au problème méthodiquement !