Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выборка данных + постраничная навигация
 
 автор: trotsak   (18.05.2009 в 08:24)   письмо автору
 
 

Пытаюсь смонтировать форму поиска по "стране" среди членов клуба.

При первой попытке выборке показывает первую группу страниц нормально, но при нажатии на ссылку следующей группы "41-80" ничего не показывает.
Прошу помочь разобраться.
Заранее благодарю.



 <form action="" method="post">
  Поиск:<br><?php echo $country?><br>
 
  Выберите страну:<br>
  
  <select name="country" id="country">
  <OPTION VALUE=' '>Страна</OPTION>
                          <OPTION VALUE='Russia'>Россия</OPTION>
                          <OPTION VALUE='Ukrania'>Украина</OPTION>
                          <OPTION VALUE='Belarus'>Беларусь</OPTION>
                          <OPTION VALUE='Kazakhstan'>Казахстан</OPTION>
                          <OPTION VALUE='Moldova'>Молдова</OPTION>
                          <OPTION VALUE='Uzbekistan'>Узбекистан</OPTION>
                          <OPTION VALUE='USA'>США</OPTION>
                          <OPTION VALUE='Australia'>Австралия</OPTION>
                          <OPTION VALUE='Austria'>Австрия</OPTION>
                          <OPTION VALUE='Germany'>Германия</OPTION>
                          <OPTION VALUE='Great Britain'>Великобритания</OPTION>
                          <OPTION VALUE='India'>Индия</OPTION>
                          
                          <OPTION VALUE='Other'>Другая</OPTION>
  </select>
  
  <br>
  
  <input type=submit value='ОК'>
  </form>

    <?php 
include ("../based.php");


$show_cols 4// кол-во колонок 
$show_rows =10// кол-во строк 
//if (!isset($start1)) $start1=1; //если нач.страница не установлена, идем на первую  

$start1 = (isset($_GET['start1'])) ? intval($_GET['start1']): 1;

$country=trim($_POST['country']);

 
//определяем, сколько столбцов и где мы находимся 
if (isset($_POST['country'])||($_GET['country']))
$query = ("SELECT * FROM brides_data WHERE country = '$country' order by id_bride");//здесь можно только кол-во записей запрашивать
else $query =  ("SELECT * FROM brides_data order by id_bride");

$array mysql_query($query);  
$num_rows mysql_num_rows($array); //всего строк в базе 
$cols=floor($num_rows/$show_cols); //всего кол-во столбцов 
$pages floor($num_rows/($show_cols*$show_rows));//кол-во страниц 
if ($num_rows $show_cols*$show_rows*$pages$pages++; //если строк в базе больше, чем помещается на одной странице, переходим на след. 
for ($ii=1$ii<=$pages$ii++) { //начинаем цикл перебора всех страниц 
$from1=$ii*$show_rows*$show_cols-($show_rows*$show_cols-1); // 
$to1=$ii*$show_rows*$show_cols//кол-во показ.страниц 
if ($to1 $num_rows$to1 $num_rows//если кол-во показ.страниц больше, чем строк в базе, делаем его равным 
if ($start1==$from1) echo "| <font style=\"font-face: Verdana, Arial, Helvetica, sans-serif; 
    color : #ff8c00; font-weight : bold; font-size: 12px;\">
$from1 - $to1</font>";  
else  
{echo 
" | <a href=\"?start1=$from1&country=$country\" style=\"font-face: Verdana, Arial, Helvetica, sans-serif; 
    color : #000000; font-weight : bold; font-size: 12px;\"> 
$from1 - $to1</a>";} 
         

/// вывод страницы 
if ($num_rows $pages*$show_cols*$show_rows$vid++;  
for (
$iii=0$iii<=$vid$iii++) {  

/// вывод таблицы 
if ($num_rows $show_rows$show_rows++;  
for (
$i=2$i<=$show_rows$i++) {  
$start1=$start1 1;  

if (isset(
$_POST['country'])||($_GET['country']))
$query "SELECT img_url FROM brides_data WHERE country = '$country' ORDER BY id_bride DESC limit $start1,$show_cols";
else
$query "SELECT img_url FROM brides_data ORDER BY id_bride DESC limit $start1,$show_cols";

 

$start1=$start1+$show_cols 1
$result mysql_query($query); 
$number mysql_num_rows($result);
            

echo
"<table align=center border=\"0\"  cellpadding=5 cellspacing=2 >"
$j 0
    WHILE (
$j $number)// вывод строки 
     

     
$pic_name mysql_result($result,$j,"img_url"); 
     echo
"<td align=center bgcolor=#ffffff valign=middle style=\"border-style: solid; border-color: #909090; border-width: 1px\"> 
      <A HREF=\"/ru_gi/private.php?id=
$pic_name\"><img src=\"/image/img_brides/".$pic_name."\" border=0></A></TD>"
     
$j++;

    }
// конец вывода строки 
}// конец вывода таблицы 
}// конец вывода страницы 
///  
?>

  Ответить  
 
 автор: mihdan   (18.05.2009 в 18:02)   письмо автору
 
   для: trotsak   (18.05.2009 в 08:24)
 

Чтобы проще было вам (это не совет, а лишь вариант решения), используйте метод GET для формы

  Ответить  
 
 автор: trotsak   (19.05.2009 в 07:30)   письмо автору
 
   для: mihdan   (18.05.2009 в 18:02)
 

Да, спасибо. Поменял на GET и все получилось.

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

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования