LGSL поиск по базе данных?

mkden
Сообщения: 96
Зарегистрирован: 08 май 2010
Вот скрипт поиска серверов по ip

Код: Выделить всё

<form action="search.php" method="post">

ip Сервера<br>

<input type="text" name="ip" size="60" value="">

<input type="submit" name="submit" value="Искать">

<input type="reset" name="reset" value="Очистить">

</form>


Содержание файла search.php

Код: Выделить всё

<?php

/* Соединение, выбор БД */

$link = mysql_connect("localhost", "111", "111") or die("Не соединилось!!!");

mysql_select_db("111") or die("Не найдена БД");

/* Выполнение SQL запроса */

$query = "SELECT * FROM lgsl WHERE UPPER(ip) LIKE '%".strtoupper($_POST['ip'])."%'";

$result = mysql_query($query) or die("Запрос ошибочный");

/* Печать результатов в HTML */

print "<table>\n";

while ($line = mysql_fetch_array($result, MYSQL_NUM)) {

print "\t<tr>\n";

for ($i=1;$i<=4;$i++) { print "\t\t<td>$line[$i]</td>\n"; }

print "\t</tr>\n";

}

print "</table>\n";

/* Освобождение памяти, занятой результатом запроса */


mysql_free_result($result);

/* Закрытие соединения */

mysql_close($link);

?>



Работает отлично http://codmk.org.ru/monitor/form.php
Вопрос такой ,как сделать вывод серверов такимже как в lgsl_list?

чтобы выводилась не просто данные из базы а подорбно название сервера при нажитии на него подробно
тоисть чтобы брало данные из lgsl_class?
p.s: В php я нуб!!! )

Аватара пользователя
Distructor
Администратор
Сообщения: 1599
Зарегистрирован: 28 дек 2009
ну так после

Код: Выделить всё

while ($line = mysql_fetch_array($result, MYSQL_NUM)) {
и вставляй опрос найденных серверов

Код: Выделить всё

$server_info = lgsl_query_cached($line[1], $line[2], $line[3], $line[4], $line[5], 'se')
а потом уже результат выводи как тебе нужно

-- добавлено 07 июн 2010, 16:46 --

p.s. не забудь подключить lgsl_class.php

mkden
Сообщения: 96
Зарегистрирован: 08 май 2010
помогите пожалуйста

Код: Выделить всё


<?php
require 
"lgsl_files/lgsl_class.php";
/* Соединение, выбор БД */

$link = mysql_connect("localhost", "1111", "1111") or die("Не соединилось!!!");

mysql_select_db("1111") or die("Не найдена БД");

/* Выполнение SQL запроса */

$query = "SELECT * FROM lgsl WHERE UPPER(ip) LIKE '%".strtoupper($_POST['ip'])."%'";

$result = mysql_query($query) or die("Запрос ошибочный");

/* Печать результатов в HTML */

print "<table>\n";

while ($line = mysql_fetch_array($result, MYSQL_NUM)) {

$server_info = lgsl_query_cached($line[1], $line[2], $line[3], $line[4], $line[5], 'se');

print "\t<tr>\n";

for ($i=1;$i<=4;$i++) { print "\t\t<td>

</td>\n"
; }

print "\t</tr>\n";

}

print "</table>\n";

/* Освобождение памяти, занятой результатом запроса */


mysql_free_result($result);

/* Закрытие соединения */

mysql_close($link);

?>


не могу понять как вставить это

Код: Выделить всё



$server_list 
= lgsl_query_cached_all("s");
  $server_list = lgsl_sort_servers($server_list);

//------------------------------------------------------------------------------------------------------------+

  $output .= "
  "
;
if(
 @$_GET['vote'] == 'err' ) {
         $output .= "<h1 style='text-align:center;'>Вы уже голосовали!</h1><br />";
    }
foreach ($server_list as $server)
    {
      $misc   = lgsl_server_misc($server);
      $server = lgsl_server_html($server);


$output .= "
 <tr bgcolor='black' onMouseOver=this.style.backgroundColor='#1C1C1C' onMouseOut=this.style.backgroundColor='black'>

<td width='400' style='text-align:left;'>
<a href='"
.lgsl_link($server['o']['id'])."' title='{$misc['text_type_game']} \r\n {$lgsl_config['text']['vsd']}'>{$server['s']['name']}</a>
        </td>
        

<td title='
{$lgsl_config['text']['slk']}'>
                      
{$server['b']['ip']}:{$server['b']['c_port']}
        </td>

        <td style='white-space:nowrap; text-align:left'>


<div class='bubbleInfo'>
  <div class='trigger'>
{$server['s']['map']}</div>
  <div class='popup'><img src='
{$misc['image_map']}' width='130px' height='100px'></div>
</div>

        </td>


        <td style='white-space:nowrap; text-align:center'>
          
{$server['s']['players']} / {$server['s']['playersmax']}
        </td>

     <td style='white-space:nowrap; text-align:center'>
<img border='0' src='http://codmk.org.ru/monitor/lgsl_files/s_
{$server['o']['id']}-n.png'>
        </td>


<td>
          <img alt='' src='
{$misc['icon_status']}' title='{$misc['text_status']}' />
        </td>


        <td style='white-space:nowrap; text-align:center'>
{$server['rating']}
<a href='rating.php?id=
{$server['o']['id']}&add=+1'>
<img src='http://codmk.org.ru/monitor/lgsl_files/image/up.png'>
</a> <a href='rating.php?id=
{$server['o']['id']}&add=-1'><img src='http://codmk.org.ru/monitor/lgsl_files/image/down.png'></a>
        </td>

      </tr>"
;
    }

    $output .= "
    </table>

  </div>"
;

 


ДЛЯ ВЫВОДА!

-- добавлено 09 июн 2010, 19:50 --

Код: Выделить всё

<?php

require 
"lgsl_files/lgsl_class.php";

/* Соединение, выбор БД */
$link = mysql_connect("localhost", "111", "111") or die("Не соединилось!!!");
mysql_select_db("111") or die("Не найдена БД");

/* Выполнение SQL запроса */
$query = "SELECT * FROM lgsl WHERE UPPER(ip) LIKE '%".strtoupper($_POST['ip'])."%'";
$result = mysql_query($query) or die("Запрос ошибочный");

/* Печать результатов в HTML */
print "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_NUM)) {
   
$server_info = lgsl_query_cached($line[1], $line[2], $line[3], $line[4], $line[5], 'se');
   
print "\t<tr>\n";
   
for ($line[1]=$type;$line[2]=$ip;$line[3]=$c_port;$line[4]=$q_port;$line[5]=$s_port;) { 
      print 
"\t\t<td>
      include 'lgsl_files/lgsl_list.php' </td>\n"
;
   }
   
print "\t</tr>\n";
}
print "</table>\n";

/* Освобождение памяти, занятой результатом запроса */
mysql_free_result($result);

/* Закрытие соединения */
mysql_close($link);

?>


-- добавлено 09 июн 2010, 19:51 --

не пойму где ошибка?
p.s: В php я нуб!!! )

Аватара пользователя
Distructor
Администратор
Сообщения: 1599
Зарегистрирован: 28 дек 2009
как минимум в

Код: Выделить всё

      print "\t\t<td>
      include 'lgsl_files/lgsl_list.php' </td>\n"
; 

не будущее, если есть ошибка, то потрудись описать в чем она выражается - выводится какой-либо текст ошибки или просто работает не так как задумано

mkden
Сообщения: 96
Зарегистрирован: 08 май 2010

Код: Выделить всё

Parse error: syntax error, unexpected ';', expecting ')' in search.php on line 27



Ошибка в этой страке

Код: Выделить всё

for ($line[1]=$type;$line[2]=$ip;$line[3]=$c_port;$line[4]=$q_port;$line[5]=$s_port;$line[5]++) { print "\t\t<td>

 include 'lgsl_files/lgsl_list.php' </td>\n";


Не пойму как вывести результат

по умолчанию

Код: Выделить всё

for ($i=1;$i<=4;$i++) { print "\t\t<td>$line[$i]</td>\n"; }
p.s: В php я нуб!!! )

Аватара пользователя
Distructor
Администратор
Сообщения: 1599
Зарегистрирован: 28 дек 2009
mkden писал(а):Ошибка в этой страке
именно ее я тебе выше и привел.
замени на

Код: Выделить всё

      print "\t\t<td>";
      include 
'lgsl_files/lgsl_list.php';
      print 
"</td>\n";  
и внимательнее следи за ковычками

mkden
Сообщения: 96
Зарегистрирован: 08 май 2010
Ошибки нет теперь выводит просто чистую страницу

Причина в этой строке

Код: Выделить всё

for ($i=1;$i<=4;$i++)


Что здесь прописать чтобы выводились данные о серверах как в lgsl_list.php

нужно ли здесь выводить

Код: Выделить всё

for ($line[1]=$type;$line[2]=$ip;$line[3]=$c_port;$line[4]=$q_port;$line[5]=$s_port


или это делаеться в другом виде?
p.s: В php я нуб!!! )

Аватара пользователя
Distructor
Администратор
Сообщения: 1599
Зарегистрирован: 28 дек 2009
полное подключение

Код: Выделить всё

include 'lgsl_files/lgsl_list.php';
тут не нужно.

тебе нужно просто взять из него небольшой кусок формирующий html

Код: Выделить всё

      $output .= "
      <tr style='".lgsl_bg().";table-layout:fixed'>

        <td>
          <img alt='' src='{$misc['icon_game']}' title='{$misc['text_type_game']}' />
        </td>

        <td style='text-align:right'>
          <a href='".lgsl_link($server['o']['id'])."' title='Информация по серверу'  >  {$server['b']['ip']}:{$server['b']['c_port']} </a>
        </td>

        <td title='{$server['s']['name']}' style='text-align:left'>
          <div style='width:100%; overflow:hidden; height:1.3em'>
          {$misc['name_filtered']}
          </div>
        </td>

        <td style='white-space:nowrap; text-align:left'>
          {$server['s']['map']}
        </td>

        <td style='white-space:nowrap; text-align:right'>
          {$server['s']['players']} / {$server['s']['playersmax']}
        </td>

      </tr>";

изменить

Код: Выделить всё

$server_info = lgsl_query_cached($line[1], $line[2], $line[3], $line[4], $line[5], 'se');
на

Код: Выделить всё

$server = lgsl_query_cached($line[1], $line[2], $line[3], $line[4], $line[5], 'se');
а после вставить приведенный выше кусок кода вместо твоего блока

p.s. писать полностью за тебя желания никакого нет. а все больше получается что твой моник пишется нашими руками. так что либо начинай сам осваивать программирование, либо пиши в Платные услуги

mkden
Сообщения: 96
Зарегистрирован: 08 май 2010

Код: Выделить всё

<?php

require "lgsl_files/lgsl_class.php";
/* Соединение, выбор БД */

$link = mysql_connect("localhost", "11", "11") or die("Не соединилось!!!");

mysql_select_db("1111") or die("Не найдена БД");

/* Выполнение SQL запроса */

$query = "SELECT * FROM lgsl WHERE UPPER(ip) LIKE '%".strtoupper($_POST['ip'])."%'";

$result = mysql_query($query) or die("Запрос ошибочный");

/* Печать результатов в HTML */

print "<table>\n";

while ($line = mysql_fetch_array($result, MYSQL_NUM)) {

$server = lgsl_query_cached($line[1], $line[2], $line[3], $line[4], $line[5], 'se');

 print "\t\t<td>";
$output .= "
      <tr style='".lgsl_bg().";table-layout:fixed'>

        <td>
          <img alt='' src='{$misc['icon_game']}' title='{$misc['text_type_game']}' />
        </td>

        <td style='text-align:right'>
          <a href='".lgsl_link($server['o']['id'])."' title='Информация по серверу'  >  {$server['b']['ip']}:{$server['b']['c_port']} </a>
        </td>

        <td title='{$server['s']['name']}' style='text-align:left'>
          <div style='width:100%; overflow:hidden; height:1.3em'>
          {$misc['name_filtered']}
          </div>
        </td>

        <td style='white-space:nowrap; text-align:left'>
          {$server['s']['map']}
        </td>

        <td style='white-space:nowrap; text-align:right'>
          {$server['s']['players']} / {$server['s']['playersmax']}
        </td>

      </tr>";

print "</td>\n";
}


print "</table>\n";

/* Освобождение памяти, занятой результатом запроса */


mysql_free_result($result);

/* Закрытие соединения */

mysql_close($link);

?>


Пустая страница?
p.s: В php я нуб!!! )

Аватара пользователя
Distructor
Администратор
Сообщения: 1599
Зарегистрирован: 28 дек 2009

Код: Выделить всё

print "\t\t<td>";
$output .= "

на

Код: Выделить всё

print "\t\t<td>";
print "


если и после этого будет пустая, то смотри логи вебсервера

mkden
Сообщения: 96
Зарегистрирован: 08 май 2010
спасибо огромное (Distructor король PHP):)
p.s: В php я нуб!!! )

Crank174RuS
Сообщения: 66
Зарегистрирован: 19 сен 2010
А у меня неработает!=( Ввожу IP пустая страница а когда прохожу по ссылке http://мой сайт/search.php он мне тупо все сервера выписывает

-- добавлено 19 сен 2010, 12:28 --

Все сделал


Вернуться в «LGSL»