Visualizza dati di una singola settimana

Pascal Pavan

Nuovo Utente
27 Ago 2012
16
0
0
Ciao,
io ho una tabella dove organizzo spedizioni settimanali,
io vorrei che nella tabella mi uscissero solo i dati della settimana in corso, per esempio questa settimana vorrei che venissero esposti i dati dal 15.10 al 21.10.

Avete idee? Grazie mille =)
 
Ciao,
io ho una tabella dove organizzo spedizioni settimanali,
io vorrei che nella tabella mi uscissero solo i dati della settimana in corso, per esempio questa settimana vorrei che venissero esposti i dati dal 15.10 al 21.10.

Avete idee? Grazie mille =)

Campi della tabella??
Hai un campo data a cui fare riferimento?
 
Allora ho una tabella in html che mostra i risultati e li vorrei che venissero messi solo quelli di settimana in settimana.

La tabella nel DB non ha una data di inserimento e non una data di fine, speravo ci fosse una funzione mysql per portare a video solo i dati di questa settimana. I campi nel DB sono questi:
ID - Dossier - Zona - DataCarico - LuogoCarico - Mittente - DataScarico - LuogoScarico - Ricevente - Tipo - Quantità - MetriQuadrati - Tonnellate - dettagli - Magazzino - vettore - riservato
 
non puoi usare il campo "DataCarico " per la ricerca?
 
non puoi usare il campo "DataCarico " per la ricerca?

E come faccio a fare una query che mi calcoli che sono visualizzabili da - a?!
Metti che io ho dataCarico il 18.10.2012,
come faccio a visualizzare tutti i dati provenienti dalla dataa 15.10 fino alla data 21.10?!

Sarebbe tipo un
select * from pianificazioneSettimanale
where dataCarico between(...);

Ma cosa posso mettere al posto dei ... per dirgli di cercare di 7 giorni in 7?
 
ciao
potresti provare qualcosa del genere
PHP:
<?php
function data_in_fi($ora){
	$gg=date("w",$ora);//va da 0 domenica a 6 sabato
	//esempio oggi = giovedi =>4
	$gg_add=7-$gg;//3
	$data[0]=$ora - ($gg_add*24*60*60);
	$data[1]=$ora + ($gg_add*24*60*60);
	return $data;
}
//test
$oggi=time();//o data impostata manualmente e trasformata in timestamp
$intervallo=data_in_fi($oggi);
echo "oggi è ".date("l", $oggi)."<br />";
echo "settimana da ".date("l", $intervallo[0])." a ".date("l", $intervallo[1])."<br />";
echo "(valori restituiti dalla funzione ".$intervallo[0]." e ".$intervallo[1]." sono in timestamp<br />";
?>
la funzione in funzione del giorno attuale calcola il timestamp del lunedi precedente e della domenica seguente
quindi $inrevallo[0] e $intervallo[1] possono essere usati nella query SELECT.. data BETWEN $intervallo[0] and $intervallo[1]
da considerare comunque come è salvata la data (umano o timestamp) il difetto nasce se le date sono in formato umano italiano
 
che tipo di dato è dataCarico?
se DATETIME o TIME o TIMESTAMP puo andare
ma non dirmi che è in formato stringa

lo vedi dalla struttura della tabella
 
che tipo di dato è dataCarico?
se DATETIME o TIME o TIMESTAMP puo andare
ma non dirmi che è in formato stringa

lo vedi dalla struttura della tabella

I dati li ho salvati come varchar poichè non so come modificare le date in mysql :(
Xk io ho bisogno che le date vengano salvate gg/mm/AAAA ,
se sai come modificare mysql per avere questo risultato, grande :D

Grazie
 
ciao
a mio parere "salvare" le date gg/mm/aaaa (varchar ossia stringa) è un errore perche rende molto difficili i calcoli e i confronti.
io salvo le date sempre in timestamp (settaggio campo int(15) ) e poi me le strasformo come voglio a monitor e a stampa con la funzione date()
se il tuo db è ancora in fase di prova (quindi pochi dati) ti conviene rifare la tabella reinserendo il tutto
 
ciao
a mio parere "salvare" le date gg/mm/aaaa (varchar ossia stringa) è un errore perche rende molto difficili i calcoli e i confronti.
io salvo le date sempre in timestamp (settaggio campo int(15) ) e poi me le strasformo come voglio a monitor e a stampa con la funzione date()
se il tuo db è ancora in fase di prova (quindi pochi dati) ti conviene rifare la tabella reinserendo il tutto

Sisi , è ancora in prova! ma allora io come gliele passo le date? Io quando clicco nella mia tabella su un campo data mi si apre un un mini calendario, come devo inserire la data nel capo per farla registrare in modo esatto nel formato timestamp?
 
Il formato TIMESTAMP id mysql è cosi aaaa-mm-dd hh:ii:ss

io lo preferisco perchè è piu semplice consultare le tabelle direttamente da phpmyadmin e inoltre permette di settare il campo con CURRENT_TIMESTAMP , in questo modo se fai una insert e ometti la data ti inserisce in automatico la data corrente
Questo se mi servono anche i secondi altrimenti, uso semplicemente DATE

per invertire una data come la tua nel formato SQL puoi crearti una funzione simile
PHP:
<?php

function reverse_data($data) {
    $data = explode("/", $data);
    $data = array_reverse($data);
    return implode('-', $data);
}

$data = "18/10/2012";
$data_per_mysql = reverse_data($data);

echo $data_per_mysql;
?>
Avrai una data cosi 2012-10-18
 
Ultima modifica:

Discussioni simili