Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Колличество записей на странице... Помогите! 
:(
    Опции темы
Настоящий Ламер
Дата 17.1.2004, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 17.1.2004

Репутация: нет
Всего: нет



Наверное кто-то поднимал уже подобные темы, но облазив 5-6 форумов так и не нашел решения своей проблемы.
Пишу гостевую книгу и естественно хочется ее сделать максимально удобной. Для чего и решил поставить <select>.
Так вот... когда выбираешь значение, то в адресной строке не появляется значение переменной отвечающей за колличество строк на странице, однако выбирая другое значение появляется не оно, а то... предыдущее что выбирал в самом начале. При всем при этом глюке правильно отображается нужное колличество записей, но на следующие страницы значение переменной колличества записей на страницу не передается.
Очень вас прошу уважаемые эксперты объясните для человека на танке как исправить такой глюк.
Заранее огромное спасибо!
PM MAIL   Вверх
MuToGeN
Дата 17.1.2004, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



Как оно именно попадает в адресную строку? JS? Форма? Если форма через POST, то оно и не должно отображаться в адресной строке, но передаваться на сервер будет (значение можно найти в $_POST и $_REQUEST).

Желательно глянуть на кусок кода.


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
Настоящий Ламер
Дата 17.1.2004, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 17.1.2004

Репутация: нет
Всего: нет



Попадает оно в адресную строку через get... (Надо отметить, что с одной проблемой я справился, а именно, с тем, чтобы все нормально появлялось в строке сразу после submit)
Но переменная колличества строк куда-то продевается... хотя в адресной строке все путем написано...
И теперь происходит такой глюк... При выборе номера страницы, например, "2" и колличества строк 10, показывается вторая страница с колличеством строк на страницу 5... (так как стоит устовие if ($quantity_per_page=="") $quantity_per_page=5;
Наверное такого условия не должно быть, но по другому не знаю как сделать.
Просто если не ставить такого условия выбирать из базы вообще ничего не получается.
PM MAIL   Вверх
[xoodo]
Дата 18.1.2004, 02:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 9.3.2003

Репутация: 1
Всего: 4



Если не работает $quantity_per_page, а работает $_GET["quantity_per_page"], то дело в поддержке глобальных переменных.

8(

Если не туда копаем, то повторю важный вопрос -- кто или что формирует адресную строку?
PM   Вверх
Настоящий Ламер
Дата 18.1.2004, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 17.1.2004

Репутация: нет
Всего: нет



В <select>
Код

<?
<form action=$PHP_SELF?page=$i?count=$count method=get>
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">


<select name=count style="width: 6em;">
 <option value=5>5</option>
 <option value=10>10</option>
 <option value=20>20</option>
 <option value=50>50</option>
</select>
<input type=submit value=Go>
</form>


.......... Тут располагается табличка с выводимыми данными....



Внизу страницы (номера страницы)
Код

<?php

           $count_pages = ceil($all_lines / $count);
  if ($count_pages>1) {
     for ($i=1; $i<=$count_pages; $i++)
      {
  if($page==$i and $i!=1) { ?>
  <font face=arial size=-2 color=#AAAAAA style=color: #CC9999><b>
  <?php echo " | $i"; ?></font>
  <?php }
  elseif ($page==$i and $i==1) {?>
  <font face=arial size=-2 color=#AAAAAA style=color: #CC9999><b>1</font>
  <?php  } elseif($i==1 and $page!=$i) { ?>
  <font face=arial size=-2 color=#AAAAAA><b>
  <?php
  echo "<a href=\"$PHP_SELF?page=$i?count=$count\" style=color: #CC9999>$i</a>";
  ?> </font>
           <?php } elseif($i!=1 and $page!=$i) { ?>
  <font face=arial size=-2 color=#AAAAAA style=color: #CC9999>
           <?php echo " | <a href=\"$PHP_SELF?page=$i?count=$count\" style=color: #CC9999>$i</a>"; ?>
           </font>
           <?php }} ?>

PM MAIL   Вверх
Secandr
Дата 18.1.2004, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



А может лучше не
Код
<?
<form action=$PHP_SELF?page=$i?count=$count method=get>
?>
а
Код
<?
echo "<form action=$PHP_SELF?page=$i?count=$count method=get>";
?>
? ? ? ? ?

Это сообщение отредактировал(а) Secandr - 18.1.2004, 10:50


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Настоящий Ламер
Дата 18.1.2004, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 17.1.2004

Репутация: нет
Всего: нет



Да... именно так и написал как посоветовал уважаемый Secandr... проблему это не решило.... вообщето именно так и было написано...
Но всеравно СПАСИБО!
Просто эту проблему уже не могу решить 2 недели... все копаюсь по всяким форумам, мануалам, книгам и нигде ничего похожего нет. Вот впервые решил написать в форум. Наверное эта досадная ошибка просто ни у кого не возникала или настолько простая, что все с ней справляются очень запросто.
Так как я совсем "Настоящий ламер", то если будете писать ответ на мой вопрос. Нельзя ли более подробно, чем другим :-) как для настоящего танкиста wink.gif


На самом деле вот весь текст... Этот скрипт выводит инфу из бд с нужным мне форматированием и со вставкой всяких смайликов и пр.
Код

<?php

Error_Reporting(E_ALL & ~E_NOTICE);
$pictures = array(
  "<img src=img/astro.gif>",
           "<img src=img/beer.gif>",
           "<img src=img/biggrin.gif>",

     ...

        "<font size=2>",
        "<font size=3>",
        "<font size=4>",
        "<font size=5>",
        "<font size=6>",
           );
$words = array(":astro:",
   ":beer:",
            ":D",

     ...

            ":sf5:",
            ":sf6:",
            );

echo "<form action=$PHP_SELF?page=$i?count=$count method=get>";

?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">


<select name=count style="width: 6em;">
 <option value=5>5</option>
 <option value=10>10</option>
 <option value=20>20</option>
 <option value=50>50</option>
</select>
<input type=submit value=Go>
</form>

<?php
echo $count;
if ($count == "") $count=5;

@mysql_connect('localhost', 'root')
  or die("Can't connect to Database. <br>MySQL answer: ".mysql_error());
@mysql_select_db('base001')
  or die("Can't connect to Database. <br>MySQL answer: ".mysql_error());
$query = "SELECT * FROM gbtable";
$result = mysql_query($query);
$all_lines = mysql_num_rows($result);
if (!isset($page) or empty($page) or $page<=0) $page=1;
else $page=(int)$page;
$page_for_query = $page-1;
$lpos = $page_for_query * $count;
$query = "SELECT * FROM gbtable ORDER BY numb DESC LIMIT $lpos,$count";
$result = @mysql_query($query) or die("$query <b>failed!</b><br>".mysql_error());
while ($data_array = mysql_fetch_array($result)) {
?>
<table border=0 width=600 cellspacing=0 cellpadding=0>
<tr>
 <td id=up>
  <font face=arial size=-3 color=#FFFFFF>
   <table border=0 width=100% cellspacing=1 cellpadding=0>
    <tr>
                    <td colspan=2 bgcolor=#FFAA00>
      <table border=0 width=100% cellspacing=0 cellpadding=0>
                            <tr>
                                <td background=leftb.jpg width=3 height=10 style="font-size: 16px; text-indent: 0px;">&nbsp;
                                   </td>
                                <td align=right width=100% style="font-size: 16px; text-indent: 0px;"><a href=#up><img src=up.gif border=0 style=vertical-align: middle></a><font face=arial style="font-size: 10px; text-indent: 0px; color: #FFFFFF; vertical-align: middle;">&nbsp;&nbsp;№&nbsp;<?php echo $data_array['numb'] ?></font>
                                   </td>
                                <td background=rightb.jpg width=3 height=10 style="font-size: 16px; text-indent: 0px;">&nbsp;
                                   </td>

                               </tr>

      </table>
     </td>
                   </tr>
                   <tr>
     <td width=80><img src="face.gif" hspace="4"><font face=arial size=-1 color=#AAAAAA style="font-size: 14px; text-indent: 0px; color: #AAAAAA; vertical-align: middle;"><b>Name</b></font><br><br></td>
     <td><font face=arial size=2 color=#000000><b> <?php echo $data_array['namefield']; ?></b></font><br><br></td>
                   </tr>
     <tr>
     <td width=80><img src=eml.gif vspace=-3 hspace="6"><font face=arial size=-1 color=#AAAAAA style="font-size: 14px; text-indent: 0px; color: #AAAAAA; vertical-align: middle;"><b>E-Mail</b></font></td>
     <td><font face=arial size=-3 color=#000000>
                        <a  href=mailto: <?php echo $data_array['emailfield']; ?> style = color: #CC9999>
      <?php echo $data_array['emailfield']; ?></a></font>
     </td>
                   </tr>
    <tr valign=middle>
                    <td width=100><img src=g_hm2.gif vspace=-3 hspace="7"><font face=arial size=-1 color=#AAAAAA style="font-size: 14px; text-indent: 0px; color: #AAAAAA; vertical-align: middle;"><b>URL</b></font></td>
     <td><font face=arial size=-3 color=#000000>
                        <a href="<?php echo $data_array['urlfield'];?>">http://<?php echo $data_array['urlfield'];?></a><br><br><br>
                           </font>
     </td>
                   </tr>
    <tr>
                    <td width=100 valign=top><img src="mess.gif" hspace="3"><font face=arial size=-1 color=#AAAAAA style="font-size: 14px; text-indent: 0px; color: #AAAAAA; vertical-align: middle;"><b>Message</b></font></td>
     <td>
                        <font size=2>
                           <?php $string = $data_array['textfield'];
      for ($nn=0; $nn < 87; $nn++)
       {
       $string = ereg_replace($words[$nn], $pictures[$nn], $string);
          }
                               echo nl2br($string);
                             ?>
      <br><br><br>
                       </td>
                   </tr>
    <tr valign=middle>
                    <td width=150 bgcolor="#F9F9F9"><font face=arial size=-2 color=#AAAAAA style="font-size: 10px; text-indent: 0px; color: #AAAAAA; vertical-align: middle;"><b>Message created</b></font></td>
     <td align=right bgcolor="#F9F9F9">
                        <font face=arial size=-2 color=#AAAAAA style="font-size: 10px; text-indent: 0px; color: #AAAAAA; vertical-align: middle;"><b>
       <?php echo $data_array['month'], '.&nbsp;',$data_array['day'], '.&nbsp;', $data_array['year']; ?>
       &nbsp;
       <?php echo $data_array['hour'], ':&nbsp;',$data_array['minute'], ':&nbsp;', $data_array['second']; ?></b>
                           </font>
     </td>
                   </tr>
   </table>
  </td>
 </tr>
</table>

   <?php }
   ?>

<table border=0 width=600 cellspacing=0 cellpadding=0>
<tr>
 <td>
  <hr>

  <?php

           $count_pages = ceil($all_lines / $count);
  if ($count_pages>1) {
     for ($i=1; $i<=$count_pages; $i++)
      {
  if($page==$i and $i!=1) { ?>
  <font face=arial size=-2 color=#AAAAAA style=color: #CC9999><b>
  <?php echo " | $i"; ?></font>
  <?php }
  elseif ($page==$i and $i==1) {?>
  <font face=arial size=-2 color=#AAAAAA style=color: #CC9999><b>1</font>
  <?php  } elseif($i==1 and $page!=$i) { ?>
  <font face=arial size=-2 color=#AAAAAA><b>
  <?php
  echo "<a href=\"$PHP_SELF?page=$i?count=$count\" style=color: #CC9999 method=get>$i</a>";
  ?> </font>
           <?php } elseif($i!=1 and $page!=$i) { ?>
  <font face=arial size=-2 color=#AAAAAA style=color: #CC9999>
           <?php echo " | <a href=\"$PHP_SELF?page=$i?count=$count\" style=color: #CC9999 method=get>$i</a>"; ?>
           </font>
           <?php }} ?>
       </td>
</tr>
</table>
<?php

} ?>



Это сообщение отредактировал(а) Настоящий Ламер - 18.1.2004, 14:07
PM MAIL   Вверх
Настоящий Ламер
Дата 21.1.2004, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 17.1.2004

Репутация: нет
Всего: нет



Решение подоспело весьма неодиданно. Если кому интересно чем закончилась эта проблемка. Оказалось, что по невнимательности вместо...
Код
<a href=\"$PHP_SELF?page=$i?count=$count\" style=color: #CC9999 method=get>$i</a>"; ?>


надо
Код
<a href=\"$PHP_SELF?page=$i&count=$count\" style=color: #CC9999 method=get>$i</a>"; ?>


А так совершенно нормальный ...wink.gif ну для новичка в PHP скрипт для вывода нужного колличества строк на странице.

Может кому пригодится wink.gif
Спасибо всем кто написал свои ответы!
PM MAIL   Вверх
buddy
Дата 22.1.2004, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.11.2002
Где: Киев

Репутация: нет
Всего: нет



я канечна извеняюсь, может не уловил суть, однако, что это у вас в адреcной строке по 2 занка "?"

Код
$PHP_SELF?page=$i?count=$count method=get>


PM WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0645 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.