За последние 24 часа нас посетили 17557 программистов и 1627 роботов. Сейчас ищут 2023 программиста ...

Вывод списка всех администраторов игры)

Тема в разделе "Вопросы от блондинок", создана пользователем smidl, 21 ноя 2007.

  1. smidl

    smidl Активный пользователь

    С нами с:
    3 мар 2007
    Сообщения:
    84
    Симпатии:
    0
    Доброго времени суток, занялся написанием скрипта который выводит список администраторов, тоесть лезет в таблицу users и смотрит в admin_level и если он выше 0, то выводит ник етого человека.(Ники находяться в етой же таблице, но в поле Login) Как сделать робочий скрипт?) вот то что я пробывал...
    PHP:
    1. <?
    2. include("conf.php");
    3. //конектимся к базе
    4. $Connect=mysql_connect($base_name,$base_user, $base_pass)
    5.  or die("WARNING");
    6. //выбираем саму бд
    7. mysql_select_db ('game',$Connect);
    8. $sql="mysql_query(SELECT admin_level FROM 'users' )";
    9. $result=mysql_fetch_array($sql);
    10. if ($result["admin_level"]>=1)
    11.   echo "1 админ";
    12. else
    13.   echo " нет Админов";
    14. ?>
    15.  
     
  2. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    [sql]SELECT `Login` FROM `users` WHERE `admin_level`>0;[/sql]
     
  3. smidl

    smidl Активный пользователь

    С нами с:
    3 мар 2007
    Сообщения:
    84
    Симпатии:
    0
    Если не сложно покажи весь скрипт, ато выдает ошибку :Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in z:\home\test2.ru\www\online.php on line 10
    а потом пишет "нет админов".. Нужно что бы выводило всех администраторов точнее их логины.
     
  4. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Запрос составлен, а в базу не отправлен. Нет команды для посыла запроса базе. То, что в скобках - не считается. 'users' - это название таблицы, а не значение, поэтому должно быть `users`.

    PHP:
    1.  
    2. <?
    3.  include("conf.php");
    4.  //конектимся к базе
    5.  $Connect=mysql_connect($base_name,$base_user, $base_pass)  or die("WARNING");
    6.  //выбираем саму бд
    7.  mysql_select_db ('game',$Connect);
    8.  $result = mysql_query('SELECT `login` FROM `users` WHERE `admin_level` > 0'); //Прямо в запросе можно указать параметры выборки
    9.  $resultar = mysql_fetch_array($result);
    10. if (!$resultar["login"]) {
    11.    echo " нет Админов";
    12. }
    13. else {
    14.   foreach ($resultar["login"] as $login) {
    15.      echo $login;
    16.   }
    17. }
    18.  ?>
    19.  
     
  5. smidl

    smidl Активный пользователь

    С нами с:
    3 мар 2007
    Сообщения:
    84
    Симпатии:
    0
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in z:\home\test2.ru\www\online.php on line 8
    нет Админов
    Warning: Invalid argument supplied for foreach() in z:\home\test2.ru\www\online.php on line 12


    вот что выдает....Кстати спасибо Kreker, познавательный скрипт с комментариями)
     
  6. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Пожалуйста. Я промахнулся немного - забыл поменять переменную:
    $resultar = mysql_fetch_array($result);

    P.S. Подправил немного код. Смотри выше.
     
  7. smidl

    smidl Активный пользователь

    С нами с:
    3 мар 2007
    Сообщения:
    84
    Симпатии:
    0
    Warning: Invalid argument supplied for foreach() in z:\home\test2.ru\www\online.php on line 13

    что ж с етим скриптом то такое))) Смотрел в учебниках, манулае...подобного не нашел))
    PHP:
    1.  
    2. <?
    3.   include("conf.php");
    4.   //конектимся к базе
    5.   $Connect=mysql_connect($base_name,$base_user, $base_pass)  or die("WARNING");
    6.   //выбираем саму бд
    7.   mysql_select_db ('game',$Connect);
    8.   $result = mysql_query('SELECT `login` FROM `users` WHERE `admin_level` > 0'); //Прямо в запросе можно указать параметры выборки
    9.   $resultar = mysql_fetch_array($result);
    10.  if (!$resultar["login"]) {
    11.    echo " нет Админов";
    12. }
    13.  else {
    14.    foreach ($resultar["login"] as $login) {
    15.      echo $login;
    16. }
    17. }
    18.   ?>
    19.  
     
  8. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    народ, вы чего?
    PHP:
    1. <?php
    2. $db_host="localhost";
    3. $db_user="user";
    4. $db_pass="password";
    5. $db_name="database";
    6.  
    7. $link = mysql_connect($db_host, $db_user, $db_pass);
    8. mysql_select_db($db_name, $link) or die("Invalid query: " . mysql_error());
    9.  
    10. $result = mysql_query('SELECT `Login` FROM `users` WHERE `admin_level`>0;') or die("Invalid query: " . mysql_error());
    11. if(!mysql_num_rows($result))
    12.     echo 'нет';
    13. else
    14.     while($row = mysql_fetch_row($result))
    15.         echo $row[0].'<br>';
    16.  
    17. ?>
     
  9. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Ну а чего... 2 часа ночи все-таки..
     
  10. smidl

    smidl Активный пользователь

    С нами с:
    3 мар 2007
    Сообщения:
    84
    Симпатии:
    0
    последний работает код) спс горомное))
     
  11. smidl

    smidl Активный пользователь

    С нами с:
    3 мар 2007
    Сообщения:
    84
    Симпатии:
    0
    Еще вопрос, перед каждым ником администратора нужно показать картинку онлайна(тоесть, если он онлайн то 1.gif, если нет то 2.gif). Статус береться из таблицы online , если в етой таблице поле login пустое, то админ офлайн.Помогите пжалуйста, вот напоминаю скрипт :

    PHP:
    1.  
    2. <html>
    3. <head>
    4. </head>
    5. <body bgcolor='tan'>
    6.  
    7. <?php
    8.  $db_host="localhost";
    9.  $db_user="root";
    10.  $db_pass="";
    11.  $db_name="game";
    12.  
    13.  $link = mysql_connect($db_host, $db_user, $db_pass);
    14.  mysql_select_db($db_name, $link) or die("Invalid query: " . mysql_error());
    15.  
    16.  $result = mysql_query('SELECT `Login` FROM `users` WHERE `admin_level`>=1;') or die("Invalid query: " . mysql_error());
    17.  if(!mysql_num_rows($result))
    18.      echo 'нет';
    19.  else
    20.      while($row = mysql_fetch_row($result))
    21.          echo "<b>$row[0]<br>";
    22.  
    23.  mysql_free_result($result);
    24. ?>
    25. </body>
    26. </html>
    27.  
     
  12. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    неправильная логика у вас. не нужно отдельной таблицы для онлайнеров. когда юзер авторизован и просматривает странички обновляйте поле например last_active в той же таблице users. в качестве данных - текущее время (time() ежели что...)
    а в скрипте определите сколько минут с последней активности человека считать онлайн
    и посмотрите на комментарий к 21 строчке
    PHP:
    1. <html>
    2. <head>
    3. </head>
    4. <body bgcolor='tan'>
    5.  
    6. <?php
    7. $db_host="localhost";
    8. $db_user="root";
    9. $db_pass="";
    10. $db_name="game";
    11.  
    12. $link = mysql_connect($db_host, $db_user, $db_pass);
    13. mysql_select_db($db_name, $link) or die("Invalid query: " . mysql_error());
    14.  
    15. $result = mysql_query('SELECT `Login` FROM `users` WHERE `admin_level`>=1;') or die("Invalid query: " . mysql_error());
    16. if(!mysql_num_rows($result))
    17.  echo 'нет';
    18. else
    19.  while($row = mysql_fetch_row($result))
    20. {
    21.     echo "<b>$row[0]<br>"; // !!!!!!!!!!!! вы тут болд открываете но нигде не закрываете, я волнуюсь...
    22.     if($row['last_active']+300>=time())   // 300 секунд это 5 минут ;)
    23.         echo '<img src="1.gif" alt="В сети">';
    24.     else
    25.         echo '<img src="2.gif" alt="В реальном мире">';
    26. }
    27.  
    28. ?>
    29. </body>
    30. </html>
    спасибо
     
  13. smidl

    smidl Активный пользователь

    С нами с:
    3 мар 2007
    Сообщения:
    84
    Симпатии:
    0
    Хм) базу создавал не я.. И поетому пользуюсь тем что есть. Так кто-то подскажет кк реализоватЬ?
     
  14. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Как тогда выяснить ник админа, если его поле пустое? :)
     
  15. smidl

    smidl Активный пользователь

    С нами с:
    3 мар 2007
    Сообщения:
    84
    Симпатии:
    0
    Ник берется из таблицы users