Portál AbcLinuxu, 3. května 2025 21:59

Dotaz: php a select

derddddd avatar 17.11.2005 16:22 derddddd | skóre: 4 | blog: lama_log | Pisek
php a select
Přečteno: 1386×
Odpovědět | Admin
Jak predam promennou z jednoho selektou do druheho, tj. promenna vybrana v prvním ovlivni obsah druhého selektoru, do kt. se následně nactou data z database na zaklade podminky, kt. prave tvori cislo z vyse uvedene promene:

Nacteny dat do prvniho selektoru pomoci mysql je v pohode, ale pak kdyz chci v druhe selectoru osetrit dotaz do mysql pomoci WHERE id={$_REQUEST["$promenna1selektoru"]}...

I presto, ze si vyberu v prvnim selektoru nejakou promenou, druhy selektor nereaguje....

Urcite to neni spatna myslenka....odtud pochazi, ale ja fakt nevim jak na to...
Snad se tady neztratím...:))
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

17.11.2005 17:12 Panki
Rozbalit Rozbalit vše Re: php a select
Odpovědět | | Sbalit | Link | Blokovat | Admin
Skus pouzit zlozeny SQL prikaz. Zasada je, co moze robyt databaza, nech nerobi PHP. Databaza je uz na teke veci optimalizovana. Skus takyto SELECT. SELECT tabulka2.nejakystlpec2 FROM tabulka1, tabulka2 WHERE tabulka1.nejakystlpec1=premenna AND tabulka1.id=tabulka2.id

Obsah ID v tabulke 2 je odkaz na primarny kluc ID v tabulke 1, cize najprv najdes v tabulke 1 hodnotu ktoru potrebujes, a potom to spojis cez IDcka s tabulkou 2. No a das si vypisat stlpec z tabulky 2 ktory ches. Dufam ze ti to pomoze. Cus
17.11.2005 18:32 Petr Jelínek | skóre: 17 | blog: Vyprovokovanej | Praha
Rozbalit Rozbalit vše Re: php a select
Přesně tak, chce to trochu šlápnout do SQL, když už chci programovat něco okolo databáze. Jinak druhá možnost je (když se nebudeme bavit o efektivitě takového dotazu) asi takováto:
select sloupec2
from tabulka2
where tabulka2.id in
(select sloupec1 from tabulka1 where jiny_sloupec=proměnná)
Snad to bude k užitku.
Nemám rád NVidii!
18.11.2005 12:27 Panki
Rozbalit Rozbalit vše Re: php a select
Mas pravdu, ale bral som ohlad na to ze pouziva MYSQL, a ak sa nemylim, tak mysql 4 a nizsie neppodporuje zlozene selecty. Neviem ako to je v novej 5. Cus
18.11.2005 12:37 Petr Jelínek | skóre: 17 | blog: Vyprovokovanej | Praha
Rozbalit Rozbalit vše Re: php a select
Nicméně, Tvé řešení je lepší. Minimálně je ten dotaz efektivnější. Já jsem jenom přispěl se svou troškou do mlýna. A máš pravdu, já jsem takový dotaz v MySQL nikdy nepoužil a vystačil si s jednodušími. Tohle občas použiju když pracuju s Oraclem.
Nemám rád NVidii!
18.11.2005 13:12 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: php a select
Obecně se preferuje spíš zápis pomocí joinu, kdyby nic jiného, tak je takový přehlednější:
  select T2.COL2 from TABLE1 T1
    left join TABLE2 T2 on T2.ID=T1.ID
    where T1.COL1=?
Vašemu zápisu by ale asi spíš odpovídal inner join.
derddddd avatar 18.11.2005 22:06 derddddd | skóre: 4 | blog: lama_log | Pisek
Rozbalit Rozbalit vše Re: php a select
Díky za rady všem! Určitě vyzkouším! Ale tohle je zajimave...."Zasada je, co moze robyt databaza, nech nerobi PHP.". Nevim, zda mam podat novy dotaz, nebo rozvinout tuto myšlenku prave zde pro nas - zacatecniky. Ja prave vse resim zkrz phpko(), alespon teda cykly a prave zde napriklad podminku! Hm, urcite budu rad za nazory!!
Snad se tady neztratím...:))
20.11.2005 10:47 Panki
Rozbalit Rozbalit vše Re: php a select
Na zaciatku, ked som zacinal s php a mysql, tak som podobne problemy riesil ako ty. Urobyt 1 dotaz, z neho nieco hodit do premennej a potom to hodit do 2 dotazu. Po case, ked som si prestudoval zopar knih a clakov, som pohopil, ze ak toto secko spravi databaza sama, bude vysledna aplikacia rychlejsia. Pozri sa na to logicky.
2 selecty= connect na dabazu, vykonanie SELECTU, poslanie dat PHP, PHP spracuje a nahadze do premennych hodnoty, 2 connect na databazu, vykonanie SELECTu, poslanie dat PHP, atd.
Tu uz vydis, mrhanie systemovymi prostredkami. Kapitola sama o sebe je to, ze SQL databazy maju vlasnte optimalizovane enginy na vyhladavanie dat. Ak posles databaze zlozeny SELECT, tak si ho sama zoptimalizuje a vysledok bude mnohonasobne rychlejsi ako 2 selecty a php.
Sprav si testovaci php skript. na zaciatku si daj ratat microtime, a na konci si ho vypis. Jeden krat sprav 2 selecty , druhykrat 1 zlozeny select a napis ake si dosiahol casy. Budes sa divit.
20.11.2005 11:43 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: php a select
Nejspíš by vám prospělo, kdybyste se zkusil podívat i po jiných databázích než MySQL, doporučil bych zejména PostgreSQL nebo Firebird. Pak se vám totiž trochu rozšíří obzory a budete se na to dívat jinak. Velmi mnoho začátečníků, kteří začali s MySQL, protože "přeci musí být nejlepší, když ji používají všichni", se stalo vězni jejích omezení, což se projevuje zejména tendencí řešit prakticky všechno na straně klienta. Když si zkusíte i něco jiného, zjistíte, že velmi mnoho věcí, které jste byl zvyklý řešit na straně klienta, je ve skutečnosti daleko efektivnější řešit na straně serveru.
derddddd avatar 22.11.2005 19:26 derddddd | skóre: 4 | blog: lama_log | Pisek
Rozbalit Rozbalit vše Re: php a select
Děkuji moc, ani nevíte, jak jste mi pomohl.... Je něco čím Vám mohu býti nápomocen pro změnu já..:)
Snad se tady neztratím...:))
17.11.2005 17:55 Jiří Hlinka | skóre: 29 | blog: zapisky | Teplice
Rozbalit Rozbalit vše Re: php a select
Odpovědět | | Sbalit | Link | Blokovat | Admin
Obvykle se to dělá pomocí JavaScriptu a je to i tenhle případ - podívej se na zdroják, ale spíš se mrkni na nějaký tutoriál na webu, kde je vysvětlený princip
derddddd avatar 18.11.2005 22:31 derddddd | skóre: 4 | blog: lama_log | Pisek
Rozbalit Rozbalit vše Re: php a select
Dekuji vam za radu! Ale prave zde na abclinuxu, na nejake diskuzi - sem se dozvedel, ze javascirpt neni vhodna volba(pro osetrovani dulezitych subjektu), neb lze vypnout! Je to skoda, zacinal sem s nim, nez sem se rozhodl pro php s mysql! Jinak tuto cestu jsem samozrejme take zkoumal, a neponechal nahode! Zde jsou odkazy pro jiné newbies LIKE ME! (javascript):

1.manualni presouvaní obsahu z jednoho selectoru do druheho
2.selektor jako navigacni element

Tady je osetreni zde reseneho problemu javascriptem:
Hledej v textu tyto retezce
3a. Example 1: Simple Structure, Multiple Fields
3b. Example 3: Multiple Selects, Form Reset

Diky.... jeste otazka jak udelat, aby mi bezela taky nejaka myslenka pod prispevkem?
Snad se tady neztratím...:))

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.