Добро пожаловать, Гость!
Вывод ника - Страница 0
Общие вопросы | Вывод ника

Вывод ника
29 Окт 2018Привет всем)
Вот хочу сделать такое вот крч, тип что бы во всех модулях выводило вместо ника имя которое в анкете пользователя, но если у пользователя поле с именем пустое то показывался снова ник, я в этом плохо шарю, пытался да ничего не вышло толком, имя вывел, но когда поле с именем пустое то в модулях ни ника ни имени, пустота)
Пытался сделать это в файле /sys/inc/classes/class.user.php
<?
$ank = mysql_fetch_assoc(query('SELECT `nick`, `ank_name`, `date_last`, `rating`, `browser` FROM `user` WHERE `id` = "' . $user . '" LIMIT 1 '));
$nick = null;
$online = null;
$icon_medal = null;
// Вывод ника
if ($user == 0)$ank = array('id' => '0', 'ank_name' => 'Cистема', 'pol' => '1', 'rating' => '0', 'browser' => 'wap', 'date_last' => time());
elseif (!$ank)$ank = array('id' => '0', 'nick' => '[Удален]', 'pol' => '1', 'rating' => '0', 'browser' => 'wap', 'date_last' => time());
if ($url == true)
$nick = ' <a href="/id' . $user . '">' . text($ank['ank_name']) . '</a> ';
else
$nick = text($ank['nick']);
?>
Мб кто подскажет как это сделать)
Комментарии:

MRX, я что то в таблице не нашел никакого ank_surname. Если у тебя есть такая колонка сам добавишь в запрос, и в вывод, там ничего сложного нет.
Добавлено:
SimptomFD, вы бы хоть подчищали за собой этот срачь, ваши разборки, ну вот даже нах никому не надо


Автор темы
kantry, Чет не выходит, то не отображает ничего, то страницы не ботают, я еще добавил в анкету фамилию, хотелось что бы что бы она выводился возле имени ' . text($ank['ank_surname']) . ', но не выходит сделать, вернул все по дефолту, можешь прописать в файле что бы работало?
Файл
Добавлено:

kantry, Замечательное решение вариант номер 2
Только ошибка
Не так
if ($user == 0)$ank = array('id' => '0', 'ank_name' => 'Cистема', 'pol' => '1', 'rating' => '0', 'browser' => 'wap', 'date_last' => time());
А вот так
if ($user == 0)$ank = array('id' => '0', 'nick' => 'Cистема', 'pol' => '1', 'rating' => '0', 'browser' => 'wap', 'date_last' => time());
Почему? Ты присвоил
(ank_name, nick) значение nick и так же его выбираешь.
Array не найдёт поле ank_name, по причине - его нет в выборке.
Проверить легко
$ank = mysql_fetch_assoc(mysql_query('SELECT IFNULL(ank_name, nick) AS nick, `date_last`, `rating`, `browser` FROM `user` WHERE `id` = "' . $user . '" LIMIT 1 '));
var_dump( $ank );
Выводит
array(4) { ["nick"]=> string(8) "kantry_good_solution" ["date_last"]=> string(10) "1540791728" ["rating"]=> string(1) "0" ["browser"]=> string(3) "web" }
Можно ещё так
Вместо $ank = mysql_fetch_assoc через array
Через array $ank = mysql_fetch_array
Тогда поле ank_name можно вывести через [0]
Но это лишнее думаю. Вариант номер 2 отличный.
Молодец!

Как то так.
<?php
//$ank = mysql_fetch_assoc(mysql_query('SELECT `nick`, `ank_name`, `date_last`, `rating`, `browser` FROM `user` WHERE `id` = "' . $user . '" LIMIT 1 '));
// Вариант 2
$ank = mysql_fetch_assoc(mysql_query('SELECT IFNULL(ank_name, nick) AS nick, `date_last`, `rating`, `browser` FROM `user` WHERE `id` = "' . $user . '" LIMIT 1 '));
$nick = null;
$online = null;
$icon_medal = null;
// Вывод ника
if ($user == 0) {
$ank = array('id' => 0, 'ank_name' => 'Cистема', 'pol' => '1', 'rating' => 0, 'browser' => 'wap', 'date_last' => time());
} elseif (!$ank) {
$ank = array('id' => 0, 'nick' => '[Удален]', 'pol' => '1', 'rating' => 0, 'browser' => 'wap', 'date_last' => time());
}
// Вариант 1
// $ank['nick'] = isset($ank['ank_name']) ? $ank['ank_name'] : $ank['nick'];
if ($url) {
$nick = ' <a href="/id' . $user . '">' . $ank['nick'] . '</a> ';
} else {
$nick = $ank['nick'];
}
?>

Так ответ например в чате в коме или же в гостевой как будет у тебя выглядеть если там допустим 20 Саш будет на сайте,, о5 выходит что никней нужен,, тогда уж дополнением имя должно быть а не основой

______________________
꧁༺Энмеркар༻꧂