ОБСУЖДЕНИЕ

Проблема с запросом в бд

16 сообщений0 просмотровОткрыта
#1
Есть проблема с запросом, нужно что бы ответ отсылался на id, задавшего вопрос, а у меня не получается, отсылает на все таблы
PHP
 echo '<div class="title">Ответ на вопрос</div>';
$id = abs(intval($_GET['id']));
$gg = mysql_fetch_assoc(mysql_query("SELECT * FROM `stena` WHERE `id` = '".$id."'"));

if(isset($gg['id']))
{
if(isset($_REQUEST['ok']))
{
$otv = strong($_POST['otv']);
if(empty($otv) or mb_strlen($otv,'UTF-8') < 3)
{
echo err('Ошибка ввода,минимум 3 символа!');
require_once ('../system/footer.php'); exit;
}
 mysql_query("UPDATE `stena` SET `otv` = '".$otv."', `stat` = '1' and `id` = '".$id."', `time` = '".time()."'"); 
 mysql_query("UPDATE `stena` SET `stat` = '1', `time` = '".time()."', `id` = '".$id."', `otv` = '".$otv."', `text` = 'Пользователь ответил на [url=".$HOME."/user/".$user['id']."?selection=top]Вопрос[/url]'"); 
 
 mysql_query("INSERT INTO `lenta` SET `readlen` = '0', `time` = '".time()."', `komy` = '".$gg['avtor']."', `kto` = '".$user['id']."'"); 

 $q0p =  mysql_query("SELECT * FROM `friends` WHERE `us_a` = '".$user['id']."'"); 
while($fetch = mysql_fetch_assoc($q0p)){ 
if($fetch['status'] != 0){
 mysql_query("INSERT INTO `op` SET `readlen` = '0', `time` = '".time()."', `komy` = '".$fetch['us_b']."', `kto` = '".$user['id']."', `text` = 'Ответил на новый вопрос [url=".$HOME."/user/".$user['id']."][b]".$gg['msg']."[/b][/url]'");
  } 
  } 
##добавляем юзеру стронгов и рейтинг
header('Location: '.$HOME.'/ask/');
exit();
}
echo '<div class="podmenu">';
echo 'Ответ на сообщение: '.nick($gg['avtor']).'<br>';
echo $gg["msg"];
echo '</div>';
echo '<div class="podmenu"><form action="" name="message" method="POST" >';
echo '<textarea name="otv" value="otv" placeholder="Вводите сообщение..."></textarea><br />
<input type="submit" name="ok" value="Ответ" />
</form></div>';
}
 
#2
DumBass, На все таблы? О.о
#3
nx_prO, Нужно что бы отпровляло только на ту таблицу, на которую идет ответ
А у меня получилось что на все вопросы отвечает
#4
DumBass, Какая переменная отвечает за идентификатор вопроса?
$otv?
Я вообще не понимаю почему функция UPDATE, у тя одна строка чтоль за все ответы отвечает?
#5
nx_prO, `otv ` = '.$otv.'
Ответ отпровляет, но нужно что бы отпровлял на id ответа
id - 4
msg - бла бла
otv - бла бла
Должно так идти, а ответ идет на все id, а должен на id вопроса
#6
а у тебя script.php?id=4 :)
#7
nx_prO, да
#8
nx_prO, site.ru/ask/?act=ok&id=1
#9
ид то 1 :)
у меня только один вопрос,ответы выводятся с какой таблицы?
#10
nx_prO, Таблица stena
/ask/?act=ok&id=[ид_вопроса]
stena
id
msg
otv
time
stat
#11
nx_prO, Вопрос/Ответ, один табл
#12
DumBass, Тогда обьясни почему апдейт а не инсерт?
В базу он пишет какой ид?
И напиши функцию как ты извлекаешь
#13
nx_prO, Вопрос/Ответ 1 таблица, на 2 действия
#14
msg это вопрос,а ответ только один?
тогда нету условия WHERE
#15
nx_prO, Msg - Вопрос
Otv - Ответ
Stat - 0/1 модерация
Я с запросами в бд не очень
#16
DumBass, Ну например в твоём запросе получается так что ты непонятно какой вопрос апдейтишь,нет условия => апдейтает все ^)