Bonjour !!
Je souhaiterai intégrer des informations dans un select, que je vais chercher dans une base de donnée.
Toutefois, comment indiquer de ne pas intégrer une valeur, si celle-ci se trouve déjà dans le select ?
En vous remerciant..
SELECT DISTINCT prenom FROM table_utilisateurs ORDER BY prenomDe cette façon tu n'auras qu'une seule fois chaque prénom (en l'occurence) dans le retour de ta requête.Voici un script minimaliste assez illisible mais qui marche.Alors !!
Select, c'est un menu déroulant !! J'aurai peut-être du utiliser ce mot dés le départ
Donc, en fonction des infos que je vais chercher dans ma table, et que je veux afficher dans le menu déroulant, certaines infos peuvent avoir déjà été inscrite dans le menu déroulant lors d'une entrée antèrieure.
Comment faire pour que je ne trouve pas plusieurs fois la même information dans le menu déroulant !!
Vu que je cherche du code, je n'ai rien à te proposer !!
Merci encore !!
<?php
// Gestion du tableau générique, peut être placé dans setElement mais
// en dehors je préfère.
//
function & gestion()
{
static $array = Array();
return $array;
}
// si mixed est faux renvoie tout le tableau
// si différent de faux alors empile la donnée
//
// Retour: valeur ou boolean suivant échec/réussite
//
function setElement($strLine)
{
// Récupère le tableau
//
$array = & gestion();
// Si déja comprise dans le tableau alors on zappe
//
if (in_array($strLine, $array)) return false; //die ("Clef ".$strLine." deja presente...!");
// Assigne la valeur
//
array_push($array, $strLine);
// Réussite de la fonction
//
return true;
}
// Traitement de la DB
//
function working()
{
// Récup le tableau
//
$array = & gestion();
// Gestion "mini" de l'appel DB
//
mysql_connect("localhost", "login", "passwd") or die("Crash connect...");
mysql_select_db("Ta_DB");
// Appel
//
$result = mysql_query("SELECT Le_Sujet FROM Ta_Table");
if ($result !== false)
{
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
// Enregistre ou non l'élément
//
if (setElement($row["Le_Sujet"])) { ; };
else { ; }
}
}
mysql_close();
}
// Ai collé le traitement dans une fonction vu que j'aime pas les trucs qui trainent
//
working();
// rendu html
//
$cde = "";
.
.
.
$cde .= "<form>\n";
$cde .= " <select>\n";
// Nombre d'éléments dans le tableau
//
$iCount = count($array);
// Si le tableau est à : au moins 1 élément
//
if ($iCount > 0)
{
for ($i=0; $i<=$iCount-1; $i++)
{
// Mettre des attributs...
//
$cde .= " <option value=\"".$array[$i]."\">$array[$i]</option>\n";
}
}
$cde .= " </select>\n";
$cde .= "</form>\n";
.
.
.
echo $cde;
exit(0);
?>
Ce n'est rien de plus qu'un exemple. A toi de (peut-être) combiner les deux formes.