Autor Zpráva
rad
Profil *
Rad bych vytvoril casovy graf kde by se zobrazoval pocet objednavek v eshopu.
Nejak mi ale neni jasne jak postupovat pri navrhu doplnujich tabulek do databaze - a potom take na vystupu.
Jde mi hlavne o datum kdyz budu tvorit graf tak napriklad 10.11 bude 5 objednavek - > to si snadno muzu ulozit do databaze a potom to zobrazit ale potom 11.11 nebude zadna takze z databaze nebude co tahat do grafu.
Diky za radu.
okolojdouci
Profil *
rad:
Nejak mi ale neni jasne jak postupovat pri navrhu doplnujich tabulek do databaz
Nijak. Žádné doplňující tabulky nepotřebuješ.
Vytáhni si z tabulky objednávek COUNT(ID) .. WHERE MONTH(vlozeno) = měsíc .. GROUP BY MONTH(vlozeno). Pak je jen drobný zádrhel, jak vypsat všechny hodnoty vč. dnů, kdy objednávky nebyly. Nejspíš bych ty hodnoty z databáze vysypal do asociativního pole a z něj pak v cyklu (1-31) vypsal.
Jestli mi úplně nerozumíš, podívej se na http://www.linuxsoft.cz/article.php?id_article=864 a http://www.linuxsoft.cz/article.php?id_article=179
okolojdouci
Profil *
ardon, GROUP BY DAY(vlozeno)
rad
Profil *
to je prave to - vsechny mesice nemaji 31 dnu.
nevim kde beres jistotu ze mam v objednavkach 2 tabulky mesic a den.
Ne nemam mam tam cas v jinem formatu.
nevim presne jak to myslis s asociativnim polem.
chtel bych napriklad vypsat data z aktualniho mesice.
rad
Profil *
konkretne datum a cas objednavky je ulozeno takto : 2011-04-30 21:37:58
okolojdouci
Profil *
SELECT COUNT(ID) , DAY(datumod) 
FROM objednavky
WHERE MONTH(vlozeno) =10
GROUP BY DAY(vlozeno) 

Tím získáš všechny dny (v desátém měsíci), které mají aspoň jednu objednávku. A k nim přiřazené počty objednávek. V php si pak zařiď zbytek:
- zkopírování hodnot z toho dotazu do pole
- zjistit počet dnů požadovaného měsíce
- cyklus 1-početdnů
- v tom cyklu vypsání buď příslušného počtu objednávek (pokud pro ten den hodnota v poli existuje) nebo nula, když den v tom poli není.
Kajman_
Profil *
WHERE MONTH(vlozeno) =10

Korektnější a optimálnější (hlavně pokud bude index na vlozeno) bude podmínka
where vlozeno >= '2011-10-01' and vlozeno< '2011-11-01'
rad
Profil *
zkousim porovnavat pole kde neco je s indexem dne ale nejak se nedari
while($facture_day = $db->fetch_assoc())
{
$facture_data[$facture_day['DAY(datetime)']] = $facture_day['COUNT(id_facture)'];    
} 

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

if($facture_data[$i]==$i)
{

}

}


co je spatne ?
rad
Profil *
aha ok uz to vidim porovnavam nesmysl ale potom se teda ptam jak porovnat jednotlive dny s tabulkou ? jeste jsem premyslel udelat tabulku trochu jinak
rad
Profil *
tak i kdyz to zkousim takto tak porad nic ...
for($i=0;$i < $pocet_dnu;$i++)
{

foreach($facture_data as $k => $v)
{
if ($i==$k)
{
echo "voila";
echo "<h1>".$k."</h1>";
echo "<h1>".$v."</h1>";
}
else
{
echo "$i</br>";
} 
}

}
Kajman_
Profil *
for($i=1;$i <= $pocet_dnu;$i++) 
{ 
  if($facture_data[$i]>0) 
  { 
    echo $i," - ",$facture_data[$i],"<br>";
  }
  else
  {
    echo $i," - prd<br>";
  }  
}

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0