LGSL - Постраничный вывод (PHP и MySQL)

Ответить
mkden
Сообщения: 96
Зарегистрирован: 08.05.2010
Вобщем пытаюсь выполнить скрипт но не пойму как правильно вывести?

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

<?php 

require "lgsl_files/lgsl_class.php";

$link = mysql_connect("localhost","111","111"); //Подключаемся к серверу базы данных
mysql_select_db("111",$link); //Выбираем базу
$posts = mysql_query("select * from lgsl");
$total_posts = mysql_num_rows($posts); //Считаем число строк в таблице с сообщениями (posts) 

  function print_links($total,$page,$number, links) //1 аргумент - всего сообщений, 2 - номер текущей страницы, 3 - число сообщений на странице, 4 - число отображаемых ссылок
{
$return = null;
$pages = ceil($total/$number); //Вычисляем сколько должно получиться страниц 

if ($page+$links <= $pages)
{
$start = $page;
}
else 
{
$start = $pages-($links-1);
$finish = $pages;
}

if ($start < 0)
{
$start = 1;
}

for ($i=$start;$i<=$finish;$i++) //Записываем в переменную ссылки
{
$return .= " <a href='?page=$i."'>".$i."</a> ";
}
return $return; } 

if (!isset($page)) { $page = "1"; } //Здесь мы делаем проверку. Если переменная page (номер страницы) не указана, то ей присваивается значение 1
print print_links($total_posts,$page,"10","5"); //Выводим в браузер ссылки 
$query = mysql_query("select * from lgsl limit ".(($page-1)*10).",10 "); //Выбираем нужное число сообщений 

while ($row=mysql_fetch_array($guest)) { print "

<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='/monitor/lgsl_files/s_{$server['o']['id']}-n.png'>
        </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='/monitor/lgsl_files/image/down.png'></a>
        </td>

      </tr>



";  } 


mysql_close($link); 
?>



Выпрос такой что прописать после этой строки

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


while ($row=mysql_fetch_array($guest)) { print "
чтобы выводились сервера?
p.s: В php я нуб!!! )

Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
даже по подсветке видно путаницу с кавычками в строке

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

$return .= " <a href='?page=$i."'>".$i."</a> ";

mkden
Сообщения: 96
Зарегистрирован: 08.05.2010
странно эта строка проходит у меня выдает ошибку в этой страке

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

<tr bgcolor='black' onMouseOver=this.style.backgroundColor='#1C1C1C' onMouseOut=this.style.backgroundColor='black'>
p.s: В php я нуб!!! )

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

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

$return .= " <a href='?page=$i'>".$i."</a> ";&nbsp; 
и будет тебе счастье.
и почитай что-нить про использование кавычек в php. хотя бы сообщение viewtopic.php?p=2888#p2888

-- добавлено 16 июн 2010, 18:23 --

p.s. возможно по твоему коду ниже еще есть опечатки

mkden
Сообщения: 96
Зарегистрирован: 08.05.2010
заменил ошибка в той же строчке

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

while ($row=mysql_fetch_array($guest)) { print "

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

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
Знаю не правильно вывожу !
Но не знаю как правильно?

-- добавлено 16 июн 2010, 18:35 --

И еще нужно ли значение posts заменять на lgsl?
p.s: В php я нуб!!! )

Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
$query = mysql_query("select * from lgsl limit ".(($page-1)*10).",10 ");

while ($row=mysql_fetch_array($guest)) { print "
...
}'>{$server['s']['name']}</a>
выделенные части должны совпадать.

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

mkden
Сообщения: 96
Зарегистрирован: 08.05.2010

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

<?php 


require "lgsl_files/lgsl_class.php";



$link = mysql_connect("localhost","111","111"); //Подключаемся к серверу базы данных
mysql_select_db("111",$link); //Выбираем базу
$lgsl = mysql_query("select * from lgsl");
$total_lgsl = mysql_num_rows($lgsl); //Считаем число строк в таблице с сообщениями (lgsl) 


function print_links($total,$page,$number,$links) //1 аргумент - всего сообщений, 2 - номер текущей страницы, 3 - число сообщений на странице, 4 - число отображаемых ссылок
{
$return = null;
$pages = ceil($total/$number); //Вычисляем сколько должно получиться страниц 

if ($page+$links <= $pages)
{
$start = $page;
}
else 
{
$start = $pages-($links-1);
$finish = $pages;
}

if ($start < 0)
{
$start = 1;
}

for ($i=$start;$i<=$finish;$i++) //Записываем в переменную ссылки
{
$return .= " <a href='?page=$i'>".$i."</a> "; 
}
return $return; } 

if (!isset($page)) { $page = "1"; } //Здесь мы делаем проверку. Если переменная page (номер страницы) не указана, то ей присваивается значение 1

$query = mysql_query("select * from lgsl limit ".(($page-1)*10).",10 "); //Выбираем нужное число сообщений 



while ($server=mysql_fetch_array($query)) { print "









<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 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>



";  } 




mysql_close($link); 

echo print_links($total_lgsl,$page,"3","10");

?>

После замены row на server заработал рейтинг какая переменная отвечает за остальную информация и куда ее надо вставить в коде,
и еще вопрос это

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

echo print_links($total_lgsl,$page,"3","10");
далжно выводить страницы ,в чем ошибка?
p.s: В php я нуб!!! )

Ответить