Dodwanie danych do 3 tabel na raz. Da rade?

2011-02-15 17:10:27 Post #1 korey

 
Pytanie do was jest zawarte w temacie.
Mianowicie to chodzi mi o to czy da rade dodać dane do trzech tabel jednocześnie za pomocą jednego zapytania..
Poniżej przedstawiam kodzik który dodaje film, kategoria oraz licznik do trzech tabel.
Da sie to jakos zoptymalizować.? Pozdrawiam
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php 
if(!isset($error)){
//Dodaje film
    
$sql "INSERT INTO `movies` (`id`, `tytul_first`, `tytul_pl`, `tytul_org`, `produkcja`, `data_premiery`, `jakosc`, `format`, `jezyk`, `opis1`, `opis2`, `obsada`, `inne`, `plakat`, `autor`, `links`) 
    VALUES(NULL, '$title', '$tytul_pl', '$orginalny_tytul', '$produkcja',
    '$data_premiery', '$film_jakosc', '$film_format', '$film_jezyk', '$wstep', '$full_opis', '$obsada', '$inne_inf', '$obrazek', '$autor', '$files_links' )"
;
    
mysql_query($sql) or die('<br /><br />ZAPYTANIE: '.$sql.polskie_znaki('BŁĄD: '.mysql_error()));
    
 
$last_id mysql_insert_id(); //Ostatnie od dodane do bazy z filmami

 
$razem count($category_movie);//wszystkie kategorie
for($a=0$a $razem$a++){
$obrobione[]='('.$last_id.', '.$category_movie[$a].')';// obrabiamy w nawias i tworzymy tabele
}
$category_sql_values implode(", "$obrobione); //rozdzielamy każdy element tabeli przecinkiem


//dodaje kategorie
$sql "INSERT INTO `category_movies` (`id_movie`, `id_category`) VALUES $category_sql_values";
mysql_query($sql) or die('<br /><br />ZAPYTANIE: '.$sql.'BŁĄD: '.mysql_error());


//dodaje Licznik VIEWS
$sql "INSERT INTO `views`(`id`,`id_filmu`) VALUES (NULL, $last_id);"//tworzymy rekord do wgranego filmu
mysql_query($sql) or die('<br /><br />ZAPYTANIE: '.$sql.'BŁĄD: '.mysql_error());
?>

2011-02-15 19:36:34 Post #2 nospor

 
Teraz jest ok

2011-02-25 02:39:31 Post #3 gość_gor

 
tu masz dodanie tylko do jednej, bez licznika. A gdzie pozostałe dwie ?

2011-03-05 22:14:09 Post #4 korey

 
Yyy.. kolego tam jest napisane do 3 tabel czyli views, category_movies oraz movies

Odpowiedz