Добро пожаловать, Гость!
Вывод ника - Страница 0
Общие вопросы | Вывод ника
MRX : Вывод ника
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']);
?>
Мб кто подскажет как это сделать)
Комментарии:
kantry 29 Окт 2018MRX, я что то в таблице не нашел никакого ank_surname. Если у тебя есть такая колонка сам добавишь в запрос, и в вывод, там ничего сложного нет.
Добавлено:
SimptomFD, вы бы хоть подчищали за собой этот срачь, ваши разборки, ну вот даже нах никому не надо

MRX 29 Окт 2018Автор темы
kantry, Чет не выходит, то не отображает ничего, то страницы не ботают, я еще добавил в анкету фамилию, хотелось что бы что бы она выводился возле имени ' . text($ank['ank_surname']) . ', но не выходит сделать, вернул все по дефолту, можешь прописать в файле что бы работало?
Файл
Добавлено:
Svat 29 Окт 2018kantry, Замечательное решение вариант номер 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 отличный.
Молодец!
kantry 29 Окт 2018Как то так.
<?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'];
}
?>
Энмеркар 29 Окт 2018Так ответ например в чате в коме или же в гостевой как будет у тебя выглядеть если там допустим 20 Саш будет на сайте,, о5 выходит что никней нужен,, тогда уж дополнением имя должно быть а не основой

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

