Autor Zpráva
Tomasekkkkkk
Profil *
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
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 *
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 *
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 *
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 *
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
$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 *
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

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