MySQL - "Dodatečný" where

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Zamčeno
Uživatelský avatar
kuxik009
Level 2.5
Level 2.5
Příspěvky: 338
Registrován: 16 úno 2013 13:03
Kontaktovat uživatele:

MySQL - "Dodatečný" where

Příspěvek od kuxik009 »

Zdravím,
mám tabulku, kde mám různá jména a čísla, a potom tabulku, kde mám ta čísla a k nim jméno těch čísel :-) . Potom na jedné stránce vypisuji do tabulky jména těch čísel a potřeboval bych k nim každému vypsat počet jmen z první tabulky. Bylo by hnusný dělat pro každý jméno z druhé tabulky zvláštní dotaz, proto se chci zeptat, zda by to nešlo nějak takto:

Kód: Vybrat vše

$dotaz_kategorie = mysql_query("SELECT id, nazev FROM tabulka2 ORDER BY nazev ASC");  //vyberu názvy čísel
$dotaz_nazvy = mysql_query("SELECT id, nazev, cislo FROM tabulka1 ORDER BY nazev ASC");
while ($vysledek_kategorie = mysql_fetch_assoc($dotaz_kategorie))
 {
  echo "<tr>";
  echo "<td>" . $vysledek_kategorie2["nazev"] . "</td><td>" . mysql_query("SELECT COUNT(*) FROM $dotaz_nazvy WHERE cislo='$vysledek_kategorie[\"id\"]'") . "</td>"; 
  echo "</tr>";
 }
 
Vím, že ten druhý dotaz nebude fungovat, ale chtěl bych něco podobného, co by šlo jen jedním dotazem. Samozřejmě by to šlo udělat třeba tak:

Kód: Vybrat vše

$kategorie1 = 0;
$kategorie2 = 0;
...
while ($vysledek_nazvy = mysql_fetch_assoc($dotaz_nazvy))
 {
  switch ($vysledek_nazvy["cislo"])
   {
    case 1: $kategorie1++;
    case 2: $kategorie2++;
    ...
   }
 }
 
Ale chci se zeptat, jestli neexistuje nějaký způsob podobný tomu prvnímu - přijde mi hezčí :-) Děkuji předem!
Moje portfolio
Český jazyk je freeware, ale nikoliv open source!!!

Sestava:
ABBC3_SPOILER_SHOW
omilis
Level 1.5
Level 1.5
Příspěvky: 118
Registrován: 22 črc 2009 23:09

Re: MySQL - "Dodatečný" where

Příspěvek od omilis »

http://www.w3schools.com/sql/sql_join.asp

Zkus nejdříve něco vymyslet sám, když ti to nepůjde, tak napiš.
Uživatelský avatar
lamin_cz
Level 2.5
Level 2.5
Příspěvky: 320
Registrován: 27 říj 2012 10:26
Bydliště: Kostelec u Holešova
Kontaktovat uživatele:

Re: MySQL - "Dodatečný" where

Příspěvek od lamin_cz »

Pokud správně chápu hierarchii Tvých tabulek ...

Kód: Vybrat vše

SELECT `kat`.`id` AS `katId`, `kat`.`nazev` AS `katName`, `name`.`id` AS `nameId`, `name`.`name` AS `nameName`, `name`.`cislo`, count(`name`.`cislo`) AS `pocet` FROM `tabulka1` AS `kat`, `tabulka2` AS `name`WHERE `name`.`cislo`=`kat`.`id` ORDER BY `kat`.`nazev` ASC;
  • CPU: Cx6x86L-PR150+
  • MB: XT PRO2
  • GPU: integrovaná
  • RAM: 28Mb SDRAM
PHP, MySQL, HTML, CSS, jQuery ...
Uživatelský avatar
kuxik009
Level 2.5
Level 2.5
Příspěvky: 338
Registrován: 16 úno 2013 13:03
Kontaktovat uživatele:

Re: MySQL - "Dodatečný" where

Příspěvek od kuxik009 »

Moc se omlouvám za zbytečné téma, vyřešil jsem to jednoduše těmi poli :oops:
Moje portfolio
Český jazyk je freeware, ale nikoliv open source!!!

Sestava:
ABBC3_SPOILER_SHOW
Zamčeno

Zpět na „Programování a tvorba webu“