Всем привет. Пытаюсь написать сниппет отображения последних 3х комментариев. Нужно вытащить данные из 4х таблиц.
В 1ой таблице содержатся комментарии, во 2ой имена гостей, из 3й хватаю имена страниц а из 4ой беру имя зарегистрированного автора если в 1ой таблице указанно что комментарий оставил не гость. Вот как раз с этим условием и проблемы. Сейчас вот такая штука вышла:
<?php
$guest="modx_jot_fields.label='name' AND modx_jot_fields.id=modx_jot_content.id";
$manager="modx_jot_content.createdby=modx_user_attributes.id";
$whereall ="modx_jot_content.published='1' AND modx_site_content.published='1' AND modx_site_content.id=modx_jot_content.uparent AND (IF (modx_jot_content.createdby=0,($guest),($manager)))";
$sql="SELECT modx_jot_content.content, modx_jot_content.id, modx_jot_content.uparent, modx_jot_content.createdon, modx_site_content.pagetitle, IF (modx_jot_content.createdby=0,modx_jot_fields.content,modx_user_attributes.fullname) AS authname FROM modx_jot_content, modx_site_content, modx_jot_fields, modx_user_attributes WHERE $whereall ORDER BY modx_jot_content.createdon DESC LIMIT 3";
$q=mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($q)){
echo '<div class="comment"><div class="ballbtm">';
echo '<div class="content"><a href="'.$row[uparent].'" class="midtxt">'.$row[pagetitle].'</a><br/><a href="'.$row[uparent].'#'.$row[id].'" class="darkgrey xsmltxt">'.$row[content].'</a></div>';
echo '</div>';
echo '<div class="aboutpost author">'.$row[authname].' </div>';
echo '</div>';
}
?>
Если из кода убрать упоминание о зарегистрированных пользователях и брать данные из 3х таблиц то все прекрасно работает. Помогите пожалуйста. Я в пхп очень слаб, а о запросах совсем недавно узнал. Но читать и гуглить умею, вот только затык небольшой сейчас. Никак не пойму где ошибка и как исправить. Возможно тут логическая ошибка.