Option fisso in select box

  • Creatore Discussione Creatore Discussione Monital
  • Data di inizio Data di inizio

Monital

Utente Attivo
15 Apr 2009
778
2
18
Problemone sulla select box

ho una tabella in mysql diq ueto genere

ID NOME FASCIA

1 pippo 1
2 topolino 1
3 Maciste 2
4 Polifemo 2

etc.

In pratica in una select box estraggo tutti i nomi ordinati prima per fascia e poi per nome e fin qui ci siamo

ora voelvo aggiungere una cosa carina

nella select box vorrei far apparire questo

Fascia 1 ------------>non cliccabile
pippo
topolino
Fascia 2 -------------->non cliccabile
Maciste
polifemo

e così via

ho provato afar prima una select distinct di fascia crearlo come array ma il massimoc he sono riuscito ad ottenere è stato

fascia 1
pippo
fascia 1
topolino
fascia 2
maciste
fascia 3
poifemo


La select box la riempo semplicemente così

include ('connect.php');
mysql_connect($DBhost,$DBuser,$DBpass) or die("Impossibile collegarsi al server");
@mysql_select_db("$DBName4") or die("Impossibile connettersi al database $DBName4");
/* impostiamo la query e cerchiamo solo le amiche donne...*/

PHP:
$sqlquery = "SELECT nome,fascia FROM tabella  ORDER by fascia, nome ";
$result = mysql_query($sqlquery);
$number = mysql_numrows($result);
$i=0;
while ($number > $i) {
$name= mysql_result($result,$i,"nome");
echo  "<option value=\"$name\">$name</option>";
$i++;

}

idee al riguardo?
 
ciao
per fare quello che vuoi dovresti usare
HTML:
<select ....>
  <optgroup label="fascia 1">
    <option value="pippo">pippo</option>
    <option value="topolino">topolino</option>
  </optgroup>
  <optgroup label="fascia 2">
    <option value="pinco">pinco</option>
    <option value="pallo">pallo</option>
  </optgroup>
</select>
il problema è come far saltare fuori l'optgroup label
ci penso un po' e (forse) qualcosa ti so dire
 
ciao
per fare quello che vuoi dovresti usare
HTML:
<select ....>
  <optgroup label="fascia 1">
    <option value="pippo">pippo</option>
    <option value="topolino">topolino</option>
  </optgroup>
  <optgroup label="fascia 2">
    <option value="pinco">pinco</option>
    <option value="pallo">pallo</option>
  </optgroup>
</select>
il problema è come far saltare fuori l'optgroup label
ci penso un po' e (forse) qualcosa ti so dire


borgo grazie della dritta

sono risucito afarlo da solo

PHP:
$sqlquery = "SELECT DISTINCT fascia FROM tabella ";
$result = mysql_query($sqlquery);
$number = mysql_numrows($result);
for($x=1;$x<=$number;$x++){
echo "<optgroup label=\"fascia $x\">";
$sqlquery = "SELECT nome FROM tabella WHERE fascia='$x' ORDER by fascia ";
$result = mysql_query($sqlquery);
$number = mysql_numrows($result);
$i=0;
while ($number > $i) {
$thename = mysql_result($result,$i,"nome");
echo "<option value=\"$thename\">$thename</option>";
$i++;
}
}


non sos e sia molto pultio ma funge che funge

grazie assai

non conoscevo proprio quel comando di outgroup

p.s.

cavolo sti cicli finalmente iniziano ad enrtrami in testa
 
ciao
perfetto.
stanotte, in dormiveglia ti avevo preparato questo
PHP:
<?php
//.......
$sqlquery_1 = "SELECT DISTINCT fascia FROM tabella ";
$result_1 = mysql_query($sqlquery_1);
echo "<select.....>";
while($fascia=mysql_fetch_array($result_1))
	echo "<optgroup label=\"".$fascia['fascia']."\">";
	$sqlquery_2 = "SELECT nome FROM tabella WHERE fascia='".$fascia['fascia']."' ORDER by fascia, nome ";
	$result_2=mysql_query($sqlquery_2);
	while($nome=mysql_fetch_array($result_2)){
		echo "<option value=\"".$nome['nome']."\">".$nome['nome']."</option>";
	}
	echo "</optgroup>";
}
echo "</select>";
//........
?>
 

Discussioni simili