Autor Zpráva
bohuš
Profil *
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
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 *
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&amp;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
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 *
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 *
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
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 *
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..
HGD
Profil
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
Nikdo newí ??? pls pomoc
Kajman_
Profil *
(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
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 *
Tak udělejte dva dotazy, když s tím chcete pracovat zvlášť.
Krata
Profil *
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

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0