| Autor | Zpráva | ||
|---|---|---|---|
| Stepanka Profil * |
#1 · Zasláno: 17. 9. 2008, 14:59:57
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 * |
#2 · Zasláno: 17. 9. 2008, 15:01:46
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 * |
#3 · Zasláno: 17. 9. 2008, 15:16:43
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 * |
#4 · Zasláno: 17. 9. 2008, 15:40:22
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 * |
#5 · Zasláno: 17. 9. 2008, 15:50:41
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 * |
#6 · Zasláno: 17. 9. 2008, 17:20:40
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..
|
||
|
Časová prodleva: 18 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0