Autor Zpráva
rover
Profil *
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
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 *
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
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0