Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Elenco /menu dinamico

  1. #1

    Elenco /menu dinamico

    ciao a tutti
    mi sto picchiando con un problemino che spero qualcuno di voi consideri una banalita e possa aiutarmi. Mi spiego.
    Ho realizzato un motorino di ricerca con qualche filtro per un db immobiliare. Nella ricerca è presente un menu a tendina dinamico che si va a prendere i valori dal database (nel mio caso prende i valori della categoria di un immobile dal campo "categoria" di ogni record.
    Bene, io vorrei che prendesse questi valori solo una volta per ognuno e nn tutti, ripetendo i valori uguali come accade adesso.

    es menu attuale: categoria---->Villa
    Villa
    Appartamento
    Bilocale
    Bettola
    Bettola

    Posto un po di codice della pagina di ricerca col menu dinamico...
    Help me, tenchiu....



    <?php
    mysql_select_db($database_liveliguria, $liveliguria);
    $query_schede = "SELECT * FROM immobili";
    $schede = mysql_query($query_schede, $liveliguria) or die(mysql_error());
    $row_schede = mysql_fetch_assoc($schede);
    $totalRows_schede = mysql_num_rows($schede);
    ?>

    <select name="categoria" id="categoria">
    <?php do {
    ?>
    <option value="<?php echo $row_schede['categoria']?>"
    <?php if (!(strcmp($row_schede['categoria'], $row_schede['categoria']))) {echo "SELECTED";} ?>><?php echo $row_schede['categoria']?></option>
    <?php
    } while ($row_schede = mysql_fetch_assoc($schede));
    $rows = mysql_num_rows($schede);
    if($rows > 0) {
    mysql_data_seek($schede, 0);
    $row_schede = mysql_fetch_assoc($schede);
    }
    ?>
    </select>

  2. #2
    Usa DISTINCT nella query. Tenendo pero' presente che ti prendera' il primo che trova.

    SELECT DISTINCT * FROM TABELLA GROUP BY categoria


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Grazie mille
    Per ti prenderà il primo che trova, intendi che se ho nel campo due valori identici mi prende solo il primo, prendendo comunque tutti gli altri?
    Se e cosi mi va bene
    ciao

  4. #4
    grazie funziona!!
    un dubbio: se avessi altri menu dinamici da aggiungere a quello presente, come dovrei scrivere la query.....

  5. #5
    Originariamente inviato da rizzielle
    Grazie mille
    Per ti prenderà il primo che trova, intendi che se ho nel campo due valori identici mi prende solo il primo, prendendo comunque tutti gli altri?
    Se e cosi mi va bene
    ciao
    Esatto, ne prende uno per ogni "categoria". Se vuoi fargli prendere un valore unico ma di un record specifico, dovrai utilizzare l'istruzione HAVING invece di WHERE.
    Es.:

    SELECT DISTINCT * FROM TABELLA
    GROUP BY categoria
    HAVING prezzo > '$tot'


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.