MySQL - "Dodatečný" where Vyřešeno

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

Uživatelský avatar
kuxik009
Level 2.5
Level 2.5
Příspěvky: 338
Registrován: únor 13
Pohlaví: Muž
Stav:
Offline
Kontakt:

MySQL - "Dodatečný" where

Příspěvekod kuxik009 » 09 úno 2015 16:31

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:
► Zobrazit spoiler

Reklama
omilis
Level 1.5
Level 1.5
Příspěvky: 118
Registrován: červenec 09
Pohlaví: Muž
Stav:
Offline

Re: MySQL - "Dodatečný" where

Příspěvekod omilis » 09 úno 2015 17:14

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: říjen 12
Bydliště: Kostelec u Holešova
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: MySQL - "Dodatečný" where

Příspěvekod lamin_cz » 10 úno 2015 09:35

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: únor 13
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: MySQL - "Dodatečný" where  Vyřešeno

Příspěvekod kuxik009 » 10 úno 2015 18:30

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:
► Zobrazit spoiler


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

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů