Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di adiumx
    Registrato dal
    Jan 2005
    residenza
    Zurigo
    Messaggi
    353

    OPTGROUP: insieme di campi con la stessa data

    Vorrei creare un output tipo questo:

    <SELECT name='page' size='1'>
    <OPTGROUP label='26/05/05'>
    <OPTION value='id'>titolo_pagina</OPTION>
    <OPTION value='id'>titolo_pagina</OPTION>
    </OPTGROUP >
    < OPTGROUP label='27/05/05'>
    <OPTION value='id'>titolo_pagina</OPTION>
    <OPTION value='id'>titolo_pagina</OPTION>
    </OPTGROUP>
    </SELECT>

    Praticamente dovrei avere in un campo select i dati di un tabella ordinati per giorno, in ogni optgroup ci dovrebbero essere i campi di quel giorno.

    La tabella ha i seguenti campi: id, titolo, testo, data. la data è nel formato timestamp di mysql

    Non riesco proprio ha trovare una soluzione...

    grazie per ogni aiuto

  2. #2
    codice:
    $sql = "SELECT id, titolo, testo, DATE_FORMAT(data, '%d-%m%-%y') FROM tabella ORDER BY data";
    $result = mysql_query($sql) or die(mysql_error());
    echo "<select name=\"page\">";
    $my_data = '';
    while(list($id, $titolo, $testo, $data)=mysql_fetch_row($result)) {
         if($data != $my_data) {
                 $my_data = $data;
                 echo "<OPTGROUP label='{$my_data}'>\n"; 
         }
         echo "<option value=\"$id\">$titolo</<option>"; 
    }
    echo "</select>";
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  3. #3
    Utente di HTML.it L'avatar di adiumx
    Registrato dal
    Jan 2005
    residenza
    Zurigo
    Messaggi
    353
    innanzitutto grazie per la risposta

    $my_data = '';

    cosa ci devo mettere?

    e poi, ancora una domanda, il tag < OPTGROUP> non viene chiuso?

    Ciao e grazie ancora

  4. #4
    veramente OPTGROUP non so neanche che sia...
    cmq, in $my_data non devi mettere niente e per chiudere OPTGROUP correggi così

    codice:
    $sql = "SELECT id, titolo, testo, DATE_FORMAT(data, '%d-%m%-%y') FROM tabella ORDER BY data";
    $result = mysql_query($sql) or die(mysql_error());
    echo "<select name=\"page\">";
    $my_data = '';
    while(list($id, $titolo, $testo, $data)=mysql_fetch_row($result)) {
         if($data != $my_data && $my_data != '') {
                 echo "</optgroup>
                       <optgroup label='{$my_data}'>\n"; 
                 $my_data = $data;
         } else if($data != $my_data) {
                 echo "<optgroup label='{$my_data}'>\n"; 
                 $my_data = $data;
         }
         echo "<option value=\"$id\">$titolo</<option>"; 
    }
    echo " </optgroup>
          </select>";
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  5. #5
    Utente di HTML.it L'avatar di adiumx
    Registrato dal
    Jan 2005
    residenza
    Zurigo
    Messaggi
    353
    Funge tutto alla perfezione, grazie mille!

    OPTGROUP è una "roba" che dividi i tab select in gruppi, come lo volevo io (e come hai fatto tu) crea un gruppo per giorno, con dentro i record di quel giorno

    Ciao e grazie ancora

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.