Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    query con range e random

    Ma non si può fare una query con un range di date e tirar fuori da quel range dei record in modo randomico?

    Perchè a me non funziona, ma non riesco ad individuare l'errore nel mio codice dove dovrebbe stampare solo i record degli ultimi 2 giorni in modo randomico:

    Codice PHP:
      $range date ("Y-m-d"mktime(0,0,0,date("m"),date("d")-2,date("Y")));  

       
       
       
                
    $query_random_news_1="SELECT c_art_articolo.*, c_art_categoria.*, c_art_posizione.*, c_art_sottocategoria.* 
                
                FROM c_art_articolo
                
                INNER JOIN c_art_categoria
                ON c_art_articolo.id_art_categoria = c_art_categoria.id_art_categoria 
                                    
                INNER JOIN c_art_sottocategoria
                ON c_art_articolo.id_art_sottocategoria = c_art_sottocategoria.id_art_sottocategoria 
                
                INNER JOIN c_art_posizione
                ON c_art_articolo.id_art_posizione_sottohome = c_art_posizione.id_art_posizione 
                    
                WHERE c_art_articolo.data_ins_adm <= '
    $range
                
                ORDER BY RAND() LIMIT 1"


  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    218
    Non ti funziona nel senso che ti restituisce sempre lo stesso record?

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Non funziona nel senso che mi restituisce record anche più vecchi di 2 giorni, vecchi anche di 6 mesi.

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    up

  5. #5
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    codice:
    WHERE c_art_articolo.data_ins_adm <= '$range'
    è normale... 6 mesi fà era sempre minore di oggi il timestamp

    usa BETWEEN di Mysql
    http://dev.mysql.com/doc/refman/5.0/...erator_between

    e scrivi
    codice:
    WHERE c_art_articolo.data_ins_adm BETWEEN $start AND $stop
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Ma le variabili $start e $stop da dove le ricavi?

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Fatto, ma continua a restituirmi anche i record vecchi.

    Codice PHP:
       $start date ("Y-m-d"mktime(0,0,0,date("m"),date("d")-5,date("Y")));  
       
    $stop date ("Y-m-d"mktime(0,0,0,date("m"),date("d"),date("Y")));  
       
                
    $query_random_news_1="SELECT c_art_articolo.*, c_art_categoria.*, c_art_posizione.*, c_art_sottocategoria.* 
                
                FROM c_art_articolo
                
                INNER JOIN c_art_categoria
                ON c_art_articolo.id_art_categoria = c_art_categoria.id_art_categoria 
                                        
                INNER JOIN c_art_sottocategoria
                ON c_art_articolo.id_art_sottocategoria = c_art_sottocategoria.id_art_sottocategoria 
                
                INNER JOIN c_art_posizione
                ON c_art_articolo.id_art_posizione_sottohome = c_art_posizione.id_art_posizione 
                    
                WHERE c_art_articolo.id_art_categoria  = '5' OR c_art_articolo.id_art_categoria  = '10' 
                
                AND c_art_articolo.data_ins_adm BETWEEN 
    $start AND $stop AND c_art_articolo.id_art_articolo != '".$id."'
                
                ORDER BY RAND() LIMIT 1 

  8. #8
    Le date vanno inserite tra apici o virgolette, come le stringhe...
    codice:
    ...
    AND c_art_articolo.data_ins_adm BETWEEN '$start' AND '$stop' 
    ...
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Originariamente inviato da Magicale
    Le date vanno inserite tra apici o virgolette, come le stringhe...
    codice:
    ...
    AND c_art_articolo.data_ins_adm BETWEEN '$start' AND '$stop' 
    ...
    Fatto ma mi da lo stesso risultato di prima
    mi sa che ci devo rinunciare

  10. #10
    Hai provato a stampare $start e $stop per vedere se hanno valori corretti?
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

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.