Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум веб-мастеров _ Веб-программирование (PHP, CGI, ASP, ...) _ навигация и вывод

Автор: Veto-Irina 16.4.2008, 16:57

Люди добрые, помогите! unsure.gif
Ссылка <a href="kod.php?kod=$arResult['kod']"> <?=$arResult['kod'];?></a>
перестала работать после того, как сделала постраничную навигацию на MySql,
т.е. значения не подставляются, внизу адрес так и выводиться
http://forum.wm-help.net/go/?http://localhost/kod.php?kod=$arResult['kod']
Уважаемые спецы, если не сложно проверьте код
<?php
$db_name="shiti"; //база данных
$table="shiti"; //таблица
$link=@mysql_connect("localhost","root") or die ("Подключиться невозможно");
mysql_query('SET NAMES utf8') or die(mysql_error());
$db=@mysql_select_db( $db_name,$link) or die ("Подключиться невозможно");
$result=mysql_query("SELECT kod,adress FROM $table limit 0,20")
or die(mysql_errno($link).mysql_error($link));
?>
// Переменная хранит число позиций выводимых на странице
$num = 20;
// Извлекаем из URL текущую страницу
$page = isset($_GET['page']) ? $_GET['page'] : 1;
// Определяем общее число позиций в базе данных
$result = mysql_query("SELECT COUNT(*) FROM shiti");
$result = mysql_fetch_row($result);
// Находим общее число страниц
$total = intval(($result[0]-1)/$num)+1;
// Определяем начало позиций для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная c какого номера
// следует выводить позиции
$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
$result = mysql_query("SELECT * FROM shiti LIMIT $start,$num");
// В цикле переносим результаты запроса в массив
$i = 0;
while ($arResult = mysql_fetch_array($result)):
$i++;
?>
<tr><td>
<a href="kod.php?kod=$arResult['kod']">
<?=$arResult['kod'];?></a> </td>
<td> <?=$arResult['adress'];?></td>
</tr>
<?endwhile;?>
</table>
<?php
// Проверяем нужны ли стрелки назад
if ($page!=1) $pervpage='<a title="В начало" class="1" href="http://localhost/shiti.php?page=1"><<</a>
<a class="1" href="http://localhost//shiti.php?page='.($page-1).'"><Предыдущая</a>';
// Проверяем нужны ли стрелки вперед
if ($page!=$total) $nextpage =' <a class="1" href="http://localhost/shiti.php?page='.($page + 1).'">Далее></a>
<a title="В конец" class="1" href="http://localhost//shiti.php?page='.$total.'">>></a>';
// Находим две ближайшие страницы с обоих краев, если они есть
if($page - 2 > 0) $page2left = ' <a class="1" href="http://localhost/shiti.php?page='. ($page - 2) .'">'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a class="1" href="http://localhost/shiti.php?page='. ($page - 1) .'">'. ($page - 1) .'</a> | ';
if($page + 2 <= $total) $page2right = ' | <a class="1" href="http://localhost/shiti.php?page='. ($page + 2) .'">'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a class="1" href="http://localhost/shiti.php?page='. ($page + 1) .'">'. ($page + 1) .'</a>';
// Вывод меню
echo $pervpage.$page2left.$page1left.'<b>['.$page.']</b>'.$page1right.$page2right.$nextpage;
?>

Автор: gid 16.4.2008, 17:56

Возможно поможет.
Замените

Код
<tr><td>
<a href="kod.php?kod=$arResult['kod']">
<?=$arResult['kod'];?></a> </td>
<td> <?=$arResult['adress'];?></td>
</tr>
<?endwhile;?>
</table>


на

Код
<tr><td>
<a href="kod.php?kod=<?=$arResult['kod']?>">
<?=$arResult['kod'];?></a> </td>
<td> <?=$arResult['adress'];?></td>
</tr>
<?endwhile;?>
</table>

Автор: Veto-Irina 17.4.2008, 11:33

Цитата(gid @ 16.4.2008, 18:56) *

Возможно поможет.
Замените
на

Код
<tr><td>
<a href="kod.php?kod=<?=$arResult['kod']?>">
<?=$arResult['kod'];?></a> </td>
<td> <?=$arResult['adress'];?></td>
</tr>
<?endwhile;?>
</table>


unsure.gif Вы знаете,после того как поменяла мне таблица вообще не вывелась, пустая страница

Автор: gid 17.4.2008, 12:03

Извиняюсь, точку с запятой забыл. Попробуйте так:

Код
<tr><td>
<a href="kod.php?kod=<?=$arResult['kod'];?>">
<?=$arResult['kod'];?></a> </td>
<td> <?=$arResult['adress'];?></td>
</tr>
<?endwhile;?>
</table>

Автор: Veto-Irina 17.4.2008, 14:08

Спасибо большое rolleyes.gif , все выводит, только в файле kod.php значения не подставляются выводиться- Код" не найден. Если Вам не сильно трудно посмотрите пожалуйста код. Вообще раньше у меня это работало но неудачная навигация была, когда я ее переделала вот такие проблемы вылезли.

Код

<?php
mysql_connect('localhost', 'root') OR die('Никак');
mysql_select_db('shiti') OR die ('Никак');
if ( !isset($_GET["kod"]) || !$_GET["kod"]) die('Никак');
$adress = mysql_escape_string($_GET["kod"]);
$result = mysql_query("select kod,adress,photo from shiti WHERE kod = '$kod'");
if ($row = mysql_fetch_row($result)) {
echo "<div align=\"center\">";
echo "<p>Код:$row[0] </p>";
echo "<p>Адрес:$row[1] </p>";  
  echo "<img src='$row[2]'>";
echo '</div>';
} else {
echo "<p>Код '$kod' не найден</p>";
}
?>

Автор: Veto-Irina 17.4.2008, 17:21

Цитата(Veto-Irina @ 17.4.2008, 15:08) *

Спасибо большое rolleyes.gif , все выводит, только в файле kod.php значения не подставляются выводиться- Код" не найден. Если Вам не сильно трудно посмотрите пожалуйста код. Вообще раньше у меня это работало но неудачная навигация была, когда я ее переделала вот такие проблемы вылезли.
Код

<?php
mysql_connect('localhost', 'root') OR die('Никак');
mysql_select_db('shiti') OR die ('Никак');
if ( !isset($_GET["kod"]) || !$_GET["kod"]) die('Никак');
$adress = mysql_escape_string($_GET["kod"]);
$result = mysql_query("select kod,adress,photo from shiti WHERE kod = '$kod'");
if ($row = mysql_fetch_row($result)) {
echo "<div align=\"center\">";
echo "<p>Код:$row[0] </p>";
echo "<p>Адрес:$row[1] </p>";  
  echo "<img src='$row[2]'>";
echo '</div>';
} else {
echo "<p>Код '$kod' не найден</p>";
}
?>


Спасибо всем, я исправила уже ошибку, пока помощь не нужна

Invision Power Board ()
© Invision Power Services ()