Autor | Zpráva | ||
---|---|---|---|
rover Profil * |
#1 · Zasláno: 27. 3. 2010, 11:18:21
Dobrý den, jsem začátečník a mám problém. Dělam anketu a mam 2 tabulky.
CREATE TABLE IF NOT EXISTS `anketa` ( `IDanketa` int(255) NOT NULL AUTO_INCREMENT, `nazev` mediumtext COLLATE utf8_czech_ci NOT NULL, `datum` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `pocetotazek` int(255) NOT NULL, PRIMARY KEY (`IDanketa`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci AUTO_INCREMENT=118 ; CREATE TABLE IF NOT EXISTS `otazka` ( `IDanketa` int(255) NOT NULL, `IDotazka` int(255) NOT NULL AUTO_INCREMENT, `otazka` mediumtext COLLATE utf8_czech_ci NOT NULL, PRIMARY KEY (`IDotazka`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci AUTO_INCREMENT=3 ; Vložím si název ankety a počet otázek do prví tabulky (to mám) a teď chci, aby mi zkopíroval idankety do 2. tabulky a zadaný počet otázek do idotazka. |
||
AM_ Profil |
#2 · Zasláno: 27. 3. 2010, 11:24:08
Z toho, že jsi na fóru o PHP, soudím, že to děláš v PHP. ID posledního vloženého záznamu (ankety) lze získat pomocí mysql_insert_id(), a pod tímto ID si uložíš otázky. Pokud se to snažíš automatizovat na úrovni databáze, jsi ve špatné sekci
|
||
rover Profil * |
#3 · Zasláno: 27. 3. 2010, 11:41:50
do idankety v 2. tabulce mi pořád ukládá nulu, takhle to být nemůže?
$dotaz = "INSERT INTO anketa (nazev,popis,pocetotazek) VALUES ('$nazevankety','$popis','$pocetotazek')"; $vysledky = mysql_query ($dotaz); $dotaz = "INSERT INTO otazka (idanketa) VALUES ('mysql_insert_id()')"; $vysledky = mysql_query ($dotaz); |
||
AM_ Profil |
#4 · Zasláno: 28. 3. 2010, 19:08:59
mysql_insert_id() je PHP funkce, nemůžeš ji psát do MySQL dotazu ;) a když už, tak mysql funkci bys nedával do uvozovek. Což mě vlastně připomíná, že na straně databáze existuje funkce LAST_INSERT_ID(), kterou můžeš použít místo toho.
|
||
Časová prodleva: 14 let
|
0