Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Problema e suggerimento campo select

    Salve ragazzi, spero come al solito in un buon consiglio.

    Ho un modulo dove c'e' una select che riprende i nomi in un db e li inserisce nella select in questo modo:

    codice:
    <select size="1" name="id_hotel_banner1">
    		
    <option selected>Seleziona</option>
    		
    			
    <?php
    			
    $query ="SELECT id_hotel, nome_hotel, banner_hotel_dx FROM hotel WHERE tipologia_hotel = 'Top' AND banner_hotel_dx = '0' ORDER BY nome_hotel";
    $res   = mysql_query($query) or die(mysql_error());
    while ($array = mysql_fetch_assoc($res)) {
    
    ?>
      
    <option value="<? echo $array['id_hotel'] ?>"><? echo $array['nome_hotel'] ?></option>
        		
    <?
        		
    }
    	
    ?>
    	
    </select>
    Cosi' recupero id e nome e li inserisco nella select, diciamo che funziona, pero', il mio problema e' un altro...

    Preciso che nel db i nomi degli hotel sono associati a un campo banner_hotel e che se sto campo e' = a 1 li visualizza, altrimenti uguale a 0 non li visualizza (in questo caso al max 3 hotel).

    Come faccio a far visualizzare come prima opzione l'hotel settato con 1 e cioe' visibile nel db ?



    Ciao e grazieee..
    Micky

  2. #2
    Non sei troppo chiaro....

    nella query chiedi espressamente

    WHERE tipologia_hotel = 'Top' AND banner_hotel_dx = '0'

    quindi solo dove banner = 0.

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

  3. #3
    Si, nel db ci sono hotel normali e hotel top (i paganti...)
    Ovviamente solo gli hotel top possono avere avere il banner, il campo banner_hotel; per cui se non facessi quel, diciamo, controllo, otterrei la lista di tutti gli hotel e a me non serve perche' devo solo intervenire sugli hotel top in questo caso, banner_hotel_dx = 0 perche' deve solo inserire nella select gli hotel non attivi (i tre attivi penso sia inutile inserirli).

    E' un po' meglio come spiegazione ?
    E' un casino spiegare in poche righe !!
    Cmq, ci provo..

    Ciauzzz
    Micky

  4. #4
    No. sono tosto. Tu vuoi per primi quelli con banner = 1 ????

    allore devi togliere la condizione where banner=0 e fare l'ordinamento per banner_hotel_dx DESC cioe' prima banner = 1 poi banner= 0

    Se sono troppi puoi contarli e con una if decidere quando sono bastanti.

    Ma sinceramente non e' chiarissimo.

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

  5. #5
    Lo so...
    Continuo a provare...

    Ti spiego, io ho sto modulo in cui l'utente puo' scegliere da una lista di hotel tre hotel da mettere come bannerini, io ho in pratica 3 select (iniziamo a farne funzionare una poi vediamo...) in cui ci sono i nomi degli hotel che hanno questo diritto (solo i top), io vorrei che come primo hotel sia quello che effettivamente e' gia' settato nel DB come 1 (e cioe' visibile) e di seguito gli altri (settati a 0).

    Sto impazzendo..
    VVoVe:

  6. #6


    Funzionaaaaaaaaaaaaaa !!

    $query ="SELECT id_hotel, nome_hotel, banner_hotel_dx FROM hotel WHERE tipologia_hotel = 'Top' ORDER BY banner_hotel_dx DESC";

    VVoVe:


    Grazie Piero e' stato un ottimo consiglio, come sempre del resto !!
    Ciaooo

    Micky

  7. #7
    il pastrocchio e' che non si capisce, almeno finora, chi e' che ha la flag (per brevita') a 1. Dunque.... I primi tre con flag a 1 nelle prime tre posizioni, poi altri tre con flag a 0 . giusto?

    Se e' cosi' puoi fare 2 queries, una con condizione where flag=1 LIMIT 3 e poi un altra con where flag = 0 limit 3.

    Oppure senza condizione where flag, ma con ordinamento order by flag desc, quindi prima le flag = 1 e poi le flag = 0 e controllare con una if se hai raggiunto il numero di tre con flag a 1, per poi passare ad inserire le flag 0.

    Piu difficile da spiegare che da fare.

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

  8. #8
    Si molto difficile da spiegare, cmq con una sola select direi che ci sono riuscito, ora devo riuscire a farlo con 3 campi select....

    Ommado**a...

    ps: ma non si puo' fare questo campo:

    <option selected>Seleziona</option>

    in modo che se non seleziono niente non mi passi nessun dato ??!

    l'ho buttata li', mi risolverebbe un po' di problemi, penso....

  9. #9
    Hai un select del form e un select della query. a quale ti riferisci?

    Vuoi dire se non ci sono hotel mi salta tutto il form?

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