PHP.EE FOORUM   
Nimi:   Pass:   Mäleta mind! 
   Teemad | php.ee esilehele | registreeri | Märgi kõik teemad loetuks | #php.ee Skype vestlus | RSS
UUS TEEMA  OTSI  Lehekülgi: 1
Grupeerimine nädala kaupa
Postitaja: joker 2015-03-18 16:25:19
Tabel:


<table>
<tr>
<th>{{week0}}</th>
<th>{{week1}}</th>
<th>{{week2}}</th>
<th>{{week3}}</th>
...
<tr>
<td>{{sum_price_0}}</td>
<td>{{sum_price_1}}</td>
<td>{{sum_price_2}}</td>
<td>...</td>
<tr>


Valik andmebaasis vahemiku 01.02.2015 - 08.06.2015, ning grupeerin tulemused perioodi ja nädala järgi.

Tulemuseks:

PHP kood:
 
Array
(
    [
group_year] => 2015
    
[group_week] => 10
    
[sum_price] => 1350
)


Probleem: kuidas saada group_week õigesse kohta? Kas teha nädalate kaupa päring? Kui on tulemus, siis kirjutada tulemus ... kui mitte, siis kirjutada 0.


RE: Grupeerimine nädala kaupa
Postitaja: blaa 2015-03-18 18:23:18
nagu näha pole aastatega su väljendusoskus paranenud.
Ma arvan, et tee kõigepealt php massiiv nädalatest
aasta_nädal1 - 0.00
aasta_nädal2 - 0.00
...
ja täida see massiiv andmebaasist tulnud andmetega, kui neid on.
Ning väljasta.
RE: Grupeerimine nädala kaupa
Postitaja: ise php 2015-03-18 19:29:40
Ehk oleks õigem teha juba vastav päring andmebaasi ja sealt valmis tulemus saada?
RE: Grupeerimine nädala kaupa
Postitaja: blaa 2015-03-19 13:47:15
ma kujutan ette, et probleem on selles, et andmebaasist ei tule aasta kohta 53 rida, vaid vähem, sõltuvalt sellest, kas mingil nädalal üldse tehinguid oli. Aga kuvada on vaja ka puuduvaid nädalaid.
RE: Grupeerimine nädala kaupa
Postitaja: joker 2015-03-19 15:02:20
Väljendasin jah ennast segaselt. Blaa sai naelapea pihta :)

Probleemid:
1. Mõnel nädalal võib üldse tulemus puududa;
2. Algav nädal liigub kogu aeg jooksvalt edasi ja sellegi kohta võib tulemus puududa;
3. Iga aasta algul saab nädal uue alguse, ning vahetub aasta.

Võimalus 1.


//Start date
$this->fields['start_date'] = date('Y-m-d', strtotime('+4 days', strtotime('last sunday', strtotime("-2 weeks"))));

$weeks = 10;

for ($i = 0; $i < $weeks; $i++) {

$sum_price = SELECT sum_price FROM TABLE WHERE date between start_week_day and end_week_day;

if (!$sum_price)
{
$sum_price = '0.00';
}

}


Nüüd kirjutan tulemuse kujundusse.

Viimati muudetud: 19-03-2015 15:03:27
Muutja: joker
Põhjus:

RE: Grupeerimine nädala kaupa
Postitaja: r 2015-03-19 20:13:56

public function getStats() {
$pastWeek = $_GET['pastWeek'];
$pastWeek2 = $_GET['pastWeek2'];
======
if($pastWeek) {
$arr['sum_pastWeek'] = $this->db->select("select * from stats_sum where sum_date >= '$pastWeek' and sum_date <= '$pastWeek2' order by sum_date desc");
$arr['pastWeek'] = $this->db->select("select * from stats where date >= '$pastWeek' and date <= '$pastWeek2' order by date desc , time desc");
}
}


Modelist väike lõik
RE: Grupeerimine nädala kaupa
Postitaja: r 2015-03-19 20:15:47

$date = $_GET['date'];
if($date) {
$arr['sum_date'] = $this->db->select("select * from stats_sum where sum_date = '$date'");
$arr['date'] = $this->db->select("select * from stats where date like '%$date%'");
}


See jäi lisamata

Leheküljed: 1

©2002-2013 Martin Rebane & PHP.ee kaasautorid
  0.0855181217194