Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вывод

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
4ik
Отправлено: 23 Сентября, 2011 - 14:38:10
Post Id


Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




Добрый день.
У меня к Вам есть 2 вопроса.

1.
Имеется три таблицы - "Score" "Adm" "Mod".
Из таблицы "Score" нужно вывести только те имена, которые есть в "Adm" и "Mod".
(почему не просто вывести все строки из "Adm" и "Mod", потому что в "Score" ники пользователей хранятся в нижнем регистре, а в скоре они записаны так как они есть на самом деле)
-------------------------------- -------------------------------- -------------------------------- ---

2.
Хотел зделать что-то типа статуса, будут выводится ники игроков из таблицы "Score", если игрок есть в таблице "Admin" - напротив его ника писалось "Adm", если в "Mod" - "Mod", если игрока нет ни там ни там - "plr" Смущение

(Отредактировано автором: 23 Сентября, 2011 - 14:38:38)

 
 Top
EuGen Администратор
Отправлено: 23 Сентября, 2011 - 15:37:42
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Храните данные в таблицах в регистронезависимом collation (например, могу посоветовать utf8_general_ci)
- и тогда Вы сможете использовать только таблицы Adm и Mod


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
MrBeard
Отправлено: 23 Сентября, 2011 - 16:45:20
Post Id



Гость


Покинул форум
Сообщений всего: 97
Дата рег-ции: Авг. 2011  


Помог: 2 раз(а)




Цитата:
Хотел зделать что-то типа статуса, будут выводится ники игроков из таблицы "Score", если игрок есть в таблице "Admin" - напротив его ника писалось "Adm", если в "Mod" - "Mod", если игрока нет ни там ни там - "plr" Смущение

немного не понятно, почему бы не завести в одной таблице с юзерами поле, где указывать их тип? зачем на каждый тип пользователей создавать отдельную таблицу? просто подумал, как бы сделать запрос, который будет автоматически это всё проставлять, и не представил)
всё, что могу предложить - это что то вроде
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT *
  3. FROM Score
  4. LEFT JOIN Adm
  5. LEFT JOIN Mod
  6.  

а дальше в коде разбора запроса проверять поля из Adm и Mod на null, и при наличии результата проставлять им типы пользователей
 
 Top
4ik
Отправлено: 23 Сентября, 2011 - 17:07:06
Post Id


Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




EuGen пишет:
например, могу посоветовать utf8_general_ci

так и есть.
но инфа в бд уже есть, и нужно работать с тем что есть. жду другого варианта Закатив глазки

MrBeard пишет:
почему бы не завести в одной таблице с юзерами поле, где указывать их тип

нужно переписывать приложения - не вариант.

MrBeard пишет:
и не представил

CODE (SQL):
скопировать код в буфер обмена
  1.  $isadmin = "";
  2.       $issafe = "";
  3.       $status = "";
  4.       $ban = "";
  5.      $sql4 = "SELECT id FROM admins WHERE name ='$name' ";
  6.      $qry_result7 = $db->query($sql4) OR die(mysql_error());
  7.      $list7 = $db->fetch_array($qry_result7,'assoc');
  8.      IF($list7["id"])
  9.      $isadmin = "adm";
  10.      
  11.      $sql4 = "SELECT id FROM safelist WHERE name = '$name' ";
  12.      $qry_result7 = $db->query($sql4) OR die(mysql_error());
  13.      $list7 = $db->fetch_array($qry_result7,'assoc');
  14.      IF($list7["id"])
  15.      $issafe = "mod";
  16.  
  17.    $status = $isadmin."  ".$issafe;
  18.    IF(!$isadmin && !$issafe)
  19.    $status = "plr";

при выводе большого количества пользователей, врёмы вывода увеличивается. поетому решил спросить тут Ниндзя

(Отредактировано автором: 23 Сентября, 2011 - 17:08:20)

 
 Top
caballero
Отправлено: 23 Сентября, 2011 - 17:16:57
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




collation можно указать через set
не нужно ничего менять в базе хотя нет никаких проблем сменить collation на таблице


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB