SQL dotaz v php – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

SQL dotaz v php – PHP – Fórum – Programujte.comSQL dotaz v php – PHP – Fórum – Programujte.com

 

kadla0
Duch
17. 4. 2010   #1
-
0
-

Dobrý den,
rád bych Vaś požádal o pomoc, protože já už si vážně nevím rady. Mam dvě tabulky děti a sporty, které jsou mezi s sebou propojené vazební tabulkou. jedna se o relaci M:N (jeden sport hraje vic deti a jedno dite hraje vice sportu).
Muj problem je takovy, ze ja bych po zadani nazvu sportu chtel, najit vsechny deti, ktere bud vsechny sporty hraji nebo hraji vsechny sporty plus k tomu dalsi.

Nejlepsi bude asi priklad: po zadani basketball, floorball a tennis, chci aby mi to naslo deti, kteri hrajou alespon tyto vsechny sporty.

Mockrat dekuju

Nahlásit jako SPAM
IP: 90.179.111.–
Foowie0
Newbie
17. 4. 2010   #2
-
0
-

select zak from ? where sport = ? or sport = ? or sport = ? group by zak having count(sport) = 3

Například...

Nahlásit jako SPAM
IP: 158.196.194.–
kadla0
Duch
17. 4. 2010   #3
-
0
-

to jo no, ale ty sporty se budou menit, podle toho jaky zada uzivatel. napriklad jednou vybere basketball jindy zase floorball a tennis

Diky moc

Nahlásit jako SPAM
IP: 90.179.111.–
Foowie0
Newbie
18. 4. 2010   #4
-
0
-

$sporty = array("tenis", "hokej");

$pocetSportu = count($sporty);
$dotaz = "select ZAK from TABLE_NAME ";

if($pocetSportu > 0) {
$dotaz .= "where ";
$prvni = true;
foreach($sporty as $sport) {
if(!$prvni)
$dotaz .= "or ";
$dotaz .= "SPORT = '" . /*mysql_real_escape_string($sport)*/$sport . "' ";
$prvni = false;
}
$dotaz .= "having count(SPORT) = " . $pocetSportu;
}

Nahlásit jako SPAM
IP: 89.176.133.–
Kuboslav0
Newbie
19. 4. 2010   #5
-
0
-

Ja som mal podobný "problém" - toto mi pomolo:

http://programujte.com/?akce=diskuze&kam=vlakno&tema=15460-select-produktu-ve-vice-kategoriich#126384

Nahlásit jako SPAM
IP: 78.80.43.–
</microsoft>
kadla0
Duch
2. 5. 2010   #6
-
0
-

Super

Foowie napsal:

$sporty = array("tenis", "hokej");
$pocetSportu = count($sporty);
$dotaz = "select ZAK from TABLE_NAME ";

if($pocetSportu > 0) {
$dotaz .= "where ";
$prvni = true;
foreach($sporty as $sport) {
if(!$prvni)
$dotaz .= "or ";
$dotaz .= "SPORT = '" . /*mysql_real_escape_string($sport)*/$sport . "' ";
$prvni = false;
}
$dotaz .= "having count(SPORT) = " . $pocetSportu;
}



Ale nevim jak to vypsat. Myslel jsem, že to udelam pomoci Mysql_result, ale to nejde.

Nahlásit jako SPAM
IP: 147.230.154.–
z_moravec
~ Redaktor
+3
Posthunter
3. 5. 2010   #7
-
0
-

To kadla :
Co znamená, že to nejde? Mimo mysql_result můžeš použít i (imho lepší) mysql_fetch_assoc().

Nahlásit jako SPAM
IP: 147.251.29.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 77 hostů

Podobná vlákna

Sql dotaz v PHP — založil Brambor

SQL dotaz — založil Zdeněk Písařovic

SQL dotaz — založil Jirka

SQL dotaz — založil Rudolf

Sql dotaz — založil Paja

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý