|
|
|
| есть скрипт:
<? //вывод коментов
$res_coments= mysql_query ("SELECT * FROM coments WHERE post='$id'ORDER BY id",$db);
if (mysql_num_rows($res_coments) >0)
{
$myrow_coments= mysql_fetch_array($res_coments);//масив значений коментариев
do
{
$author_r=$myrow_coments["author"];
echo "
<table class='wallpost'>
<tr>
<td class='image'>
<img src='img/b5825536.gif'>
<p>
<img src='img/".$myrow_coments["reyting"].".jpg'>
</p>
<p>
<form action='rate.php' method='post' name='submit' target='_blank'>
<input type='image' src='img/ico_rate.gif' value='".$author_r."'
title='Добавить рейтинг к ответу' name='".$myrow_coments["reyting"]."'>
<input name='id' type='hidden' value='".$id."'>
</form>
</p>
</td>
<td class='info'>
<div class='header'><div class='dArrow'></div>
<div style='font-weight: bold;'>".$myrow_coments["author"]."</div>
<b>написал(а)</b><br />
<small> Дата:".$myrow_coments["date"]." </small>
</div>
<div class='text' id='wPost68177652' style='width: 315px; overflow: hidden;'> Ответ: <p>
".$myrow_coments["text"]." </p></div>
<div class='actions'>
<a href='/wall.php?id=22032769&person=9532829'><small>Лично</small></a>
<span class='sdivide'>|</span><a href='ответить автору'>
<small>видят все</small></a><span class='sdivide'>|</span>
</div>
</td>
</tr>
</table>";
if (isset($myrow_coments["vid"]))
{
echo $myrow_coments["vid"];
}
}
while ($myrow_coments= mysql_fetch_array($res_coments));
}
?>
|
не знаю как в файле rate.php прописать переменную $author_r
сам скрипт rate.php:
<?
include('includes/db_connect.php') /*соединение с бызой */ ?>
<? echo 'привет';
if (isset($_POST['id']))
{
$id= $_POST['id'];
}
if (isset($_POST['author_r']))
{
$author_r= $_POST['author_r'];
}
$res= mysql_query ("SELECT reyting, user FROM coments WHERE post='$id' ,author=$author_r",$db);
if (!$res)
{
exit(mysql_error());
}
$myrow= mysql_fetch_array ($res);
$new_reyting= $myrow['reyting'] + 1;
$new_user= $myrow['user'] + 1;
$update= mysql_query ("UPDATE coments SET reyting='$new_reyting' , user='$new_user' WHERE post='$id' , author= $author_r",$db);
if ($update)
{
echo "<html><head>
<meta http-equiv='Refresh' content='0; URL=post.php?id=$id'>
</head></html>";
exit();
}
?>
|
для того, что бы в базе отыскать нужный комент, его я ищу по номеру комента , что соответствует посту и по автору комента
при всём этом выдаёт ошибку :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'author=' at line 1 | |
|
|
|
|
|
|
|
для: Андрей_Зубарь
(12.10.2009 в 15:38)
| | "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'author=' at line 1"
вот перевод
"У вас ошибка в запросе; обратитесь к руководству, которая соответствует вашей версии сервера MySQL на предмет корректного синтаксиса для использования рядом с "автором = 'в строке 1"
что то в форме у тебя не так, кнопку я так и не нашёл, может плохо смотрел...
в теге "<form>" есть атрибут name" со значением "submit", зачем?
создай кнопку
"<input type="submit" name="sub">", после нажатия на неё у тебя уйдут данные массива "$_POST" и тогда в файле rate.php ты молучишь "S_POST['author_r']" и присвоишь это значение переменной $author_r. | |
|
|
|
|
|
|
|
для: Slo_Nik
(12.10.2009 в 17:28)
| | изменил форму на:
<form action='rate.php' method='post' name='form' target='_blank'>
<input name='id' type='hidden' value='".$id."'>
<input name='author_r' type='hidden' value='".$author_r."'>
<input type='submit' name='sub' value='Оценить'>
</form>
|
и файл rate.php
<?
include('includes/db_connect.php') /*соединение с бызой */ ?>
<?
echo "привет '.$author_r.'";
echo "привет '.$id.'";
if (isset($_POST['id']))
{
$id= $_POST['id'];
}
if (isset($_POST['author_r']))
{
$author_r= $_POST['author_r'];
}
$res= mysql_query ("SELECT reyting, user FROM coments WHERE post='$id' ,author='$author_r'",$db);
if (!$res)
{
exit(mysql_error());
}
$myrow= mysql_fetch_array ($res);
$new_reyting= $myrow['reyting'] + 1;
$new_user= $myrow['user'] + 1;
$update= mysql_query ("UPDATE coments SET reyting='$new_reyting' , user='$new_user' WHERE post='$id' , author= $author_r",$db);
if ($update)
{
echo "<html><head>
<meta http-equiv='Refresh' content='0; URL=post.php?id=$id'>
</head></html>";
exit();
}
?>
|
но в браузере выдаёт:
привет '..'привет '..'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'author='питер'' at line 1
почему не передаются переменные??
спецом поставил
<?
echo "привет '.$author_r.'";
echo "привет '.$id.'";
?>
|
| |
|
|
|
|
|
|
|
для: Андрей_Зубарь
(12.10.2009 в 22:11)
| | посмотри что я писал тебе выше, всё та же ошибка, ошибка в sql запросе
в начале скрипта напиши "error_reporting(E_ALL);"
вот здесь у тебя ошибка и выводить после
<?
echo "привет '.$author_r.'";
echo "привет '.$id.'";
?>
|
и выводить после
<?php
if (isset($_POST['id']))
{
$id= $_POST['id'];
}
if (isset($_POST['author_r']))
{
$author_r= $_POST['author_r'];
}?>
|
замени одинарные кавычки на двойные. потому у тебя и не выводит автора и id
последуй совету neadekvat | |
|
|
|
|
|
|
|
для: Андрей_Зубарь
(12.10.2009 в 22:11)
| | > WHERE post='$id' , author= $author_r
запятую на AND сменить пробовали? | |
|
|
|
|
|
|
|
для: Metandrostenalon
(13.10.2009 в 11:19)
| |
<?
$author_id=$myrow_coments["id"];
<form action='rate.php' method='post' name='form' target='_self'>
<input name='id' type='hidden' value='".$author_id."'>
<input name='post_id' type='hidden' value='".$id."'>
<input type='image' src='img/ico_rate.gif' title='Добавить рейтинг к ответу'>
</form>
?>
|
такая вот форма
такой вот файл обработки:
<?
echo "Бал к рейтингу добавлен";
if (isset($_POST['id']))
{
$id= $_POST['id'];
}
if (isset($_POST['post_id']))
{
$post_id= $_POST['post_id'];
}
$res= mysql_query ("SELECT reyting, user FROM coments WHERE id='$id'",$db);
if (!$res) //выведет нам ошибки если таковы есть
{
exit(mysql_error());
}
$myrow= mysql_fetch_array ($res);
$new_reyting= $myrow['reyting'] + 1;
$new_user= $myrow['user'] + 1;
$update= mysql_query ("UPDATE coments SET reyting='$new_reyting' , user='$new_user' WHERE id='$id'",$db);
if ($update)
{
echo "<html><head>
<meta http-equiv='Refresh' content='0; URL=post.php?id=$post_id'>
</head></html>";
exit();
}
?>
|
всё заработало, всем спасибо | |
|
|
|
|
|
|
|
для: Андрей_Зубарь
(12.10.2009 в 15:38)
| | В запросе
author= $author_r
замените на
author= '$author_r' | |
|
|
|