Select intre doua Date in MySQL

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
Avatar utilizator
trif
Mesaje:500

Select intre doua Date in MySQL

Buna ziua,
Am si eu o problema si nu stiu cum sa o rezolv.
Am o bd in care se primesc comenzi si as dori ca atunci cand selectez o perioada sa imi apara suma comenzilor.
Am facut asta:

Cod: Selectaţi tot

$start_date=$_GET['start'];
$end_date=$_GET['end'];
$sqlst = 'SELECT * FROM orders
WHERE DATE(date) Between '$start_date' AND '$end_date' AND id_lang=6 AND valid=1'; 
echo $sqlst;
$rezultatst = $dbst->query($sqlst);
echo '<br>Magazinul:...';
if ($rezultatst->num_rows > 0) {
$randst= $rezultatst->fetch_assoc();
echo '<br>
<b>Pret total:</b> '.$randst['total_paid'].' <br>
<br>';
}
else { echo '
<br>Nu sunt comenzi!<br> ';}
 
Eu vreau sa apara ceva de genul:
"domeniu.ro/comanda.php?start=2013-01-01&end=2013-01-31" si sa imi apara suma totala a comenzilor!
DAR cand nu este selectata nici o data atunci sa imi faca din data de 1 a lunii actuale pana in prezent.
Specificatie: info din bd este de formatul acesta 2013-07-10 20:37:26 mie imi trebuie doar sa tina cont de un anumit an, o anumita luna sau o anumita zi/perioada.

Astept raspuns.
Multumesc anticipat.

Cu stima Trif
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif

MarPlo Mesaje:4343
Salut
Daca partea de instructiune SQL e buna, poti face asa datele de Start si End ca sa faca select din data de 1 a lunii actuale pana in prezent, daca nu e data in adresa URL.

Cod: Selectaţi tot

$start_date = isset($_GET['start']) ? $_GET['start'] : date('Y-m').'-1';
$end_date = isset($_GET['end']) ? $_GET['end'] : date('Y-m-d');
 
- Suma totala la valorile dintr-o coloana in MySQL se poate obtine cu: SUM(nume_coloana).
Exemplu:

Cod: Selectaţi tot

SELECT SUM(total_paid) AS totalpaid FROM orders

trif Mesaje:500
Buna ziua,
Este o mica problema:
cand ii dau sa selecteze o anume perioada (de exemplu) 2014-02-01 - 2014-02-25 imi afiseaza datele din perioada 2014-02-01 - 2014-02-24 nu include si 25. Eu as dori sa includa ca atunci cand ii dau 2014-02-01 - 2014-02-25 sa imi afiseze ceea ce ii dau in acesta perioada nu + sau -.
Ce trebuie modificat la

Cod: Selectaţi tot

WHERE date_add BETWEEN '$start_date' AND '$end_date'
Astept raspuns.
Multumesc anticipat.
Cu stima Trif
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif

MarPlo Mesaje:4343
Incearca asa:

Cod: Selectaţi tot

WHERE date_add >= '$start_date' AND date_add <= '$end_date 23:59:59'
Daca nu merge, trebuie sa adaugi o zi la $end_date.

trif Mesaje:500
Salut,
Imi merge! Multumesc!
Cu stima Trif
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif

Subiecte similare