Autor Zpráva
Stepanka
Profil *
Ahoj,

prosím, nevěděl by někdo, jak vyřešit můj problém?

Mám tabulku "historie_skladu", kde ukládám pohyb počtu kusů produktů na skladě.

A potřebuju zobrazit aktuální stav ke dni například 10.2.2009
V tabulce mám uložený údaj (počet kusů) ke dni 8.2.2009 je 8 kusů, 13.2.2009 je 5 kusů a 14.2.2009 je 6 kusů.

Takže bych potřebovala vytvořit SELECT, který zjistí, zda existuje údaj pro datum 10.2.2009 -> neexistuje. Zkusí zda existuje údaj pro 9.2.2009 -> neexistuje. Zkusí zda existuje údaj pro 8.2.2009 -> ANO, existuje, a to je ten aktuální stav ke dni 10.2.2009, právě těch 8 kusů.

Rozumíte mi? Je to vlastně to samé, jako máte u výpisu z účtu z banky.

Já mám zatím toto, ale nefunguje to:

SELECT pocet_kusu 
FROM historie_skladu 
WHERE date_format(datum,\"%Y%m%d\") <= '$g_od'
ORDER BY datum DESC
LIMIT 1


kde $g_od je 10.02.2009
nightfish
Profil
SELECT pocet_kusu 
FROM historie_skladu 
WHERE date_format(datum,'%Y-%m-%d') <= '$g_od'
ORDER BY datum DESC
LIMIT 1

a v $g_od musí být datum jako '2009-02-10'
Stepanka
Profil *
nightfish
Super, děkuji moc ;-)
Stepanka
Profil *
A kdybys chtěl vytáhnout jedním dotazem dva údaje?

Mám dva datumy, dejme tomu: $g_od = '2009-02-10' a $g_do = '2009-02-17'

Šlo by to jedním dotazem, ať tam nemusím dávat dva?

Děkuji.
nightfish
Profil
(SELECT pocet_kusu 
FROM historie_skladu 
WHERE date_format(datum,'%Y-%m-%d') <= '$g_od'
ORDER BY datum DESC
LIMIT 1) UNION ALL (
SELECT pocet_kusu 
FROM historie_skladu 
WHERE date_format(datum,'%Y-%m-%d') <= '$g_do'
ORDER BY datum DESC
LIMIT 1)
Stepanka
Profil *
nightfish
furt mi to házelo error, tak jsem to radši vyřešila dvěma dotazy.. I tak ale mockrát děkuju.
nightfish
Profil
furt mi to házelo error
jaký? tohle by mělo fungovat...
Stepanka
Profil *
nightfish
Když mám v kódu

$query = ("(SELECT pocet_kusu AS pocet_kusu_od
FROM ".TBL_PREFIX."historie_skladu 
WHERE date_format(datum,'%Y-%m-%d') <= '$od_upraveno'
AND id_produkt = ".$_SESSION['id_produktu']."
ORDER BY datum DESC
LIMIT 1)
UNION ALL
(SELECT pocet_kusu AS pocet_kusu_do
FROM ".TBL_PREFIX."historie_skladu 
WHERE date_format(datum,'%Y-%m-%d') <= '$do_upraveno'
AND id_produkt = ".$_SESSION['id_produktu']."
ORDER BY datum DESC
LIMIT 1)");

$row = mysql_fetch_array($query);


tak mi to vždycky vyhodí:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/doc/atd/atd/atd/historie-skladu.php on line 235

Ale když to rozdělím do dvou dotazů (fakt jen rozdělím, nic jinýho nedělám), tak to funguje normálně.
nightfish
Profil
Ale když to rozdělím do dvou dotazů (fakt jen rozdělím, nic jinýho nedělám)
ve výše uvedeném kódu jaksi chybí mysql_query :-)
Stepanka
Profil *
Rozdělené do dvou dotazů to mám takto:

$query = mysql_query("SELECT pocet_kusu
FROM ".TBL_PREFIX."historie_skladu 
WHERE date_format(datum,'%Y-%m-%d') <= '$od_upraveno'
AND id_produkt = ".$_SESSION['id_produktu']."
ORDER BY datum DESC
LIMIT 1");
$row = mysql_fetch_array($query);
		
$query2 = mysql_query("SELECT pocet_kusu
FROM ".TBL_PREFIX."historie_skladu 
WHERE date_format(datum,'%Y-%m-%d') <= '$do_upraveno'
AND id_produkt = ".$_SESSION['id_produktu']."
ORDER BY datum DESC
LIMIT 1");
$row2 = mysql_fetch_array($query2);


A jede to v pořádku. Nějaké zvláštní to je ...
Stepanka
Profil *
nightfish

:-D sakra jak může být někdo tak slepý? Díky moc.... a sory.
Toto téma je uzamčeno. Odpověď nelze zaslat.