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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как добавить Get переменную, к уже существующей url строке 
V
    Опции темы
Рыжий
Дата 29.5.2007, 06:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

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



Сейчас делаю постраничный вывод информации из БД. 
Есть GET переменная, для простоты, назовем ее $page. В ней указывается текущая страница.
Если мой урл: www.site.ru?c=1&d=3

Соответственно page, по умолчанию будет равна 1.
Если я перехожу на страницу №2 - как правильно написать ссылку?
сейчас я пишу:

Код

<a href="http://'.$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"].'?page=2'>


В таком случае переменные с и d - сотрутся. 
Если дописывать переменные - вскоре будем иметь www.site.ru?c=1&d=3&page=2&page=3&page=4...

Вобщем как решить этот вопрос?

PM MAIL ICQ   Вверх
PARROT
Дата 29.5.2007, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

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



Их не надо дописывать.
Код

<?
$res4=mysql_query("select count(id) from review WHERE parent=0");
$num=mysql_fetch_row($res4);

$numstr=ceil($num[0]/10);
echo "<table><tr><td style=padding-left:30>Страницы: ($numstr)</td>";
for($i=1; $i<=$numstr; $i++){
        $start=($i-1)*10;
        if ($start==$s OR ($s==0 AND $i==1))
        $st="<a class=1 href=index.php?page=forum&s=$start><font color=#C1CACF>[$i]</font></a>";
        else $st="<a href=index.php?page=forum&s=$start><font color=#C1CACF>[$i]</font></a>";
        print "<td>".$st."</td> ";
}
?>



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
teroni
Дата 29.5.2007, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А с и d ты же устанавливаешь? Тогда почему нельзя просто ссылки делать из скрипта вида 
Код

echo "<a href=\"file.php?c=$c&d=$d&page=$nextpage\">next page</a>";

Если с и d устанавливаешь не ты, то где-то так:
Код

$_GET['page'] = $nextpage;
$href = "file.php?";
foreach ($_GET as $key=>$val)
   {
   $href .= "$key=$val&";
   }
$href = substr($href, 0, -1);
echo "<a href=\"$href\">next page</a>";
 

Это сообщение отредактировал(а) teroni - 29.5.2007, 18:01
PM MAIL   Вверх
sTa1kEr
Дата 29.5.2007, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

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



В таких случаях удобно записывать по ходу работы скрипта необходимые переменные в массив статической(или глобальной) переменной, а затем составлять URL при помощи http_build_query
PM MAIL   Вверх
Golda
Дата 30.5.2007, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

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



Код

if (!function_exists('http_build_query')) {
    function http_build_query($arr)
    {
        if (!is_array($arr) || empty($arr)) return '';

        $out = '';
        foreach ($arr as $key => $value) {
            $out .= "&$key=$value";
        }
        return substr($out, 1);
    }
}

$_GET['page'] = 2;

echo "http://".$_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"].'?' . http_build_query($_GET);




--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0880 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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