Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Confronto tra due Date

  1. #1

    Confronto tra due Date

    Devo confrontare diverse date e visualizzare in questo caso specifico solo gli ordini che devo far partire tra due giorni a qualsiasi ora:
    Codice PHP:
    <?php
                
    include "../Utility/dbconfig.php";
                
    $giorno=2;
                
    date_default_timezone_set("Europe/Rome");
                
    $str="+".$giorno." day";
                
    $dataora date'Y-m-d H:i:s'strtotime$strmktime000000date('m'), date('d'), date('Y')  )  )  );
                
                
    $query="SELECT * FROM ordini WHERE DataOra=$dataora";
                
    $risultato mysql_query($query) or die("Query fallita".$dataora.mysql_error());
                
    $numero mysql_numrows($risultato);
                
                for(
    $j=0;$j<$numero;$j++) {
                    
    $riga mysql_fetch_array($risultato);
                    echo
    "<h2>Numero Ordine:".$riga['N_Ordine']." </h2><br><br>";
                }
            
    ?>
    Però mi da questo errore:
    Query fallita 2015-01-04 00:00:00You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '00:00:00' at line 1
    Perchè? Cosa devo correggere?

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    prova a mettere gli apici singoli nella variabile della query
    Se nel DB hai un campo datetime con anche gli orari compilati, ti conviene usare between o potresti non ottenere risultati

  3. #3
    si ho un datetime con anche gli orari compilati,ho provato a fare come dici tu:
    codice:
    <?php
                include "../Utility/dbconfig.php";
                $giorno=2;
                date_default_timezone_set("Europe/Rome");
                $str="+".$giorno." day";
                $dataora = date( 'Y-m-d', strtotime( $str, mktime(date('m'), date('d'), date('Y')  )  )  );
                            $giorno2=$giorno+1;
                $str2="+".$giorno2." day";
                $dataora2 = date( 'Y-m-d', strtotime( $str2, mktime(date('m'), date('d'), date('Y')  )  )  );
                
                $query="SELECT * FROM ordini WHERE DataOra BETWEEN $dataora AND $dataora2 ";
                $risultato = mysql_query($query) or die("Query fallita".$dataora.mysql_error());
                $numero = mysql_numrows($risultato);
                
                for($j=0;$j<$numero;$j++) {
                    $riga = mysql_fetch_array($risultato);
                    echo"<h2>Numero Ordine:".$riga['N_Ordine']." </h2><br><br>";
                }
            ?>
    adesso non mi da più errore però non mi fa vedere alcun risultato come se non ci fossero ordini in quel giorno però ci sono...

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    metti anche gli orari e riprova
    potrebbe funzionare anche qualcosa tipo WHERE DataOra LIKE '$dataora%'

  5. #5
    Si grazie adesso funziona!

Tag per questa discussione

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.