Autor | Zpráva | ||
---|---|---|---|
juraj Profil |
#1 · Zasláno: 4. 2. 2017, 09:11:58
Dobrý
ako zoradiť dva stĺpce,aby sa mi tovar zoradil podľa abecedy,to funguje ale aj podľa ceny od najnižšej to mi už nefunguje Používam taký kód $search = $k; $search = strip_tags($search); $search = mysql_real_escape_string($search); if ($search == "") { echo "<p>Opps! You forgot to enter a search term.</p>"; } else { $sql = "SELECT * FROM tovary WHERE MATCH(nazov) AGAINST('$search*' IN BOOLEAN MODE) ORDER BY `nazov` ASC,CENA DESC LIMIT 4"; $result = mysql_query($sql) or die("Problem, with Query:".mysql_error()); // Get number of articles, assign value to a variable $count = mysql_num_rows($result); echo "<h3>Search Results</h3>"; echo "<p>you searched for <b>$search</b> there are $count matches.</p>"; $TableRows = mysql_num_rows($result); $i = 0; while ($i <$TableRows) { //Add resulting tablerow to relvant variable $cena = mysql_result($result, $i, "cena"); $articleTitle = mysql_result($result, $i, "nazov"); $id = mysql_result($result, $i, "idtovar"); echo "<h2><a href='www.mydomain.com/$articleTitle'>$articleTitle</a></h2>"; echo "<p>$cena €</p>"; echo "<p>$id id</p>"; echo "<p><a href='www.mydomain.com$articleTitle'>Read More</a></p>"; $i ++; } } |
||
Davex Profil |
#2 · Zasláno: 4. 2. 2017, 11:14:16
Co v SQL dotazu znamená
CENA DESC ?
|
||
juraj Profil |
#3 · Zasláno: 4. 2. 2017, 12:10:24
Davex:
Take podobne príklady som našiel na internete že sa spájajú čiarkou a stačí dať ASC alebo DESC ale mi to nefunguje |
||
Alphard Profil |
#4 · Zasláno: 4. 2. 2017, 23:18:18
Tak si vyhledejte, co znamená
DESC , co ASC a zamyslete se, kterou variantu potřebujete, abyste řadil od nejnižší ceny.
|
||
juraj Profil |
#5 · Zasláno: 4. 2. 2017, 23:50:40
Alphard:
Viem čo znamenajú skratky ASC a DESC ale ja potrebujem aby názov výrobku aj s cenou sa triedil od najnižšiej ceny po najvyšiu a nazov výrobku napr autičko 5eur, autičko 10 eur potrebujem to takto zotriediť |
||
pcmanik Profil |
#6 · Zasláno: 5. 2. 2017, 00:08:06
juraj:
V tom prípade by to malo robiť to čo chceš. Neukladáš náhodou ceny ako string? |
||
juraj Profil |
Ceny ukladam ako desatine decimal 10,2
|
||
Keeehi Profil |
#8 · Zasláno: 5. 2. 2017, 00:18:11
juraj:
„zoradil podľa abecedy,to funguje ale aj podľa ceny“ A mohl bys prosím tě vysvětlit (nejlépe na nějakém příkladu), jak to řazení podle obou pravidel zároveň má fungovat? |
||
juraj Profil |
#9 · Zasláno: 5. 2. 2017, 00:29:07
Keeehi:
Napr, do formulára napíšem pravítko a na výstupe by som potreboval dostať napr Pravítko biele 1.3eur Pravitko modre 1.5eur Pravitko 50 cm 1.9eur Logaritmické pravítko 2eur atd ake tovary by boli uložene v mysql dakujem |
||
Alphard Profil |
#10 · Zasláno: 5. 2. 2017, 01:04:17
Ten příklad je seřazený jen podle ceny, takže jednoduše
order by cena .
|
||
juraj Profil |
#11 · Zasláno: 5. 2. 2017, 16:51:40
Alphard:
To, som tiež skúšal, ale to mi vypísalo všetky produkty,kde zotriedilo podľa ceny ale nezodpovedali výsledky k podobnému hľadanému názvu výrobku |
||
Keeehi Profil |
#12 · Zasláno: 5. 2. 2017, 19:40:00
juraj:
A tu věc na krku používáš? To že Alphard napsal že máš použít order by cena , ještě neznamená, že máš smazat jakoukoli jinou část, které se řazení netýká.
"SELECT * FROM tovary WHERE MATCH(nazov) AGAINST('$search*' IN BOOLEAN MODE) ORDER BY CENA DESC LIMIT 4" |
||
juraj Profil |
#13 · Zasláno: 5. 2. 2017, 21:06:48
Keeehi:
Predstav,ži ju používam,potom je tu načo diskusne forum ked niekto ma problem. Tak ten problem dam radu a hned davať uštipačné poznamky.... |
||
pcmanik Profil |
#14 · Zasláno: 5. 2. 2017, 21:35:37
juraj:
Takže kam sme sa dostali ide ti to uz? Ak nie tak sem daj malú vzorku dát, najlepšie SQL INSERT aby sme si to sami nemuseli davat do DB. A výsledok aký chceš. |
||
juraj Profil |
#15 · Zasláno: 5. 2. 2017, 23:02:49
pcmanik:
Vzorky dat CREATE TABLE IF NOT EXISTS `tovary` ( `idtovar` bigint(255) NOT NULL, `nazov` varchar(255) NOT NULL, `popis` varchar(255) NOT NULL, `cena` decimal(10,2) NOT NULL, PRIMARY KEY (`idtovar`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; INSERT INTO `tovary` (`idtovar`, `nazov`, `popis`, `cena`) VALUES (1, 'Hodiny Witch', 'Hodiny Witch sú vhodným doplnkom do každej izbičky. Nástenné hodiny Witch sú na jednu AA batériu, nie je súčasťou výrobku. Nástenné hodiny Witch majú priemer 25 cm.', '3.36'), (2, 'Posteľné návliečky Camp Rock fialová 140/200', 'Kvalitná posteľná bielizeň Camp Rock fialová. Návliečky Camp Rock fialová 140 / 200. Návliečky do postieľky, detské návliečky, návliečky Camp Rock fialová za prekvapivé ceny.\n \n \nZapínanie na zips.', '10.32'), (3, 'Roletka Hannah Montana', 'Roletka na bočné okno automobilu s motívom Hannah Montana. Slnečnú clonu Hannah Montana možno na okno upevniť tromi prísavkami alebo dvoma nastavitelnými háčiky. Veľkou prednosťou tienidla Hannah Montanas je, že ho možno aretovať v ľubovolnej pozici .Hmot', '4.68'), (4, 'Slnečná clona Hannah Montana', 'Slnečná clona na bočné okno automobilu s motívom Hannah Montana. Balenie 1 pár (2ks). Hmotnosť clony 0.10 kg', '3.96'), (5, 'Posteľná bielizeň TAXI New York 140/200', 'Kvalitná posteľná bielizeň TAXI New York . Návliečky TAXI New Yorks naozaj nápaditým vzorom žľtého taxi s pozadim New Yorka. Návliečky TAXI New York pre všetkých milovníkov USA. Návliečky TAXI New Yorksú vyrobené z čistej bavlny. Návliečky TAXI New York ', '17.40'), (6, 'Posteľná bielizeň Ed Hardy Ryba ružová 140/200', 'Kvalitná posteľná bielizeň Ed Hardy Ryba ružová. Kvalitná posteľná bielizeň Ed Hardy Ryba ružová je vyrobená zo 100% Polyesteru (Mikrovlákna). Návliečky Ed Hardy Ryba ružová sú veľmi jemné a príjemné na omak. Návliečky Ed Hardy Ryba ružová v rozmere 140/2', '23.64'), (7, 'Lampička Ed Hardy Tiger', 'Lampička Ed Hardy Tiger pre všetkých priaznivcov tejto značky, v ponuke máme tiež vankúšiky, deky, peračníky, tašky, hodiny a samozrejme obliečky značky Ed Hardy.', '20.28'), (8, 'Lampička Ed Hardy Lebka', 'Lampička Ed Hardy pre všetkých priaznivcov tejto značky, v ponuke máme tiež vankúšiky, deky, peračníky, tašky, hodiny a samozrejme obliečky značky Ed Hardy.', '20.28'), (9, 'Obliečky Hannah Montana biela 140/200', 'Obliečky Hannah Montana biela 140/200\nKvalitné posteľné obliečky Hannah Montana bílá zo 100% bavlny. Detské obliečky DISNEY Hannah Montana bílá za prekvapivé ceny. Obliečky Hannah Montana bílá od firmy HERDING v rozmere 140x200 + 70x90 cm.\n \nZapínanie na ', '12.96'), (10, 'Peračník Ed Hardy Tiger guľatý 21x8,5cm', 'Guľatý peračník Ed Hardy Tiger. Školský peračník Ed Hardy Tygr nielen pre malých školákov. Guľatý peračník Ed Hardy Tygr je na voľne ložené písacie potreby. Guľatý peračník Ed Hardy Tygr má rozmery 21 cm dĺžka 8,5 cm priemer.', '9.84'); |
||
Davex Profil |
#16 · Zasláno: 6. 2. 2017, 00:20:40
$sql = " SELECT * FROM tovary WHERE MATCH(nazov) AGAINST('$search*' IN BOOLEAN MODE) ORDER BY cena, nazov LIMIT 4 "; |
||
Časová prodleva: 6 let
|
0