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

Форум MySQL

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

 

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

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

тема: гиперссылка, с учетом запроса
 
 автор: ronin   (10.04.2006 в 12:35)   письмо автору
 
 

Здравствуйте! проблема такая у меня есть гиперссылка с index.php

<? 
include "configuration.php"
$result mysql_query("SELECT * FROM books WHERE rubrica = 3"); # в разных ссылках rubrica может быть 1, 2 ,3, 4, 5 и т.п.

$num_results mysql_num_rows($result); 
$books mysql_num_rows($result); 
echo 
"<A HREF=\"book.php?customerid=".$books['customerid']."\" >мониторы (".$num_results." )</A>";?> 


и вывод как book.php

$result = mysql_query("SELECT customerid, DATE_FORMAT(datum,\"%d-%m-%Y\") As putdate, name, para, firma FROM books WHERE rubrica= '".$_POST['rubrica']."' ORDER BY datum DESC, customerid DESC LIMIT $start, $num");                                     

так вот, это хрень не работает, но на index.php показывает количество позиций в данной рубрике, но book.php появляется без данных.
я в book.php поменял код вместо

rubrica= '".$_POST['rubrica']."' 

на

rubrica= 3

и все пашет, помогите!

   
 
 автор: Trianon   (10.04.2006 в 12:43)   письмо автору
 
   для: ronin   (10.04.2006 в 12:35)
 

А почему $_POST['rubrica'] а не $_GET['rubrica'] ?

   
 
 автор: Loki   (10.04.2006 в 12:45)   письмо автору
 
   для: Trianon   (10.04.2006 в 12:43)
 

Кроме того, передаете вы переменную customerid, а использовать пытаетесь rubrica

   
 
 автор: Trianon   (10.04.2006 в 12:51)   письмо автору
 
   для: Loki   (10.04.2006 в 12:45)
 

Ну с rubrica=3 у имярека всё пашет :))))

   
 
 автор: ronin   (10.04.2006 в 13:18)   письмо автору
 
   для: Trianon   (10.04.2006 в 12:43)
 

Я поменял POST на GET, rubrica на customerid - все пашет.
ну customerid на rubrica я до этого менял? просто мне так посответовали.
Объясните почему POST это не GET

[поправлено модератором]

   
 
 автор: Trianon   (10.04.2006 в 13:26)   письмо автору
 
   для: ronin   (10.04.2006 в 13:18)
 

>Объясните почему POST это не GET

Через POST передаются данные полей форм ( Во всяком случае - тех форм, где указано method=post)
Через GET передаются параметры запроса, указанные в строке URI, т.е. в адресах a href="http://сайт/файл?параметр=значение.... "

   
 
 автор: cheops   (10.04.2006 в 13:41)   письмо автору
 
   для: ronin   (10.04.2006 в 13:18)
 

Параметры метода GET передаются через URL после символа "?", а POST-параметры передаются через тело HTTP-запроса.

   
 
 автор: ronin   (10.04.2006 в 15:34)   письмо автору
 
   для: cheops   (10.04.2006 в 13:41)
 

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

   
 
 автор: ronin   (10.04.2006 в 16:16)   письмо автору
 
   для: ronin   (10.04.2006 в 15:34)
 

у меня новая проблема: у меня выводится только по 10 позиций на одной странице, как передать эту GETна последующие страницы, где выводяться следующие 10 позиций?

$num = 10;
$page = $_GET['page'];
$result = mysql_query("SELECT * FROM books  WHERE  rubrica = '".$_GET['rubrica']."'");
$posts = mysql_num_rows($result);?>
$total = intval(($posts - 1) / $num) + 1;
$page = intval($page);
if(empty($page) or $page < 0)
{
$page = 1;
}
if($page > $total)
{
$page = $total;
}
$start = $page * $num - $num;
$result = mysql_query("SELECT customerid, DATE_FORMAT(datum,\"%d-%m-%Y\") As putdate, name, para, firma, isbn  FROM books WHERE rubrica = '".$_GET['rubrica']."'" ORDER BY datum DESC, customerid DESC LIMIT $start, $num");

$i=1;

$i++;



if ($page != 1)
{
$pervpage = "<a href= ./book.php?page=1><<</a>
                               <a href= ./book.php?page=". ($page - 1) ."><</a> ";
}
if ($page != $total)
{
$nextpage = " <a href= ./book.php?page=". ($page + 1) .">></a>
<a href= ./book.php?page=".$total.">>></a>";
}
if($page - 2 > 0)
{
$page2left = " <a href= ./book.php?page=". ($page - 2) .">". ($page - 2) ."</a> | ";
}
if($page - 1 > 0)
{
$page1left = "<a href= ./book.php?page=". ($page - 1) .">". ($page - 1) ."</a> | ";
}
if($page + 2 <= $total)
{
$page2right = " | <a href= ./book.php?page=". ($page + 2) .">". ($page + 2) ."</a>";
}
if($page + 1 <= $total)
{
$page1right = " | <a href= ./book.php?page=". ($page + 1) .">". ($page + 1) ."</a>";
}
echo "$pervpage $page2left $page1left <b> $page </b> $page1right $page2right $nextpage";
?>

   
 
 автор: cheops   (10.04.2006 в 22:32)   письмо автору
 
   для: ronin   (10.04.2006 в 16:16)
 

Для этого в каждой строке постраничной навигации необходимо добавить строку "&rubrica=$_GET[rubrica]", например
<?php
if ($page != 1

$pervpage "<a href= ./book.php?page=1&rubrica=$_GET[rubrica]><<</a> 
                               <a href= ./book.php?page="
. ($page 1) ."&rubrica=$_GET[rubrica]><</a> "

if (
$page != $total

$nextpage " <a href= ./book.php?page=". ($page 1) ."&rubrica=$_GET[rubrica]>></a> 
<a href= ./book.php?page="
.$total."&rubrica=$_GET[rubrica]>>></a>"
}
?>

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

   
 
 автор: ronin   (11.04.2006 в 10:34)   письмо автору
 
   для: cheops   (10.04.2006 в 22:32)
 

Хеопс - Спасибо!!! все работает. Я думал, что придется использовать сессии типа: $_SESSION[rubrica].
А что это за специальная строка?

   
 
 автор: cheops   (11.04.2006 в 14:10)   письмо автору
 
   для: ronin   (11.04.2006 в 10:34)
 

>А что это за специальная строка?
Т.е. вышеприведённый код оформляют примерно так
<?php 
$url 
"&rubrica=$_GET[rubrica]";
if (
$page != 1

$pervpage "<a href= ./book.php?page=1&rubrica=$_GET[rubrica]><<</a> 
                               <a href= ./book.php?page="
. ($page 1) ."$url><</a> "

if (
$page != $total

$nextpage " <a href= ./book.php?page=". ($page 1) ."&rubrica=$_GET[rubrica]>></a> 
<a href= ./book.php?page="
.$total."$url>>></a>"

?>

Тогда можно в $url добавлять любое количество GET-параметров и они автоматически подставляются в постраничную навигацию.

   
 
 автор: ronin   (11.04.2006 в 16:00)   письмо автору
 
   для: cheops   (11.04.2006 в 14:10)
 

прикольно!

   
Rambler's Top100
вверх

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