Jak vytvořit propojené výběry v PHP bez použití požadavků Async

Ahoj, dnes chci s tebou sdílet malý tip. Tento příspěvek pojednává o tom, jak provést dvě propojená rozbalovací nabídky bez použití asynchronních požadavků nebo AJAX.

Propojený výběr je druh výběru, kde nejprve vybereme rodiče, potom podřízený výběr, kde se možnosti změní po hodnotě rodičovského výběru. Jako bychom chtěli, aby první výběr zobrazoval země a druhé zobrazovací město země vybrané v nadřazeném výběru.

Ano, možná chápu, že pokud jste zkušený nebo dokonce vývojář Javascript na základní úrovni, možná bude pro vás užitečné vyzkoušet řešení tohoto problému. Ale z mé zkušenosti, mnoho vývojářů PHP bojovat s touto věcí, protože v době, kdy čelí problému, možná se nechtějí učit Javascript, možná nemají čas psát kód, který zvládne chování, které chtějí s asysnc žádosti. To je důvod, proč poskytuji toto řešení, ve kterém potřebujete pouze JQuery, PHP smyčky tolik vybraných vstupů, které potřebujete, a tento malý open source plugin, který jsem provedl.

Než se dostanu daleko, možná budu chtít objasnit účel tohoto příspěvku. Toto řešení se nedoporučuje pro uživatele, kteří vytvářejí aplikaci s vysokým provozem. Po načtení stránky se může databáze změnit. Pokud má cílový výběr data pocházející z tabulky s vysokým provozem, použijte prosím asynchronní požadavky. To vše říká, že můžeme pokračovat v našem řešení.

První krok: definice databáze

V takovém případě si přejete, aby první vybraný měl země a druhý měl pouze města vybrané země. V DBMS potřebujete dvě tabulky. Zde budeme používat MySQL.

Tabulka zemí by měla obsahovat sloupec s názvem, jedinečný id AUTO_INCREMENT, který se použije jako primární klíč, a konečně se použije sloupec kódu (kód ISO), který se použije jako atribut hodnota v hodnotě značky opce.

Tabulka měst by měla obsahovat sloupec s názvem vašeho města, také jedinečný sloupec s automatickým zvyšováním, který bude použit jako hodnota a na poslední a nejdůležitější bude sloupec země, který bude vyplněn kódem země, do které bude město patří. Je zřejmé, že můžete přidat další sloupce, které potřebujete pro vaši tabulku. Příkazy pro naše minimální tabulky budou vypadat takto:

Ukázková data pro tyto tabulky najdete zde

Příklad dat

Druhý krok: Celý kód PHP

Nyní, když je vaše databáze připravena, musíte pouze vytvořit výběry ze dvou tabulek a inicializovat plugin. Pro připojení k databázi použijeme CHOP.

Pro styling používáme bootstrap, ale můžete použít cokoli jiného. Bootstrap není pro plugin vyžadován.

V tomto kódu budete věnovat zvláštní pozornost atributu rodičovské opce na řádku 53. Je to ten, který umožňuje propojení města s jeho zemí. Jakmile bude připraven váš php kód, můžete plugin inicializovat takto:

Nyní máte vše, co si můžete přímo stáhnout zde. Děkujeme za pozornost, kterou jste tomuto tutoriálu věnovali, doufáme, že vám pomůže ve vašich projektech.