Afficher base de données [Résolu]

Signaler
-
sylvain64520
Messages postés
130
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
7 juin 2013
-
$row = mysql_query("SELECT COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'personne' AND COLUMN_NAME = 'situation'");	
$res = mysql_fetch_array($row);
preg_match_all( "/'(.*?)'/", $res[0], $val );
echo '<select>';
foreach ($res as $res2)
echo '<option value="'.$res2.'">'.$res2.'</option>';
echo '</select>';


j'ai réalisé ce code pour pouvoir visualisé dans une liste déroulante toutes les valeurs de mon type ENUM ! mais je visualise toutes les variables en même temps .
exemple : ma liste déroulante ne fait qu'une ligne et contient set('célibataire','En couple','Pacsé','divorcé','veuf') alors que je voudrais plusieurs ligne avec ligne 1 : célibataire , ligne 2 : En couple ....
comment puis-je faire ? avez vous des idées ?

merci d'avance

7 réponses

j'ai changé de tactique j'ai fait cela pour récuperer les valeurs une par une !

$ress = mysql_query('SHOW COLUMNS FROM personne LIKE "situation" ');// requete pour chercher les valeurs dans SET
$ligne = mysql_fetch_array($ress);//je met les valeurs dans un tableau
$type = substr($ligne['Type'], 5, (strlen($ligne['Type'])-7));//je les traites en enlevant les premier caractere
$mon_enum = preg_split('#\',\'#', $type);//j'eneleve les guiellemets et les virgules
echo '<select>';
for ($i=0 ; $i<6 ; $i++)// boucle pour afficher les 6 valeurs de mon tableau dans un <select>
echo '<option value="'.$mon_enum[$i].'">'.$mon_enum[$i].'</option>';
echo '</select>';


Allez L'OL
Messages postés
130
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
7 juin 2013

A la place du foreach, j'aurais utilisé une fonction fetch.

NB : Pas conseillé d'utiliser mysql_fetch_array, passe à PDO ;)
je ne maitrise pas PDO . donc je fais avec les moyens du bord ! pouurait tu me dire ce qui change dans mon code si je passe en PDO STP ?

merci d'avance
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
10
bonjour
tu peux utiliser multiple

<?php
$row mysql_query("SELECT COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME 'personne' AND COLUMN_NAME = 'situation'");	
$res = mysql_fetch_array($row);
preg_match_all( "/'(.*?)'/", $res[0], $val );
echo '<select multiple>';
foreach ($res as $res2)
echo '<option value="'.$res2.'">'.$res2.'</option>';
echo '</select>';

?>


Bonne programmation !
bonjour

Mais à quoi me servirais multiple ?
j'ai essayé mais c'est pas ce que je veux , ça permet juste de choisir plusieurs choix c'est tout

merci quand même !
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
10
tu peux faire print_r ...

<?php
$row mysql_query("SELECT COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME 'personne' AND COLUMN_NAME = 'situation'");	

$res = mysql_fetch_array($row);

$ca = preg_match_all( "/'(.*?)'/", $res[0], $val ); /*ça sert à quoi ?*/

echo '';
var_dump($ca);
print_r($res);
echo '

';

$select='<select multiple>';
foreach($res as $res2){
$select.='<option value="'.$res2.'">'.$res2.'</option>';
}
$select.='</select>';

echo $select;


?>


Bonne programmation !
Messages postés
130
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
7 juin 2013

PDO est une nouvelle technologie utilisant le principe d'objet. Il y a plusieurs tuto sympa sur le net pour pouvoir s'y mettre tranquillement.

Moi aussi je voulais faire avec les moyens du bord sauf que si l'on reste sur ses acquis, on n'avance jamais.

Cool que tu ais trouvé la solution tout seul ;)