Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 17 su 17

Discussione: aiuto query

  1. #11
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da Lak3d
    e se usi il between (FRA) penso sia normalissimo che non consideri gli estremi.
    Anche no.
    Nel between gli estremi sono inclusi

  2. #12
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    toh, si impara sempre qualcosa di nuovo

  3. #13
    a me non sembra che il between includa i valori estremi.
    Nel mio esempio ho questo record:
    NOTIZIA 1 data_inizio: 2007-02-03 data_fine: 2007-02-04

    uso questa query per trovare la settimana corrente ed estrarre gli articoli:

    Codice PHP:
    function eventi() {
    // Restituisce inizio (LUN) e fine (DOM) della settimana corrente e di quella successiva
    $mesi = array(1=>'Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno',
                  
    'Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre');

    $oggi date('Y-n-d');
    list(
    $anno,$mese,$giorno) = explode("-",$oggi);
    $numero_lunedi $giorno date('w') + 1;
    $questo_lunedi $anno.'-'.$mese.'-'.$numero_lunedi;
    $questa_domenica date('Y-n-d',strtotime("$questo_lunedi + 6 days"));
    $prossimo_lunedi date('Y-n-d',strtotime("$questo_lunedi + 1 week"));
    $prossima_domenica date('Y-n-d',strtotime("$questa_domenica + 1 week"));
    list(
    $anno_ql,$mese_ql,$giorno_ql) = explode('-',$questo_lunedi);
    list(
    $anno_pl,$mese_pl,$giorno_pl) = explode('-',$prossimo_lunedi);
    list(
    $anno_qd,$mese_qd,$giorno_qd) = explode('-',$questa_domenica);
    list(
    $anno_pd,$mese_pd,$giorno_pd) = explode('-',$prossima_domenica);

    $questa_settimana = ($mese_ql == $mese_qd) ? "Eventi dal $giorno_ql al $giorno_qd $mesi[$mese_ql] $anno_qd"
                                               
    "Eventi dal $giorno_ql $mesi[$mese_ql] al $giorno_qd
                                                     
    $mesi[$mese_qd] $anno_qd";

    $prossima_settimana = ($mese_pl == $mese_pd) ? "Eventi dal $giorno_pl al $giorno_pd $mesi[$mese_pl] $anno_pd"
                                               
    "Eventi dal $giorno_pl $mesi[$mese_pl] al $giorno_pd
                                                     
    $mesi[$mese_pd] $anno_pd";

    return array(
    $questa_settimana,$prossima_settimana);
    }

    list(
    $questa,$prossima) = eventi();
    echo 
    "<h2>$questa</h2>";

    $s="SELECT * FROM $table WHERE curdate() BETWEEN data_inizio AND data_fine ORDER BY categoria";
    $r=mysql_query($s);
    while(
    $d=mysql_fetch_array($r)){
    echo 
    "$d[titolo]
    "
    ;

    ma non funzia!

  4. #14
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    "Non funzia" non vuol dire niente.
    Perché non fai una semplice query basata su uno dei valori estremi invece di quel casino di codice che può avere errori ovunque? Così lo vedi subito se li comprende o no

  5. #15
    Allora mi spieghi perchè se faccio questa query

    Codice PHP:
    SELECT FROM $table WHERE curdate() BETWEEN data_inizio AND data_fine ORDER BY categoria 
    e nel database ho questi articoli:
    (titolo | data_inizio | data_fine)
    Spaziocasa | 2007-02-10 | 2007-02-18
    Maschera 2 | 2007-02-10 | 2007-02-10
    Carnevale | 2007-02-11 | 2007-02-11

    Non mi escono??
    Sono tutti eventi dentro questa settimana.

  6. #16
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da scalcodesign
    Allora mi spieghi perchè se faccio questa query

    e nel database ho questi articoli:
    (titolo | data_inizio | data_fine)
    Spaziocasa | 2007-02-10 | 2007-02-18
    Maschera 2 | 2007-02-10 | 2007-02-10
    Carnevale | 2007-02-11 | 2007-02-11

    Non mi escono??
    Sono tutti eventi dentro questa settimana.
    Non ti escono perché oggi è il 5 e tutte quelle date sono fuori.
    Cosa c'entra la settimana?

  7. #17
    allora non ci siamo capiti.
    Io ho un database di articoli. Ogni articolo ha una data di inizio e una data di fine evento.
    Devo fare una query che mi estrapola tutti gli articoli che si svolgono questa settimana facendo riferimento alle 2 date (fine-inizio) che ho nel database.

    Quindi è sbagliata questa query?
    Codice PHP:
    SELECT FROM $table WHERE curdate() BETWEEN data_inizio AND data_fine ORDER BY categoria 

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.