Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Richiamare dei dati in base alla data a loro associata

    Ciao, ho una domanda.
    Sto facendo un sito in cui inserisco nel database dei prodotti e una data relativa al giorno in cui devono apparire nel sito (che quindi non è la data di inserimento del prodotto nel database, ma una che assegno io)
    Nel file php devo inserire una funzione che mi estragga 7 prodotti, il primo è quello della data odierna e gli altri 6 sono quelli dei giorni precedenti, solo che quelle che ho usato io non funzionano.
    Qualche suggerimento? grazie
    Festa stanotte di misere tribù sparse impotenti, di nuclei solitari che è raro di vedere insieme ancora
    E s'alzano i canti e si muove la danza

  2. #2
    innanzi tutto non è un prob di php ma di mysql, io farei una query del genere:

    codice:
    SELECT * FROM prodotti ORDER BY date LIMIT 0 , 7
    se no un altra soluzione è fare sette query differenti del tipo
    codice:
    SELECT * FROM prodotto WHERE date =
    e gli si mette la data di oggi, poi di ieri etc.

    Errare e' umano, ma per fare veramente casino serve la password di root.
    Coltiva Linux........Tanto windows si impianta da solo!!!!!
    PHP 4 Ever

  3. #3
    dovresti precisare meglio...

    i giorni precedenti sono quelli passati mentre nella premessa parli di giorni futuri. Servirebbe poi sapere quale foermato di data utilizzi.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    come formato di data lascio a te la scelta, ti faccio un esempio di script a sette query:

    codice:
    $query = "SELECT * FROM prodotto WHERE date = ".$dataoggi
    $res = mysql_query($query);
    while ($row = mysql_fetch_array($res)) { 
        $prod['0']['nome'] = $row['nome'];
        $prod['0']['costo'] = $row['costo'];
    }
    
    $query = "SELECT * FROM prodotto WHERE date = ".$dataieri
    $res = mysql_query($query);
    while ($row = mysql_fetch_array($res)) { 
        $prod['1']['nome'] = $row['nome'];
        $prod['1']['costo'] = $row['costo'];
    }
    
    $query = "SELECT * FROM prodotto WHERE date = ".$dataieri2
    $res = mysql_query($query);
    while ($row = mysql_fetch_array($res)) { 
        $prod['2']['nome'] = $row['nome'];
        $prod['2']['costo'] = $row['costo'];
    }
    
    $query = "SELECT * FROM prodotto WHERE date = ".$dataieri3
    $res = mysql_query($query);
    while ($row = mysql_fetch_array($res)) { 
        $prod['3']['nome'] = $row['nome'];
        $prod['3']['costo'] = $row['costo'];
    }
    
    $query = "SELECT * FROM prodotto WHERE date = ".$dataieri4
    $res = mysql_query($query);
    while ($row = mysql_fetch_array($res)) { 
        $prod['4']['nome'] = $row['nome'];
        $prod['4']['costo'] = $row['costo'];
    }
    
    $query = "SELECT * FROM prodotto WHERE date = ".$dataieri5
    $res = mysql_query($query);
    while ($row = mysql_fetch_array($res)) { 
        $prod['5']['nome'] = $row['nome'];
        $prod['5']['costo'] = $row['costo'];
    }
    
    $query = "SELECT * FROM prodotto WHERE date = ".$dataieri6
    $res = mysql_query($query);
    while ($row = mysql_fetch_array($res)) { 
        $prod['6']['nome'] = $row['nome'];
        $prod['6']['costo'] = $row['costo'];
    }
    tu basta che decidi il tipo di data e le metti nelle variabili $dataoggi, $dataieri etc....

    così poi hai un array con tutti i dati dei sette prodotti.

    Errare e' umano, ma per fare veramente casino serve la password di root.
    Coltiva Linux........Tanto windows si impianta da solo!!!!!
    PHP 4 Ever

  5. #5
    Mi spiego meglio.
    Facciamo che io, il giorno 1 gennaio, inserisca 10 prodotti nel database.
    Nel campo data di ciascuno di essi metto 1 gennaio per il primo, 2 gennaio per il secondo e via così fino al 10, che avrà una data 10 gennaio.
    Ora, il giorno successivo un utente si collega al sito e vede l'elenco dei prodotti in questa maniera:

    - nome prodotto 2 e data prodotto 2 (ossia 2 gennaio)
    - nome prodotto 1 e data prodotto 1 (ossia 1 gennaio).

    Ovvero non vede i prodotti dal 3 al 10, che appariranno solo alla data prefissata.

    la stessa cosa vale fino a 7 prodotti in archivio, cioè l'8 gennaio si vedrà:

    -prodotto 8 e sua data
    -prodotto 7 e data
    -prodotto 6...
    -prodotto 5...
    -prodotto 4...
    -prodotto 3...
    -prodotto 2...

    Il formato utilizzato è il tipo DATE di mysql, aaaa-mm-gg
    Grazie per le risposte.
    Mix, proverò il tuo script, grazie
    Festa stanotte di misere tribù sparse impotenti, di nuclei solitari che è raro di vedere insieme ancora
    E s'alzano i canti e si muove la danza

  6. #6
    comincio a capire, vado a vedere una cosa e poi ti rispondo.

    Errare e' umano, ma per fare veramente casino serve la password di root.
    Coltiva Linux........Tanto windows si impianta da solo!!!!!
    PHP 4 Ever

  7. #7
    allora fai una query con il where che richiama le date <=. es:

    codice:
    $query = "SELECT * FROM prodotto WHERE date <= ".$data
    $res = mysql_query($query);
    $cont = "0";
    while ($row = mysql_fetch_array($res)) { 
        $prod[$cont]['nome'] = $row['nome'];
        $prod[$cont]['costo'] = $row['costo'];
    $cont++;
    }

    Errare e' umano, ma per fare veramente casino serve la password di root.
    Coltiva Linux........Tanto windows si impianta da solo!!!!!
    PHP 4 Ever

  8. #8
    Originariamente inviato da Mix
    allora fai una query con il where che richiama le date <=. es:

    codice:
    $query = "SELECT * FROM prodotto WHERE date <= ".$data
    Ciao, ho provato ma non riesco a confrontare, una volta messa nel codice mysql, la data nel database con la data di oggi, messa con l'istruzione DATE.
    Festa stanotte di misere tribù sparse impotenti, di nuclei solitari che è raro di vedere insieme ancora
    E s'alzano i canti e si muove la danza

  9. #9
    il box date nel db è settato giusto come date e non varchar?

    Errare e' umano, ma per fare veramente casino serve la password di root.
    Coltiva Linux........Tanto windows si impianta da solo!!!!!
    PHP 4 Ever

  10. #10
    era DATE,
    comunque nel frattempo siamo riusciti a sistemare il problema.
    grazie mille, sei stato utilissimo.
    Festa stanotte di misere tribù sparse impotenti, di nuclei solitari che è raro di vedere insieme ancora
    E s'alzano i canti e si muove la danza

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.