Visualizzazione dei risultati da 1 a 3 su 3

Discussione: select optgroup

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    487

    select optgroup

    allora,io ho questo codice che mi da l'elenco dei comuni in una tabella:
    <?php

    include('setup.inc');
    $conn = mysql_connect($dbhost, $dbuser, $dbpw) or die(mysql_error());
    mysql_select_db($dbname) or die(mysql_error());
    $sqlinterr="select DISTINCT COMUNE,ID from comuni order by COMUNE";
    $res=mysql_db_query($dbname,$sqlinterr);
    $num=mysql_num_rows($res);
    echo "<select name='id_comune' style='width:300'>";
    for($i=0;$i<$num;$i++){
    $COMUNE=mysql_result($res,$i,"COMUNE");
    $ID=mysql_result($res,$i,"ID");
    echo"<option value='$ID'>$COMUNE</option>";
    }
    echo"</select>";

    ?>


    ma io vorrei che mi desse in output una visualizzazione usando i select outgroup in questo modo:
    <select>
    <optgroup label="A">
    <option>abano
    <option>alessandria
    </optgroup>
    <optgroup label="B">
    <option>brescia
    <option>bologna
    </optgroup>
    </select>


    come posso fare?
    Vivi intensamente, muori giovane e sarai un cadavere di bell' aspetto.

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Ti suggerisco un sistema, ma non ho voglia di scrivere il codice

    Quando cicli sul resultset, invece di scrivere in output immediatamente le opzioni raccogli i dati in un array a due dimensioni, usando come prima chiave l'iniziale del comune (una cosa del genere: $array[$iniziale][] = $comune)

    Poi produci l'output con un doppio foreach nidificato, tipo:

    Codice PHP:
    foreach($array as $iniziale => $comuni) {
      
    //qui produci l'optgroup usando l'iniziale
      
    foreach ($comuni as $comune) {
        
    //qui produci la option col comune
      
    }


  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    487

    grazie ma non ci ho capito molto..

    ci pensero su un po..
    Vivi intensamente, muori giovane e sarai un cadavere di bell' aspetto.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.