|
|
|
| to: Cheops
>Давайте лучше в новую тему. Какого рода проблемы возникают? С SQL-запросом или с PHP-кодом?
Проблема мне так кажется больше в сторону SQL-запроса, что мне надо выбирать и по каким критериям. Может быть стоит в таблице какое-нибудь доп. поле ввести, не могу догать логики. | |
|
|
|
|
|
|
|
для: hell_riser
(19.06.2006 в 13:42)
| | Вообще-то я выбирал так:
<?php
//соединяемся с mySQL сервером.
include "config.php";
include "function.php";
//Считаем что GET параметр $mess_id(id-родительского сообщения) получен
//выбираем головное сообщение
$main = mysql_query("SELECT * FROM $forum WHERE id = $mess_id");
if(!$main) exit("ERROR:".mysql_error());
$mess = mysql_fetch_assoc($main);
$title = $mess['title']; //заголовек темы выводится отдельной таблицей.
$child = $mess['children'];//эту переменную в данном случае определяем только
$post = $mess['author']; //для заполнения функции.
$date = $mess['post_date'];
$message = $mess['message'];
$parent_id = $mess['id'];
//вызов функции форматирования и вывода на экран
show_message( $post, $date, $message, $parent_id );
//выбираем ответы по переменной $parent_id хотя можно и по $mess_id
//и затем в цикле выводим все ответы.
$sql = mysql_query("SELECT * FROM $forum WHERE parent = $parent_id");
if(!$sql) exit ("ERROR:".mysql_error());
while($answ = mysql_fetch_assoc($sql))
{
$id = $answ['id'];
$child = $answ['children'];
$title = $answ['title'];
$poster = $answ['author'];
$date = $answ['post_date'];
$msg = $answ['message'];
show_message($poster, $date, $mesg, $id);
}
mysql_close();
?>
|
Функция show_message это html таблица с выбраными данными.
В принципе я понимаю что теперь (наверное в функции) надо ввести проверку если $child=y то опять запрос и выборка. А вот по какому параметру, и в каком месте вызывать не пойму. | |
|
|
|
|
|
|
|
для: hell_riser
(19.06.2006 в 15:14)
| | А в чём проблема? Что работает не так? | |
|
|
|
|
|
|
|
для: cheops
(19.06.2006 в 19:05)
| | Проблема в том, что ответы которые в свою очередь так же имеют ответы не выводятся вообще. Попробывал ввести в функцию запрос:
<?php
if($child = "y")
{
$sql = mysql_query("SELECT * FROM $forum WHERE parent='$m_id'");
if(!$sql) exit("Ошибка обращения к БД".mysql_error());
while($answ_answ = mysql_fetch_assoc($sql))
{
$post = $answ_answ['author'];
$date = $answ_answ['post_date'];
$mess = $answ_answ['message'];
$child = $answ_answ['children'];
}
}
?>
|
Получил ответ: 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 'WHERE parent='1'' at line 1 | |
|
|
|
|
|
|
|
для: hell_riser
(19.06.2006 в 19:14)
| | А что находится в переменной $forum - выведите также запрос в браузер
<?php
echo "SELECT * FROM $forum WHERE parent='$m_id'";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(20.06.2006 в 01:51)
| | В переменной $forum находится название таблицы(mysite_forum_messg) пробывал вывести запрос но не выводится абсолютно ни чего кроме ошбки | |
|
|
|
|
|
|
|
для: hell_riser
(20.06.2006 в 07:56)
| | Код выглядит так?
<?php
if($child = "y")
{
$sql = mysql_query("SELECT * FROM $forum WHERE parent='$m_id'");
if(!$sql)
{
echo "SELECT * FROM $forum WHERE parent='$m_id'";
exit("Ошибка обращения к БД".mysql_error());
}
while($answ_answ = mysql_fetch_assoc($sql))
{
$post = $answ_answ['author'];
$date = $answ_answ['post_date'];
$mess = $answ_answ['message'];
$child = $answ_answ['children'];
}
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(20.06.2006 в 11:04)
| | Да точ в точ кроме эхо Селект, я подставлял переменную с запросом, теперь
ECHO возвращает :SELECT * FROM WHERE parent='1' тобиш
получается что не определена переменная $forum? | |
|
|
|
|
 2.3 Кб |
|
|
для: hell_riser
(20.06.2006 в 13:21)
| | Всё с этой проблемой разобрался в самом деле в функции не определялась переменная $forum.
Но проблема вывода осталась т.е от этого запроса толку нет. Выбираю только родительское сообщение и ответы не посредственно на него, а ответ на ответ, хоть лбом об стену.
Хоть намекните по каким параметрам его доставать с запросом как-нибудь разберусь.
P.S. Может я вообще не правильно действую, прилагаю скрипт выборки. | |
|
|
|