Изтриване от БД

jefriii

Registered
каква заявка да направя като искам следното:

да изтрия примерно 5 точки от users като username да е = на avtor на някоя новина. аз имам за изтриване на новината но при добавянето на новината автора печели 5 точки а ако изтрия новината не се трият точките за тва искам мерси предварително !
 
искам нова заявка то новината я трие от една таблица а това points ще го трие от таблица users
 
jefriii каза:
искам нова заявка то новината я трие от една таблица а това points ще го трие от таблица users

Код:
$sql_1 = mysql_query("SELECT * FROM novini WHERE novina = 'novinata'");
$row = mysql_fetch_array($sql_1, MYSQL_ASSOC);

$sql_2 = mysql_query("UPDATE users SET points=points-5 WHERE user_id = '".$row["ot_tablicata_na_novinite_id-to_na_user"]."'");

Нещо такова?
 
Nikol4u каза:
jefriii каза:
искам нова заявка то новината я трие от една таблица а това points ще го трие от таблица users

Код:
$sql_1 = mysql_query("SELECT * FROM novini WHERE novina = 'novinata'");
$row = mysql_fetch_array($sql_1, MYSQL_ASSOC);

$sql_2 = mysql_query("UPDATE users SET points=points-5 WHERE user_id = '".$row["ot_tablicata_na_novinite_id-to_na_user"]."'");

Нещо такова?
да но искам тази втората заявка ако потребителя е автор на новината която се трие да зима на него .т. да зима на автора на новината
 
Помисли малко...

След заявката която трие слагаш да направи още 1 заявка за ъпдейт на другата БД.
Код:
mysql_query"DELETE...//zaqvka za triene
$query2 = mysql_query("Update tablica SET points = points - 5 where avtora = $avtora_na_iztritata_tema");

Не е толкова сложно.
 
оправих дане дава грешката но не зима но юзър ако направя да зима но този с който съм влязъл вмомента работи но но автора на темата не иска
 
Добре дай целия код и аз ще ти казвам какво да пишеш, за да тестваш.
Дай си структурите на двете таблици и остави другото на мене :)
 
Код:
<?
session_start();
include "config.php";
$username = $_SESSION['username'];
?>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<?
$id = $_GET['id'];
$points = 5;
if ($id) {
$points = 5;
$sql = "DELETE FROM novina WHERE id='$id'";
$result = mysql_query("SELECT * FROM novina ORDER BY id DESC") or die (mysql_error());
$avtor = $_GET['avtor'];
$sql2 = "UPDATE users SET points = points + 5 WHERE username = '$avtor'";
mysql_query($sql) or die (mysql_error());
mysql_query($sql2) or die (mysql_error());
echo "Новината е изтрита. <a href='index.php'>начало</a>";
}
else {
echo "Избери новина за триене.";
}
?>



Код:
CREATE TABLE `novina` (
  `id` int(255) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `kategoria` int(12) NOT NULL,
  `opisanie` text COLLATE utf8_unicode_ci NOT NULL,
  `text` text COLLATE utf8_unicode_ci NOT NULL,
  `avtor` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `approved` tinyint(12) NOT NULL,
  `url` text COLLATE utf8_unicode_ci NOT NULL,
  `dtime` datetime NOT NULL,
  `msg` text COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=89 ;



Код:
CREATE TABLE `users` (
  `id` int(12) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `email` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `skype` varchar(255) NOT NULL,
  `avatar` varchar(255) NOT NULL DEFAULT 'images/no_avatar.gif',
  `level` varchar(3) NOT NULL DEFAULT '1',
  `podpis` text NOT NULL,
  `timestamp` text NOT NULL,
  `points` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=18 ;
 
първото нещо което ми направи впечатление е, че полето points е тип TEXT... все пак вътре се съдържат числа. Направи го на INT или BIGINT.

Опитай така ако не стане ще се опитам и нещо друго със самите заявки.

П.С. Ако може да ми дадеш и снимка там където триеш новините.
 

Горе