Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    57

    Aiuto gestione offerte con data

    Ciao a tutti, sto completando un portale di hotels gestito da un cms fatto tutto da zero tramite aiuti, libri ecc. adesso pero' sono bloccato alla gestione delle offerte, in pratica vorrei che le offerte si visualizzanouna alla volta in base alla data, cioe' se ho un'offerta che va dal 14 al 16 giugno automaticamente allo scadere della data si deve visualizzare l'offeta successiva, ho fatto la tabella in questo modo:

    codice:
    CREATE TABLE IF NOT EXISTS `offerte` (   
    `idofferte` int(11) NOT NULL auto_increment, 
     `nome_offerta` varchar(100) NOT NULL,   
    `trattamento` varchar(50) NOT NULL,  
    `dal` varchar(150) NOT NULL,   
    `al` varchar(150) NOT NULL,  
    `prezzo` varchar(20) NOT NULL,   
    `incluso` text NOT NULL,   
    `idhotel` text NOT NULL,   
    PRIMARY KEY  (`idofferte`)
     ) 
    ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;
    adesso pero' non so che codice usare per far cio', qualcuno mi puo' aiutare ?
    Grazie

  2. #2
    Ciao,
    potresti creare due campi data invece che varchar qui:

    `dal` DATETIME NOT NULL,
    `al` DATETIME NOT NULL,

    e poi quando fai la query di select richiami solo l'offerta il cuin intervallo ricade nella data odierna

    Ciao
    Alle anime superficiali occorrono degli anni per liberarsi di un’emozione. L’uomo padrone di sè pone fine a un dolore con la stessa facilità con la quale improvvisa una gioia.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    57
    Grazie per la risposta! adesso cambio subito la tabela, poi la select adesso è composta così:
    Codice PHP:
    $query2 'SELECT * FROM offerte p JOIN hotel  cp ON p.idhotel = cp.idhotel WHERE p.idhotel = ' $row['idhotel'] . '  LIMIT 1'
    in pratica per associare le offerte all'hotel ho fatto un join tra due tbl, mi dici come posso fare la nuova select con la data associata?
    grazie

  4. #4
    Con le modifiche alla tabella ed avendo quindi due campi data puoi fare così:

    Codice PHP:
    SELECT FROM offerte p JOIN hotel  cp ON p.idhotel cp.idhotel WHERE p.idhotel ' . $row['idhotel'] . '  AND p.dal <= NOW() AND p.al >= NOW() LIMIT 1 
    Che in poche parole ti seleziona l'offerta la cui data di inizio è minore o uguale alla data di richiesta e la data di fine è maggiore o uguale alla data di richiesta.

    Considera che se non ci sono offerte valide la query non restituisce risultati quindi dovresti gestire anche questa eventualità.

    Ciao
    Alle anime superficiali occorrono degli anni per liberarsi di un’emozione. L’uomo padrone di sè pone fine a un dolore con la stessa facilità con la quale improvvisa una gioia.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    57
    Grande!!!! dopo quando vado in pausa ci provo e vedo se funziona!! per il momento ti ringrazio mi ha risolto un problema grandissimo! attualmente quando non ci sono offerte nella descrizione dell'hotel non mi escono offerte rimanendo vuota qui cè l'esempio:
    http://www.ischiatravelnet.com/index.php
    vorrei fare che se la query non trova niente automaticamente va a leggere la tbl delle tariffe mostrando cosi' la tariffa del mese in corso.
    Grazie dopo ti faccio sapere se ha funzionato!

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    57
    fantastico! funziona alla grande! l'unica cosa e che nella visualizzazione dell'offerta la data mi esce cosi': 2011-06-15 non ce' un modo per visualizzarla magari cosi': 15-06?
    Grazie

    PS: vorrei mettere quando clicco nello spazio del form un piccolo calendario invece di scrivere una mano tutto, ed anche nello spazio del form inserimento descrizione tutta una serie di funzioni per il testo tipo grassetto, scrittura in corsivo.
    grazie

  7. #7
    Ciao,
    per la data puoi farti una piccola funzione di conversione:

    Codice PHP:
    function dataita($data) {
      if (
    $data != "") {
         
    $new_data explode("-"$data);
         if (
    count($new_data >= 3) {
            
    $new_data $new_data[2] . "/" $new_data[1] . "/" $new_data[0];
            
    $return $new_data;
         } else {
             
    $return $data;
         }
      } else {
          
    $return $data
      
    }
      return 
    $return;

    E per richiamarla sulla pagina quando stampi la data fai:
    <?php echo dataita($tuadata)?>

    Per il calendario ed il resto devi far riferimento a javascript non sono cose fattibili con il solo php.

    Ciao
    Alle anime superficiali occorrono degli anni per liberarsi di un’emozione. L’uomo padrone di sè pone fine a un dolore con la stessa facilità con la quale improvvisa una gioia.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    57
    Grazie ancora, allora adesso aggiusto la data poi mi metto sotto con il java! ciao

  9. #9
    per l'editor posso segnalarti questo:

    http://ckeditor.com/

    perfettamente integrabile in php grazie alla classe apposita.

    Per il calendario ti basta googlare un pò e troverai sicuro qualcosa.

    Buona serata
    Alle anime superficiali occorrono degli anni per liberarsi di un’emozione. L’uomo padrone di sè pone fine a un dolore con la stessa facilità con la quale improvvisa una gioia.

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.