Autor Zpráva
Geene
Profil *
Zdravim vas, opet Vas starsi zadam o radu. Navrhnul jsem MySQL databazi, kde mam tabulky s relaci 1:1 i k 1:N, zacal jsem uvazovat jak tabulky budu plnit, jestlize jsou v relaci. Vim ze musim plnit pekne od spoda od tabulky ktera nema zadny cizy klic.

Nahodim priklad kde jsem se zasekl, mam tabulky registrace(kde mam loginy a hesla a ruzne veci) a tabulku zakaznici(kde jsou infromace jako telefon atd) tyto tabulky jsou si k sobe 1:1. Pro jednoho zakaznika = jedna registrace

Tabulka Zakaznici obsahuje cizi klic IdRegistrace. A ted mam prave problem, naplnim nejdrive registraci zaznamem treba

TabRegistrace:
idReg login pass
1 | user12 | pass12

a ted musim naplnit TabZakaznici:
idZakaznici | idReg | Jmeno |Prijmeni

Jak udelam v PHP prikaz, syntaxi aby na sebe tyto zaznamy odkazovali...zkousel jsem vybrat selectem idReg a vlozit ho do tabulky TabZakaznici ale pokazde mi to tam hodilo 0. Nevim jestli jsem mel chybou syntaxi, ale stejne se chci poradit jakou strategii by jste udelali pro naplnovani. Dekuji
tiso
Profil
v skratke takto:
1. vložíš záznam do prvej tabuľky (INSERT INTO TabRegistrace(login, pass) VALUES('...', '...');)
2. vyberieš si id práve vloženého záznamu (buď cez last insert id, alebo cez SELECT idReg FROM TabRegistrace WHERE login='...';)
3. vložíš záznam do druhej tabuľky (INSERT INTO TabZakaznici (idReg, Jmeno, Prijmeni) VALUES(..., '...', '...');)
Kajman_
Profil *
Pokud je idReg primary key s autoincrementem, tak dané číslo zjistíte přes
mysql_insert_id()
Geene
Profil *
no ja mel puvodne prasacky napsanej script O:-)
no vzhledem ze jsem zacal pracovat mysql tak me omluvte jestli jsem blbe pouzil na 1 zaznam MySQL_Fetch_Array

$sql = "select IDregistrace from registrace where login = '$_POST[login]'";
$i = mysql_query($sql);
$id = MySQL_Fetch_Array($i);
$sql = "insert into Zakaznici (IDregistrace, Jmeno, Prijmeni, Telefon, Email, PocetObjednavek)
	values ('$id', '$_POST[jmeno]', '$_POST[prijmeni]', '$_POST[tel]', '$_POST[email]','0')" ;


tento script daval do tabulky stale 0 :-D
Kajman_
Profil *
print_r($id);
Geene
Profil *
Ted jsem t zkousel s mysql_insert_id() a bohuzel mam stale v FK 0, dneska mi to nemysli....

$sql = "insert into registrace (Login, Pass, Activation, Rights, ActiLink, LastLogin, RegDate)
	values ('$_POST[login]', '$_POST[pass]', '1', '0', '$actilink','0','$datum')" ;
$vysledek = mysql_query($sql);
if(!$vysledek){
$sql = "insert into Zakaznici (IDregistrace, Jmeno, Prijmeni, Telefon, Email, PocetObjednavek)
	values ('mysql_insert_id()', '$_POST[jmeno]', '$_POST[prijmeni]', '$_POST[tel]', '$_POST[email]','0')" ;


nevite v cem by mohl byt problem ? s tou funkci
Kajman_
Profil *
Znažíte se tam vložit řetězec s názvem funkce, musíte tam dát výsledek php funkce.
Kajman_
Profil *
$sql = "insert into Zakaznici (IDregistrace, Jmeno, Prijmeni, Telefon, Email, PocetObjednavek)
    values (".mysql_insert_id().", '$_POST[jmeno]', '$_POST[prijmeni]', '$_POST[tel]', '$_POST[email]','0')" ;
Geene
Profil *
tak uz to bezi parada diky :-)

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