Autor | Zpráva | ||
---|---|---|---|
Tomasekkkkkk Profil * |
#1 · Zasláno: 23. 6. 2011, 21:23:45
Ahoj, mám problémek. SELECTuju z mysql výrobky dle čísla, které začínají 00, 11, 21 každé dvojčíslí znamená jednu kategorii. V selectu jsem udělal order by cislozbozi, správně mi to selectuje zboží, chtěl bych ale při tom selectu, ať mi každou skupinu rozdělí (ať je nemám všechny pohromadě). Chtěl bych tedy jedním selectem vyselectovat vše začínající 00 Nad tento výpis napsat Kategorie 1, pod tím budou selectovány další výroby s číslem na začátku 11 a bude nadepsaná Kategorie 2 atp. Nechci to dělat 3. SELECT dotazema, jde to tedy řešit jedním? Děkuji Tom
|
||
Tori Profil |
#2 · Zasláno: 23. 6. 2011, 21:52:38 · Upravil/a: Tori
Podobná věc se řešila ve vlákně Jak seřadit data podle čísla, když sloupec je VARCHAR, obě navržená řešení (SUBSTR vs. změna návrhu databáze) jsou použitelná i pro vás.
|
||
Tomasekkkkkk Profil * |
#3 · Zasláno: 23. 6. 2011, 22:00:04
Ano, setříděné je mám, ale nevím jak při výpisu while tyto 3 "kategorie" rozlišit nadpisem ... Aby prostě v tom while script poznal, že se jedná o další kategorii (např. 11) a vložilo to tam nadpisek, až by dorazil k další kategorii, která má 22, vložilo by to další nadpisek
|
||
okolojdouci Profil * |
#4 · Zasláno: 23. 6. 2011, 22:02:24
Tomasekkkkkk:
„Aby prostě v tom while script poznal, že se jedná o další kategorii“ Pamatuj si v tom cyklu ID kategorie v nějaké proměnné a při každém průchodu ověřuj, jestli aktuální ID kategorie rovná se to, co bylo minule. |
||
Tomasekkkkkk Profil * |
#5 · Zasláno: 23. 6. 2011, 22:07:24
No to jsem si myslel, ze bych taky tak udelal, ale jednodusim způsobem, ja bych to delal jen pomocí IFu, ale myslím si, že jsou tady lidé, kteří to dokážou udělat určitě na jeden nebo 2 řádky max. já to mám řešené tak na 7 ;o)
|
||
okolojdouci Profil * |
#6 · Zasláno: 23. 6. 2011, 22:14:33
while .... if ($minuleID == $aktualniID) { echo "<h3>".$nazevkategorie."</h3>";}; .. .. $minuleID = $aktualniID; endwhile; Nemyslím, že by z těch dvou řádků šlo udělat sedm. |
||
DJ Miky Profil |
#7 · Zasláno: 23. 6. 2011, 22:14:58
$predchozi=-1; while($radek=mysql_fetch_assoc($res)) { $kategorie=substr($radek['cislozbozi'], 0, 2); if($kategorie!=$predchozi) { // potřebujeme vypsat nadpis kategorie s číslem $kategorie } $predchozi=$kategorie; } |
||
Tomasekkkkkk Profil * |
#8 · Zasláno: 26. 6. 2011, 07:37:15
DJ Miky:
Mockrát děkuji, To je to co jsem hledal a věděl, že to jde ještě lehčeji :-) Mooooooooooooooooc díky |
||
Časová prodleva: 13 let
|
0