Ukládání dat do závislých tabulek

Školení, která pořádám

Kromě výpisu dat ze závislých tabulek je potřeba tato data také nějak ukládat. Osobně používám tento přístup:

<?php
// zpracování dat
if ($_POST) {
    mysql_query("DELETE FROM vyrobky_skupiny WHERE vyrobek = " . intval($_GET["select"]));
    if (is_array($_POST["skupiny"])) {
        mysql_query("INSERT INTO vyrobky_skupiny (vyrobek, skupina) VALUES (" . intval($_GET["select"]) . ", '" . implode("', " . intval($_GET["select"]) . ", '", $_POST["skupiny"]) . "')");
    }
}

// výpis formuláře
$skupiny = mysql_get_vals("SELECT id, nazev FROM skupiny ORDER BY nazev");
$vybrano = mysql_get_vals("SELECT skupina, skupina FROM vyrobky_skupiny WHERE vyrobek = " . intval($_GET["select"]));
echo "<select name='skupiny[]' multiple='multiple'>" . optionlist($skupiny, $vybrano) . "</select>\n";
?>

Viz mysql_get_vals a optionlist.

Přijďte si o tomto tématu popovídat na školení Návrh a používání MySQL databáze.

Jakub Vrána, Výuka, 19.2.2007, diskuse: 0 (nové: 0)

Diskuse je zrušena z důvodu spamu.

avatar © 2005-2024 Jakub Vrána. Publikované texty můžete přetiskovat pouze se svolením autora. Ukázky kódu smíte používat s uvedením autora a URL tohoto webu bez dalších omezení Creative Commons. Můžeme si tykat. Skripty předpokládají nastavení: magic_quotes_gpc=Off, magic_quotes_runtime=Off, error_reporting=E_ALL & ~E_NOTICE a očekávají předchozí zavolání mysql_set_charset. Skripty by měly být funkční v PHP >= 4.3 a PHP >= 5.0.