Добавяне и съотношение между две таблици

amgcompany

Registered
Здравейте,
имам две таблици, съответно : "news" и "pics". В едната таблица (news) добавям новини а в другата картинки. Искам всяка новина да има картинка, която се намира в pics. Във таблицата NEWS имам колона news_id , в таблицата PISC имам колона ID_NEW (това е ид-то на новината), това ми връзката м/у двете таблици. Тук идват и проблемите не знам каква трябва да ми е заявката, че една колона от едната таблица да бъде равна на другата, в моя случай (news_id = ID_NEW). Новината и снимката се добавят от едно натискане на един бутон. Вижте за сега как ми изглежда заявката за добавяне на картинката
mysql_query("INSERT INTO pics SET pics_new = '$new'") or die(mysql_error());
Дано сте ме разбрали какво искам.Ако може някой да помогне :)
 
Просто преди да запишеш новината, трябва да имаш ИДто под което ще се запише дадената новина. Има два начина - първия е ако всеки път генерираш някакво ИД за дадената новина и си го записваш в една променлива, която после също слагаш в заявката с картинките.

Втория начин е, ако ИДто от първата таблица ти е auto_increment преди това си правиш една заявка:

Код:
$sql = "SELECT news_id FROM news ORDER BY id DESC LIMIT 1";
$do = mysql_query($sql);
$get = mysql_fetch_array($do);
$last_id = $get['id'];
$new_id = $last_id + 1;

Вече имаш новото ИД под което ще се запише новината, сега просто си правиш заявката, с която ще записваш картинката:

Код:
mysql_query("INSERT INTO pics SET ID_NEW = '$new_id', pics_new = '$new'") or die(mysql_error());
 
И аз разсъждавах по същия начин и го направих така, обаче ако изтрия някой ред от базата данни където примерно ID = 3 и остават ИД-та (1,2) след това ако добавя нещо, ID-то става равно 4, и ИД-та са (1,2,4). Не мога да го обясня, но явно така ще го правя, все пак благодаря за вниманието
 
Ами щом ще изтегляш от БДто, не е решение да правиш Идто auto_increment защото се получава така. Когато се предполага, че ще триеш записи, най - добре е сам да си генерираш ИДто за новата новина и да го записваш хем в таблицата с новината хем в табицата с картинките.

Взимаш последното ИД по начина по който ти показах

Код:
$sql = "SELECT news_id FROM news ORDER BY id DESC LIMIT 1"; 
$do = mysql_query($sql); 
$get = mysql_fetch_array($do); 
$last_id = $get['id']; 
$new_id = $last_id + 1;

След това правиш заявката дето вкарваш новината само че в нея добавяш

Код:
news_id = '$new_id'

при променливите и после същата заявка дето ти дадох и за картинките. Така дори и да триеш новини, винаги ИДтата на новините и картинките ще са еднакви и няма да се разместват.
 

Горе