Autor Zpráva
Igor
Profil
Mám takový dotaz jak řešíte podobnou situaci vy.

AJAX obsluhuje dvě tabulky, které jsou navzájem propojené. Když ukládám data nebo vybírám data z db tabulky, tak na sestavení dotazu na straně serveru musím znát kromě sloupců taky názvy tabulek. Ukládáte názvy tabulek a sloupců do id přímo do příslušného formulářového prvku? Já zvolil jinou metodu, tak aby id a jméno elementu bylo čistě název sloupce. V mysql databáze neexistují sloupce se stejným názvem, takže je tím zaručena jedinečnost, ale pouze za předpokladu, že dvě různé tabulky neobsahují stejné názvy sloupců. Shodné jsou pouze "id", ale jelikož id jsou shodná, tak mi stačí jen jedno políčko na editaci.

Zjistil jsem že potřebuju znát úplné názvy sloupců, včetně příslušné tabulky např. a.`id` . Nejdříve jsem to dělal tak, že jsem celý řetězec, který obsahuje všechny názvy sloupců z původního dotazu na select uložil jako argument do funkce getColumns() nebo getSelects(). V ní jsem regulárním výrazem našel příslušný sloupec a vrátil k němu jméno tabulky. Pak jsem to trochu zkrátil tím, že jsem onen "řetězec, který obsahuje všechny názvy sloupců z původního dotazu" přesunul do skrytého prvku input a pak ve funkci vrátil pomocí jquery.

Tak si kladu otázku, jak to asi dělají jiní. Napadá mě ještě možnost získávat ty informace na straně serveru. Co je lepší nechat to na straně klienta, který tak může znát názvy tabulek a sloupců a případně manipulovat s daty nebo raději vše provést na straně serveru...

A ještě jeden dotaz ke struktuře (a nevím zda volím dobře že to kladu také sem, ale když tak to mohu smazat) k třídě Mysql_class. Při sestavování formuláře mám pod příkazem "select" rovnou zpracování prvků formuláře, což je asi 220 řádků. Je to běžné, že se pod třídou mysql takto zpracovávají data?:
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)):
if ($row) foreach ($row as $col => $val):

tím pádem vlastně zpracovávám výstup a třeba podle modelu MVC by výstup měl být pod views.
Witiko
Profil
Patří do sekce MySQL, databáze nebo PHP.
Igor
Profil
Witiko:
Ok, tak jestli to někdo může přesunout dík

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0