Pagina 3 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 34
  1. #21
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    ok, ci sono quasi, le query funzionano benissimo.
    Adesso non riesco a far vedere il form con i filtri con la spunta quando un filtro è attivo
    Sto provando cosi' ma niente
    Codice PHP:
    <p><input type="checkbox" name="trattamento[]" value="1" <?php if($trattamento=="on"){ echo "checked"; } ?>> Soft Al Inclusive</p>
    <p><input type="checkbox" name="trattamento[]" value="2" <?php if($trattamento=="on"){ echo "checked"; } ?>> Hard Al Inclusive</p>
    ho provato anche a sostituire "on" con "1" o "2" e nemmeno va.
    Dove sto sbagliando?

  2. #22
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    Allora, se utilizzo questo codice nel form dei filtri funziona in parte
    Codice PHP:
    <p><input type="checkbox" name="trattamento[]" value="1" <?php if($aggiorna=="1"){ echo"checked";}?>> Soft Al Inclusive</p>    <p><input type="checkbox" name="trattamento[]" value="2" <?php if($aggiorna=="2"){ echo"checked";}?>> Hard Al Inclusive</p>
    in prativa se seleziono solo 1 dei 2 trattamenti, funziona.
    Se seleziono entrambi i trattamenti non me ne trovo nessuno "spuntato"
    Ho anche pensato di utilizzare in_array ma non riesco in nessuna maniera a farlo funzionare, ho provato cosi
    Codice PHP:
    <p><input type="checkbox" name="trattamento[]" value="1" <?php if (in_array(1$aggiorna)) { echo"checked";}?>> Soft Al Inclusive</p>
    Cmq $aggiorna mi fa l'implode di $trattamento, cosi:
    Codice PHP:
    $aggiorna implode(',',$_POST['trattamento']); 

  3. #23
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Allora,
    Devi usare in_array, ma su $_POST['trattamento'] non su $aggiorna che è una stringa.

    Cmq a questo punto ti consiglio un altro approccio, così puoi fare anche un controllo sui dati ricevuti:
    Codice PHP:
    $trattamento_checked = array();
    if(!empty(
    $_POST['trattamento'])){
       
    $or = array();
       foreach(
    $_POST['trattamento'] as $t){
           
    $or[] = 'trattamento='.((int)$t);
           
    $trattamento_checked[$t] = true;
       }
       
    $query .= 'AND ('.implode(' OR '$or).')';
       
    // Puoi anche modificare per usare IN

    nel form
    Codice PHP:
    <input type="checkbox" name="trattamento[]" value="1" <?php if (isset($trattamento_checked[1])) { echo"checked";}?>> Soft Al Inclusive</p>
    <input type="checkbox" name="trattamento[]" value="2" <?php if (isset($trattamento_checked[2])) { echo"checked";}?>> Hard Al Inclusive</p>
    Ultima modifica di boots; 17-03-2018 a 10:58

  4. #24
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    niente, la query funziona (ma anche prima andava bene)
    i checkbox invece non escono selezionati

  5. #25
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Strano...testato (la parte dei checkbox) e restano spuntati
    puoi postare il codice, solo quello relativo ai checkbox e alla costruzione della query per trattamento

  6. #26
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    allora, nel form ho questo:
    Codice PHP:
    <input type="checkbox" name="trattamento[]" value="1" <?php if (isset($trattamento_checked[1])) { echo"checked";}?>> Soft Al Inclusive<br><input type="checkbox" name="trattamento[]" value="2" <?php if (isset($trattamento_checked[2])) { echo"checked";}?>> Hard Al Inclusive
    dopo la prima parte della query senza filtri invece ho:
    Codice PHP:
    $query_offerte="SELECT id_offerta, DATE_FORMAT(valida_da, '%d/%m/%Y') AS valida_da_ita, DATE_FORMAT(valida_fino, '%d/%m/%Y') AS valida_fino_ita, tipo_offerta, prezzo, prezzo_come, trattamento, note_offerta, tipo_camera, id_albergo, incluso, supplementi_riduzioni, operativo FROM offerte WHERE cancellata=\"0\" and '$arrivo' between DATE_ADD(valida_da, INTERVAL -2 DAY) AND valida_fino and DATE_ADD(STR_TO_DATE('$arrivo', '%Y-%m-%d'), INTERVAL +2 DAY) <= valida_fino";
    $trattamento_checked = array();
    if(!empty(
    $_POST['trattamento'])){   
    $or = array();   
    foreach(
    $_POST['trattamento'] as $t){
    $or[] = 'trattamento='.((int)$t); 
    $trattamento_checked[$t] = true;   
    }   
    $query_offerte .= ' AND ('.implode(' OR '$or).')';

    Ultima modifica di allin81; 17-03-2018 a 13:08

  7. #27
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    L'ordine di esecuzione ? fai prima i checkbox o prima la costruzione della query ?

  8. #28
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    sulla pagina viene prima il form con i checkbox e più giù la query

    in pratica da riga 244 parte il form, da riga 300 la query

  9. #29
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Dovresti fare il contrario, altrimenti $trattamento_checked non viene popolato.
    - Costruisciti prima la query
    - Fai i checkbox
    - Esegui la query

    Di solito io metto sempre prima il codice php e poi l'html (con il php dove serve)

  10. #30
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    Quote Originariamente inviata da boots Visualizza il messaggio
    Dovresti fare il contrario, altrimenti $trattamento_checked non viene popolato.
    - Costruisciti prima la query
    - Fai i checkbox
    - Esegui la query

    Di solito io metto sempre prima il codice php e poi l'html (con il php dove serve)
    bingo!!!!
    funziona alla grande adesso

    è stato peggio di un parto

    grazie per l'aiuto, sei stato grandissimo

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.