LINUX.ORG.RU

Помогите найти ошибку (PHP)

 


0

1
while ($row = mysql_fetch_array($get_messages)) {
if ($row["guest"] == "true") {
$guest = 'style="background: #d4d2cb;"';
$who = "user_gray";
$group = "Анонимный пользователь";
}
else {
$author = $row["author"];
include ($root_dir."engine/db.php");
$get_user = mysql_query ("SELECT * FROM users WHERE username = '$author'");
mysql_close();
while ($row = mysql_fetch_array($get_user)) {
$admin = $row["admin"];
}
if ($admin != "true") {
$guest = '';	
$who = "user_green";
$group = "Пользователь";	
}
else {
$guest = '';	
$who = "user_orange";
$group = "Администратор";
}
}
$str_search = array(
"{guest}",
"{author}",
"{content}",
"{id}",
"{who}",
"{group}"
);
$str_replace = array(
$guest,
$row["author"],
$row["message"],
$row["id"],
$who,
$group
);
$messages .= str_replace($str_search, $str_replace, $message_tpl);
}

Есть значит такой код. Суть его вот в чем: если юзер не анонимус, то в БД идет запрос на получение содержимого колонки «admin», далее идет условие, если пользователь — админ, то значения переменных одни, если это простой пользователь то другие. Проблема заключается в том, что — условие

if ($admin != "true")
не правильно срабатывает, то есть выводится всегда значения переменных для Администратора, к тому же не выводится значения:
$row["author"],
$row["message"],
$row["id"],
У анонимусов же все нормально. Буду очень благодарен если поможете.

P.S. Значения колонки «admin» из БД выводятся нормально через

echo $admin;

★★

Последнее исправление: Razip (всего исправлений: 2)

Почитай про JOIN (просто совет). И да, тупо как-то строками true/false записывать, лучше TINYINT поле и 1/0. А косяк у тебя скорее всего в том, что два раза $row переменная используется: в начале приведенного куска кода и там, где ты выбираешь данные о пользователе (вместо использования JOIN-ов). Во втором случае $row измени, например, на $row2.

emissar ★★
()
Ответ на: комментарий от Razip

Хотя стоп. Теперь выводится сообщение, пользователь и ид, но не выводится значения переменных в зависимости от админ юзер или нет.

Razip ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.