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

Форум PHP

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

 

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

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

тема: постраничная навигация
 
 автор: Dmitry1988   (06.06.2009 в 16:14)   письмо автору
 
 

Добрый день,
такая проблема, не знаю как правильно прописать ссылку, вот код:
<?php 
@include("inc/config.inc.php");
@include(
"inc/functions.inc.php");
@include(
"top.txt");
@include(
"body_top.txt");
echo
'<td class="td_text">';
echo
'<form action="" method="POST"/>';
echo
'<center>';
echo
'Выберете страну:&nbsp;<input type="radio" checked name="GE" value="CZ" />Чехия';
echo
'<input type="radio" name="GE" value="GE" />Германия';
echo
'<input type="radio" name="GE" value="AU" />Австрия<br />';
echo
'<input type="hidden" name="action" value="country" />';
echo
'<input style="font-family:Times New Roman;" type="submit" name="go" value="Cмотреть" /><center>';
echo
'</form>';

if (isset(
$_POST['GE']))
{
  switch(
$_POST['GE'])
  {
    case 
'GE':
      
$country 'Германия';
      break;
    case 
'AU':
      
$country 'Австрия';
      break;
    default:
      
$country 'Чехия';
      break;
  }
}
else
{
  
$country 'Чехия';
}

$q mysql_query("SELECT COUNT(*) FROM vylet WHERE country='".$country."'");
$amount mysql_result($q,0);

$pages ceil($amount/$max);
$_p $_GET['page_country'];
 if(!
$_p OR $_p =='') {
$min 0;
}
 else {
$min = ($_p*$max)-$max ;
 }

    
$qcz mysql_query("SELECT * FROM vylet WHERE country='".$country."' LIMIT ".$min.",".$max."");
    if(
mysql_num_rows($qcz)>0){
    while(
$rcz mysql_fetch_array($qcz)){
    echo
'<table class="table_tour">';
    echo
'<tr>';
    echo
'<td colspan="2" class="td_tour">';
    echo 
$rcz['country'].'-'.$rcz['town'];
    echo
'</td>';
    echo
'<tr>';
    echo
'<td class="td_tour_foto">';
    echo
'<a href="tour_info.php?id='.$rcz['id'].'"><img src="nabidka/'.$rcz['img_url'].'" width="150px" height="100px" border="0"></a>';
    echo
'</td>';
    echo
'<td class="td_tour_text">';
    echo
'<a class="a_text_tour" href="tour_info.php?id='.$rcz['id'].'">'.ucfirst(substr($rcz['desc'],0,200)).'...</a><br /><br />Количество дней:'.$rcz['how_long'].'<br /><div align="right" style="text-align:right;"><a class="a_tour" href="tour_info.php?id='.$rcz['id'].'">подробнее>></a></div>';
    echo
'</td>';
    echo
'</tr>';
    echo
'</table><br />';
    }
            for(
$n=1;$n<=$pages;$n++) {

[
i][b]if($_p != $n) {echo '<a href="'.$PHP_SELF.'?'.$_POST['GE'].'?page_country='.$n.'&country='.$country.'">['.$n.']</a>&nbsp;';}[/b][/i]
if(
$_p == $n) {echo '<b>['.$n.']&nbsp;</b>';}
}
    }else{echo
'<div align="center">Ничего не найдено.</div>';}
@include(
"body_bottom.txt");
?>


вот в выделенной срочке у меня ссылка на последующие страницы, но когда я нажимаю в например Германии перейти на второю страницу, то он переходит на вторую только на Чехию(Чехия стоит по умолчанию), и если я потом опять выберу Германию то я окажусь на второй странице.
if($_p != $n) {echo '<a href="'.$PHP_SELF.'?'.$_POST['GE'].'?page_country='.$n.'&country='.$country.'">['.$n.']</a>&nbsp;';}
Проблема в том что я не знаю как прописать чтобы он переходил на вторую страницу в той стране в которой я нажал.
Помогите пожалуйсто прописать ссылку правильно. Заранее спасибо

  Ответить  
 
 автор: Trianon   (06.06.2009 в 17:21)   письмо автору
 
   для: Dmitry1988   (06.06.2009 в 16:14)
 

очень зря Вы в рамках одного скрипта применяете оба метода сразу - и GET и POST

  Ответить  
 
 автор: Dmitry1988   (06.06.2009 в 18:15)   письмо автору
 
   для: Trianon   (06.06.2009 в 17:21)
 

Спасибо за примечание исправлю все на POST, а не знаете что в ссылке не так?

  Ответить  
 
 автор: mihdan   (06.06.2009 в 18:21)   письмо автору
 
   для: Dmitry1988   (06.06.2009 в 18:15)
 

Уж лучше тогда использовать GET

  Ответить  
 
 автор: Trianon   (06.06.2009 в 19:06)   письмо автору
 
   для: Dmitry1988   (06.06.2009 в 18:15)
 

из ссылки в принципе невозможно вызвать скрипт методом POST.
Как минимум из прямой ссылки <a href=http://...

  Ответить  
 
 автор: Dmitry1988   (06.06.2009 в 19:34)   письмо автору
 
   для: Trianon   (06.06.2009 в 19:06)
 

Я все переделал на метод GET и написал для каждой страны код:

for($n=1;$n<=$pages;$n++) {
if($_GET['GE']=='GE'){
if($_p != $n) {echo '<a href="'.$_GET['GE'].'?page_country='.$n.'&country='.$country.'">['.$n.']</a>&nbsp;';}
if($_p == $n) {echo '<b>['.$n.']&nbsp;</b>';}
}
if($_GET['AU']=='AU'){
if($_p != $n) {echo '<a href="'.$_GET['AU'].'?page_country='.$n.'&country='.$country.'">['.$n.']</a>&nbsp;';}
if($_p == $n) {echo '<b>['.$n.']&nbsp;</b>';}
}
if($_GET['CZ']=='CZ'){
if($_p != $n) {echo '<a href="'.$_GET['CZ'].'?page_country='.$n.'&country='.$country.'">['.$n.']</a>&nbsp;';}
if($_p == $n) {echo '<b>['.$n.']&nbsp;</b>';}
}
}

но опять же не знаю как передать через GET какая страна выбрана :(

  Ответить  
 
 автор: Trianon   (06.06.2009 в 19:41)   письмо автору
 
   для: Dmitry1988   (06.06.2009 в 19:34)
 

$GE = $_GET['GE'];
"...&GE=$GE&..."
а почему страна у Вас называется GE?

Я имею в виду не историю процесса.
Я спрашиваю, почему она до сих пор так называется?

  Ответить  
 
 автор: Dmitry1988   (06.06.2009 в 20:06)   письмо автору
 
   для: Trianon   (06.06.2009 в 19:41)
 

ну я у каждой страны писал используя radio имя GE а потом их value GE, CZ, AU.
и использовал эти имена...надо было задать новые?

  Ответить  
 
 автор: Trianon   (06.06.2009 в 20:09)   письмо автору
 
   для: Dmitry1988   (06.06.2009 в 20:06)
 

Как, однако, всё запущено-то ...
GE в value очевидно означает Германию.
А что означает GE в name?
Ге?

  Ответить  
 
 автор: Dmitry1988   (06.06.2009 в 20:35)   письмо автору
 
   для: Trianon   (06.06.2009 в 20:09)
 

Я обозначил поле name так, щас думаю это было не дальновидно...он из-за этого путает все связанное с Германией?

  Ответить  
 
 автор: Trianon   (06.06.2009 в 20:37)   письмо автору
 
   для: Dmitry1988   (06.06.2009 в 20:35)
 

полагаю, это запутывает в первую очередь, Вас.
Ну, меня тоже слегка заставило...
Скрипту пофиг - он железный.

  Ответить  
 
 автор: Dmitry1988   (06.06.2009 в 21:22)   письмо автору
 
   для: Trianon   (06.06.2009 в 20:37)
 

Тоесть это не влияет на скрипт? Получается что проблема опять только в том что я не знаю как правильно передать какая страна была выбрана при переходе на вторую страницу...

  Ответить  
 
 автор: Trianon   (06.06.2009 в 21:24)   письмо автору
 
   для: Dmitry1988   (06.06.2009 в 21:22)
 

Это влияет на Вас. Вы не знаете.
Не смотря на то, что как передать - я показал.

Почти наверняка, изменили бы на более нейтральное - поняли бы.

  Ответить  
 
 автор: Dmitry1988   (06.06.2009 в 22:05)   письмо автору
 
   для: Trianon   (06.06.2009 в 21:24)
 

Можете пожалуйсто еще раз пояснить как прописать правильно?

  Ответить  
 
 автор: Trianon   (06.06.2009 в 22:31)   письмо автору
 
   для: Dmitry1988   (06.06.2009 в 22:05)
 

Наверно надо дать название полю так, чтобы оно не было созвучно с названием любой конкретной страны?

  Ответить  
 
 автор: Dmitry1988   (06.06.2009 в 23:21)   письмо автору
 
   для: Trianon   (06.06.2009 в 22:31)
 

Я все переименовал...но я все не могу понять как передать информацию о стране с которой я зову вторую страницу :(
[code]
if($_GET['count']=='GE'){
if($_p != $n) {echo '<a href="'.$_GET['GE'].'?page_country='.$n.'&country='.$country.'">['.$n.']</a>&nbsp;';}
if($_p == $n) {echo '<b>['.$n.']&nbsp;</b>';}
}
[/code

с этим кодом я перехожу на вторую страницу страны которая указана по умолчанию..

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

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