select tableau et options récupérer données php sql
Bonjour
j'ai un fichier php formulaire_bdd.php et un fichier function_bdd.php
dans le fichier function_bdd:
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 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:
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 !