Autor | Zpráva | ||
---|---|---|---|
bohuš Profil * |
#1 · Zasláno: 5. 10. 2008, 13:27:46
Ahoj všici, potřeboval bych ve svem eshopu udelat kategorii nejprodavanejsi zbozi kde by bylo 5 polozek serazenych podle poctu prodanych kusu, zkousel jsem ruzne dotazy mysql ale proste mne to nejede, mohl by nejaky odbornik trochu poradit jak na to, nemusi byt hotove reseni budu vdecny i za kopnuti(nikoli do zadnice :-D) dikes
|
||
joe Profil |
#2 · Zasláno: 5. 10. 2008, 13:50:33
Co třeba dotaz nad tabulkou s objednávkama? Vybereš počet seskupených id objednaného zboží? To asi moc ideální ale nebude.
Pak by se to třeba dalo udělat tak, že ke každému zboží si budeš ukládat počet koupení a pak to jen podle toho sloupce setřídíš, to ale asi taky nebude zrovna nejlepší řešení v případě hodně zboží... |
||
bohuš Profil * |
#3 · Zasláno: 5. 10. 2008, 14:08:59
no to s tim seskupenim idecek mne taky napadlo ale prece kdyz treba mam dotaz
$nejpr=mysql_query ("select * from objednavky group by zbozi_id"); $vybr=mysql_fetch_array($nejpr); a pak radek tabulky kde chci zobrazit vysledek <tr> <th width=\"250\"><a href=\"index.php?page=zobrazzbozi&zbozi_id=$vybr[id]\"><b>$vybr[na zev]</b></a></th> <th width=\"50\">"; if (($vybrat["cena"])!=""){echo "cena: $vybr[cena]</th>";} echo "</tr> tak mi to nejede ja vim ze bych potreeboval nejak "vyjmout" z toho dotazu jedno urcite zbozi treba podle nazvu, protoze tim dotazem jsem jen setridil zbozi podle zbozi_id, jenze nevim jak... |
||
joe Profil |
#4 · Zasláno: 5. 10. 2008, 15:03:18
bohuš
Tušim, že by to mohlo jít takhle... nevím jakou máš strukturu tabulek v db, ale dotaz by měl být nějak takhle select z.*, o.* from objednavky o join zbozi z on o.zbozi_id = z.id group by o.zbozi_id order by o.zbozi_id desc limit 5 Takhle by to mělo vybrat 5 nejprodávanějších zboží... jestli jsem někde neudělal chybu :) |
||
radas Profil * |
#5 · Zasláno: 5. 10. 2008, 15:43:41
další cesta by mohla byt že budeš mit tabulku top_produkty při koupi se do ni zapiše id a počet kusu a když už tam to id je tak se jen přičte počet kusu..
|
||
bohuš Profil * |
#6 · Zasláno: 5. 10. 2008, 16:35:09
diky za reakce kluci,
„joe“ select z.*, o.* from objednavky o join zbozi z on o.zbozi_id = z.id group by o.zbozi_id order by o.zbozi_id desc limit 5 tohle nefunguje nemuzu se k tomu vyjadrit protoze nevim o co go :-) jinak s tou tabulkou top produkty bych na tom byl vastne stejne, ja jen potrebuju nejak zkomponovat dotaz aby z tabulky objednavky vytahl jeden druh zbozi ktery se tam opakuje nejvicekrat - teda jestli t ov sql vubec je mozne :-o |
||
joe Profil |
#7 · Zasláno: 5. 10. 2008, 16:52:15
„tohle nefunguje“
Zkoušel jsi to v phpMyAdmin jaký dostaneš výsledek? Změnil jsi názvy tabulek na své názvy tabulek? To co radil radas by bylo ještě lepší, možná se to dá udělat ještě lépe, ale teď mě nic lepšího nenapadá. |
||
bohuš Profil * |
#8 · Zasláno: 5. 10. 2008, 18:03:08
jo dikes joe mels pravdu jen jsem ten zapis spatne pouzival omlouvam se a jeste jednou dik - jinak kdyzbys mohl nekdy tenhle dotaz vysvetlit bylbych rad - nerad pouzivam neco cemu nerozumim..
|
||
Časová prodleva: 9 dní
|
|||
HGD Profil |
#9 · Zasláno: 14. 10. 2008, 18:36:45 · Upravil/a: HGD
Potřeboval bych něco podobného, 10 nejčtenějších článků, kolikrát jsou přečteny mam v buňce visit, a nějak newim jak
EDIT: Tak tohle už jsem vyřešil: mysql_query("SELECT nadpis,visit,datum FROM items ORDER BY visit DESC LIMIT 4") ale potřeboval bych z té samé tabulky vypsat např. 4 poslední datumy, resp články poslední přidané, a newim jak z toho udělat jen jeden dotaz |
||
HGD Profil |
#10 · Zasláno: 15. 10. 2008, 07:40:44
Nikdo newí ??? pls pomoc
|
||
Kajman_ Profil * |
#11 · Zasláno: 15. 10. 2008, 08:55:44
(SELECT nadpis,visit,datum FROM items ORDER BY visit DESC LIMIT 10) union (SELECT nadpis,visit,datum FROM items ORDER BY datum DESC LIMIT 4) |
||
HGD Profil |
#12 · Zasláno: 15. 10. 2008, 17:35:58
a jakym způsobem pak vypíšu výslede, když potřebuju do jednoho sloupce vypisovat nejčtenější a do druhýho poslední ?
|
||
Kajman_ Profil * |
#13 · Zasláno: 15. 10. 2008, 20:39:21
Tak udělejte dva dotazy, když s tím chcete pracovat zvlášť.
|
||
Časová prodleva: 1 měsíc
|
|||
Krata Profil * |
#14 · Zasláno: 27. 11. 2008, 17:54:01
SELECT count(z.id) as pocet, z.id, z.nazev
FROM objed z GROUP BY z.idzboz ORDER BY z.pocet DESC LIMIT 5 takhle to maka pokud tam nemas nazvy tak si je joini ze zbozi |
||
Časová prodleva: 15 let
|
0