Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875

    passo l'id sbagliato alla pagina successiva

    Devo passare l'id di un hotel prendendolo da una query, in pratica seleziono 2 hotel, il primo ha come id 3, il secondo ha come id 4, se scelgo il 3 alla pagina successiva mi porta il 4...
    Se creo un campo di testo nascosto e ci faccio l'echo del valore, mi da 4, non capisco perche' mi passa quello sbagliato...

    Codice PHP:
    $blocco_opzioni .= "<option value=\"\" selected>Seleziona hotel</option>";
    $sql_hotel="select * from tour_operator_hotel where localita=\"$destinazione\"";
    $risultato = @mysql_query($sql_hotel)
    or die(
    "Impossibile eseguire l'interrogazione della localita");
    while (
    $riga mysql_fetch_array($risultato)) {
    $id_hotel $riga['id_hotel'];
    echo
    "$id_hotel
    "
    ;
    $nome_hotel $riga['nome_hotel'];
    $localita=$riga['localita'];
    $blocco_opzioni .= "<option value=\"$nome_hotel\">$nome_hotel - $id_hotel</option>";
    }
    $visualizza_blocco "
    <select name=\"hotel\" id=\"hotel\">
    $blocco_opzioni
    </select>

    Dove sbaglio??

  2. #2
    Forse perchè invece dell'id passi il nome dell'hotel?

    Codice PHP:
    ...
    $blocco_opzioni .= "<option value=\"$nome_hotel\">$nome_hotel - $id_hotel</option>";
    ... 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    Originariamente inviato da satifal
    Forse perchè invece dell'id passi il nome dell'hotel?

    Codice PHP:
    ...
    $blocco_opzioni .= "<option value=\"$nome_hotel\">$nome_hotel - $id_hotel</option>";
    ... 
    no, quell'$id_hotel lo tengo come debug per vedere nella select cosa esce, ed in effetti mi esce qualcosa come:

    Hotel Continental - 3
    Hotel Oasis - 4
    il che e' corretto, pero' se seleziono l'hotel continental che ha come id 3, poi nella pagina di inserimento mi inserisce il 4...

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, Fatifal intendeva che nel value delle option così come hai scritto si legge
    $blocco_opzioni .= "<option value=\"$nome_hotel \">$nome_hotel - $id_hotel</option>"; al posto che l'id.

    Dall'altra parte come recuperi l'id?

  5. #5
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    Originariamente inviato da m4rko80
    Ciao, Fatifal intendeva che nel value delle option così come hai scritto si legge
    $blocco_opzioni .= "<option value=\"$nome_hotel \">$nome_hotel - $id_hotel</option>"; al posto che l'id.

    Dall'altra parte come recuperi l'id?
    ah si, ok, ora provo un attimo a cambiare

  6. #6
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    ok il problema era proprio quello, pero' io vorrei poter mettere nel database sia il nome dell'hotel che l'id, in questo modo ne posso mettere solo uno...
    Oppure c'e' un modo per portarli tutti e 2 e alla pagina successiva in qualche modo riesco a dividere il nome dell'hotel dall'id?

  7. #7
    Secondo me stai sbagliando approccio. Se hai l'ID dell'hotel il nome è un'informazione ridondante da salvare nel DB dato che esso è recuperabile appunto tramite quell'ID.
    In altrenativa, puoi concatenare l'ID al nome tramite un delimitatore che sicuramente non sarà mai presente nei vari nomi di hotel e nella pagina di destinazione utilizzare la funzione explode()
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    Originariamente inviato da satifal
    Secondo me stai sbagliando approccio. Se hai l'ID dell'hotel il nome è un'informazione ridondante da salvare nel DB dato che esso è recuperabile appunto tramite quell'ID.
    In altrenativa, puoi concatenare l'ID al nome tramite un delimitatore che sicuramente non sarà mai presente nei vari nomi di hotel e nella pagina di destinazione utilizzare la funzione explode()
    si infatti e' cosi': nella tabella pacchetti del database inserisco sia l'id che il nome dell'hotel.
    Non so se e' corretto, ma in questo modo quando devo andare a vedere di che hotel si tratta subito faccio.
    Ora sto provando ad inserire solo l'id e tirarmi fuori il nome dell'hotel tramite php.
    Alla fine qual'e' l'opzione migliore? intendo strutturalmente parlando

  9. #9
    Strutturare bene un DB è un fattore molto importante e va studiato prima ancora di inizare a scrivere codice. Ora non conosco il tuo applicativo e tantomeno la struttura del DB che stai utilizzando, ma in genere dovrebbe esserci una tabella hotel con l'ID, il nome e le altre info al riguardo e nella tabella pacchetti un campo es: id_hotel che contiene l'ID dell'hotel associato a tale pacchetto e tramite il quale sei in grado di ricavare le informazioni relative all'hotel associato a tale pacchetto.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  10. #10
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    Originariamente inviato da satifal
    Strutturare bene un DB è un fattore molto importante e va studiato prima ancora di inizare a scrivere codice. Ora non conosco il tuo applicativo e tantomeno la struttura del DB che stai utilizzando, ma in genere dovrebbe esserci una tabella hotel con l'ID, il nome e le altre info al riguardo e nella tabella pacchetti un campo es: id_hotel che contiene l'ID dell'hotel associato a tale pacchetto e tramite il quale sei in grado di ricavare le informazioni relative all'hotel associato a tale pacchetto.
    si ok, e' come e' fatto il mio database, solo che nella tabella pacchetti oltre all'id_hotel avevo inserito anche il nome dell'hotel.
    A questo punto lo elimino, tanto sono riuscito a recuperarlo con la modifica che mi hai fatto fare prima.
    Ti ringrazio

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.