Afficher base de données

Résolu
marc73450 - 4 janv. 2013 à 09:19
sylvain64520 Messages postés 130 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 7 juin 2013 - 4 janv. 2013 à 17:04
$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
3
sylvain64520 Messages postés 130 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 7 juin 2013
4 janv. 2013 à 11:12
A la place du foreach, j'aurais utilisé une fonction fetch.

NB : Pas conseillé d'utiliser mysql_fetch_array, passe à PDO ;)
0
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
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
4 janv. 2013 à 12:57
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 !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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 !
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
4 janv. 2013 à 14:19
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 !
0
sylvain64520 Messages postés 130 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 7 juin 2013
4 janv. 2013 à 17:04
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 ;)
0
Rejoignez-nous