Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766

    selezionare i record compresi tra 2 date

    devo estrarre dei record e i valori devono corrispondere a un intervallo di date che decido io attraverso un form

    mi spiego
    ho questo form con i campi:
    data_arrivo
    data_partenza

    quando lo invio voglio visualizzare le offerte inerenti solo al lasso di tempo scritto in quei 2 campi.
    Come posso fare?

    Nel db i campi con le date si chiamano
    valida_da
    valida_fino

    io avevo pensato a qualcosa tipo
    Codice PHP:
    where data_arrivo BETWEEN $valida_da AND $valida_fino and data_partenza between $valida_da and $valida_fino order by scadenza asc"); 
    ma non va... come posso aggiustare dal where in poi??

  2. #2
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    Codice PHP:
    "where (valida_da >= '" .$data_arrivo."' AND $valida_fino<='" .$data_partenza.'") order by scadenza asc"; 
    <= >= se devono stare nell'intervallo, altrimenti = se devono essere uguali

  3. #3
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    forse ci sono quasi, ma non trova niente perche' forse vuole l'unixtime...

    ecco il codice completo:
    Codice PHP:
    $sql1=mysql_query("select id, titolo, from_unixtime(cast(valida_da as signed),'%e/%m') as valida_da, from_unixtime(cast(valida_fino as signed),'%e/%m/%Y') as valida_fino, prezzo, trattamento, descrizione_offerta, scadenza, pacchetto from offerte where albergo='$hotel' and prezzo <= '$_POST[prezzo]' and valida_da >= '$_POST[data_arrivo]' AND valida_fino<= '$_POST[data_partenza]' and from_unixtime(scadenza, '%Y-%m-%d') >= CURDATE() order by scadenza asc"); 
    forse devo fare come per scadenza... come aggiusto??

  4. #4
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    ancora niente...
    perche' mi stampa le offerte se sono o maggiore uguale alla data di arrivo O maggiore uguale alla data di partenza.
    Mi spiego

    se ho un'offerta valida da 5 marzo 2007 al 29 marzo 2007 lui mi fa vedere lo stesso l'offerta anche se cerco dal 1 marzo al 20 marzo perche' il 20 marzo e' minore della data di partenza
    mentre a me serve che estragga SOLO quelle comprese tra il 5 e 29 marzo

    se sono dal 4 al 29 marzo non deve stampare niente.

    Questo e' il codice che sto usando:


    $sql1=mysql_query("select id, titolo, from_unixtime(cast(valida_da as signed),'%e/%m') as valida_da, from_unixtime(cast(valida_fino as signed),'%e/%m/%Y') as valida_fino, prezzo, trattamento, descrizione_offerta, scadenza, pacchetto from offerte where albergo='$hotel' and prezzo <= '$_POST[prezzo]' and valida_da >= '$_POST[data_arrivo]' AND valida_fino<= '$_POST[data_partenza]' and from_unixtime(scadenza, '%Y-%m-%d') >= CURDATE() order by scadenza asc");





    dove sbaglio?

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.