Autor Zpráva
Stepanka
Profil *
Ahoj, zdravím všechny,
neporadil by mi prosím někdo s jedním dotazem na databázi?

Mám v tabulce sloupeček s datem, který je ale ve formátu INT(11) .. (né DATETIME).

A já bych potřebovala zobrazit počet dnů, který uplynul od toho data v tabulce do dneška.

Zatím mám něco takového, ale nepočítá to moc dobře:

$query = "SELECT p.nazev_cz, p.nazev_en, p.id, p.kusu_skladem, p.aktivni, datediff(now(),date_format(FROM_UNIXTIME(o.datum2),\"%Y%m%d\")) AS pocet_dnu
               	FROM produkty p
		JOIN vyrobci v  ON v.id_vyrobce=p.id_vyrobce
		LEFT JOIN objednavky_polozky op ON op.id_produkt = p.id
		LEFT JOIN objednavky o ON o.id_objednavka = op.id_objednavka
		WHERE v.id_vyrobce='$id_vyrobce' 
                ".$where."
		 GROUP BY p.id
	         ORDER BY ".$order_by_sql."";


Když to pak zobrazím pomocí:
while($row = mysql_fetch_array($result)) { $row['pocet_dnu']; }


Vyhodí to výsledky, které nějsou správné.. Vidíte v tom někdo chybu?

Budu moc ráda za nějaké rady. Děkuju.
Stepanka
Profil *
Oprava, nezkopírovala jsem echo:
while($row = mysql_fetch_array($result)) { echo $row['pocet_dnu']; }


Ještě bych chtěla dodat, že v dotazu jinak problém není, ty proměnné a všechno ostatní tam funguje správně. Jde mi jen o to datum... Děkuju.
Kajman_
Profil *
Když máte group by p.id, tak z jiných tabulek než p, kde můžete mít více záznamů k jednomu p.id, se musíte rozhodnout, který záznam chcete... např.

datediff(now(),FROM_UNIXTIME(max(o.datum2))) AS pocet_dnu_max, datediff(now(),FROM_UNIXTIME(min(o.datum2))) AS pocet_dnu_min
Stepanka
Profil *
Kajman_
Aha, máš pravdu, chyba byla tady... tak děkuju mockrát. Všímám si, že mi tady pomáháš často, jsi hodný :-) Děkuju..
Stepanka
Profil *
Přece jen ještě něco... U některých výrobků (a je jich celkem hodně) mit o zobrazuje číslo "14139". Přitom tyhle výrobky nebyly třeba nikdy prodány. Nevíš co je to za číslo? Je to 38 let zpátky, to ten eshop vůbec neexistoval :-)

Nemůže to mít spojení třeba s tím, že v té databázové tabulce objednavky není vždy to "datum2" vyplněno - A pokud vyplněno není, je tam defaultně nula. Nevadí třeba ta nula?
Stepanka
Profil *
Už jsem to nějak vyřešila, ale nedaří se mi v tom dotazu něco jiného... radši jsem tomu přiřadila nové vlákno..
Toto téma je uzamčeno. Odpověď nelze zaslat.

0