récupérer les valeurs possibles d'un enum [MySQL] - Programmation
Marsh Posté le 20-11-2001 à 10:59:49
Le principe est le suivant en perl... m'enfin, ca doit être pareil en php
select name="couleur_interface">
<option></option>
use DBI;
$driver = "mysql";
$dsn = "DBI:$driver:database=umls;host=localhost;port=$port" ||die "pb de connection : $DBI::errstr";
$dbh = DBI->connect($dsn, "root", "" ) ||die "pb de connection : $DBI::errstr";
$sel_coul="select couleur_possible from table_couleur";
$sel1 = $dbh->prepare("$sel_coul" );
$sel1->execute ||die "pb dans l'execution : $DBI:errstr";
while (@essais = $sel1->fetchrow_array) {
<option>$essais[0]</option>
}
$dbh->disconnect;
</select>
Je sais pas si c'est la manière la plus simple qu'il soit, m'enfin, ca, ca marche.
A toi de corriger l'orthographe
M'enfin, tu as le principe
[edtdd]--Message édité par TetardKing--[/edtdd]
Marsh Posté le 20-11-2001 à 11:09:41
Bon ben voici le code
mysql_connect("$Host","$User","$Passw" ); // ton serveur, login et pass SQL comme d hab
$requete="select (nom_couleur) from tbl_couleur order by 'couleur'"; // La cets ta requete : j'extrait le nom des couleurs du champs "nom_couleur" dans la table "tbl_couleur"
echo "<select name='couleur'>";
echo "<option selected>Choisir un couleur</option>";
echo "<option>--------------------------</option>";
$result = mysql_db_query ("nom__base",$requete);
while ($row=mysql_fetch_array ($result))
{
echo "<option value='$row[0]'>$row[0]\n";
}
mysql_free_result ($result);
echo "</select>";
echo " ";
echo " <input type=submit value='OK'>";
echo "</form>";
Marsh Posté le 20-11-2001 à 12:46:38
vous êtes super sympa les mecs, l'autre jour personne ne m'a répondu. Je vous tiens au courant.
petite remarque, là vous êtes en train de m'exliquer comment faire un select sur une table. ça ça fait un bail que je maîtrise. Le pb c'est c'est que j'ai un type enum couleur et je veux récupérer les valeurs possibles. ce qui signifie que je n'ai pas de table avec toutes les couleurs possibles. Ou alors faut que je la fasse cette table et que je fasse une clé étrangère dans ma table utilisateur (qui a un champ couleur).
[edtdd]--Message édité par z0rglub--[/edtdd]
Marsh Posté le 20-11-2001 à 14:08:54
Sachant pas ce que c'est qu'un truc enum machin_truc... je peux pas te repondre... moi, je fait avec mes pauvres moyens
Marsh Posté le 20-11-2001 à 19:43:34
non, pas de soucis, c'est sympa d'essayer de m'aider.
Je sens que je vais devoir passer par une clé étrangère mais je sais pas si ça marche avec MySQL... à voir.
Marsh Posté le 21-11-2001 à 01:50:30
function get_enums($table, $field) {
$q=mysql_query("desc $table" );
while ($row=mysql_fetch_array($q)) if ($row["Field"]==$field) $ret=explode(",", substr($row["Type"], 5, -1));
mysql_free_result($q);
return($ret);
}
j'ai pas testé y'a ptet une merde kkpart mais c le principe ...
[edtdd]--Message édité par six_dfx--[/edtdd]
Marsh Posté le 22-11-2001 à 13:24:54
c super, merci, je viens d'avoir 15 minutes pour le tester et ça marche pas mal, il faut juste rajouter un bout de code pour obtenir
bleu
gris
vert
violet
au lieu de
'bleu'
'gris'
'vert'
'violet'
Marsh Posté le 18-11-2001 à 13:00:53
salut,
je voudrais savoir comment faire en php pour faire une requête qui récupère les différentes valeurs possibles d'un enum.
J'ai en effet un champ "couleur" de type ENUM qui peut prendre 4 valeurs : vert, bleu, gris, violet
J'ai un formulaire avec une liste déroulante donnant la possiblité à l'utilisateur de choisir la couleur de son interface. Pour le moment je rentre manuellement les
select name="couleur_interface">
<option></option>
<option>gris</option>
<option>bleu</option>
<option>violet</option>
<option>vert</option>
</select>
Mais je voudrais pouvoir faire ça plus proprement avec la récupération dynamique des valeurs dans la BD
---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com