webew
Войти » Регистрация
 
PHP

кнопки "назад вперёд"

9 января 2010, 23:55
Автор: Pegas
Здравствуйте! Вопрос состоит в следующем. На странице есть текст загадки и кнопки "вперёд и назад". Нужно по нажатии кнопки вперёд заменить текст загадки следующей загадкой. Базу данных я создал называется Zagadki, там 3 поля (ID, Vopros, Otvet).
Вот сам запрос, который должен переходить на следующую загадку.
<?php

session_start();
include ('mysql.php');
if (isset($_GET['next']))
             {
        // нужна следующая загадка
        $query = "SELECT * FROM `zagadki` WHERE `id` > '$_SESSION[id_zag]' LIMIT 1";
    }
$sql = mysql_query($query) or die(mysql_error());
    // если есть
    if (mysql_num_rows($sql) == 1)
    {
        $row = mysql_fetch_assoc($sql);
        $id_zag_new = $row['id'];
        $zagadka = $row['vopros'];
        $otvet = $row['otvet'];
        print '<h3>Загадка ' . $id_zag_new . ' <br>  ' . $zagadka . ' <br> ' . $otvet . '</h3>';
    }
?>

Если просто открываю файл в браузере (Денвером), показывает нужную запись, а если по нажатии кнопки
<a href="buttons_next?next.php"><img src="Imgs/vpered.png" width="119" height="58"  
longdesc="buttons_next?next.php" /></a>

Ошибку выдаёт, в Денвере пишет что такой файл не найден.
В чём проблема подскажите пожалуйста.
Добавить комментарий
Отображение комментариев: Древовидное | Плоское
NO USERPIC

Pegas

вопрос с ошибкой снимается, я там не правильно кнопку написал.
После нажатия на кнопку я попадаю на страницу запроса, а мне надо остаться на той же странице, только загадку поменять.
10.01.2010, 00:36
Ответить

bur

Про AJAX слышали? Воспользуйтесь асинхронным запросом на сервер, чтобы не уходить со страницы.
11.01.2010, 11:26
Ответить
NO USERPIC

Pegas

Сейчас выглядит так, вроде переходит на следующую загадку, но при возврате на страницу zagadki загадка осталась та же. Не обновляет загадку.

<?php

session_start();
include ('mysql.php');
global $id_zag;
function Draw_zagadka()
{
global $id_zag;
// делаем запрос к БД
// и ищем загадку

$query = "SELECT *
FROM `zagadki`
WHERE `id` > '$id_zag'
ORDER BY `id`
LIMIT 1";

$sql = mysql_query($query) or die(mysql_error());

// если есть
if (mysql_num_rows($sql) == 1)
{
// то мы ставим об этом метку в сессии

$row = mysql_fetch_assoc($sql);
$id_zag = $row['id'];
$zagadka = $row['vopros'];
$otvet = $row['otvet'];

$_SESSION[$id_zag] = $id_zag;

print '<h3>Загадка ' . $id_zag . ' <br> ' . $zagadka . ' <br> ' . $otvet . '</h3>';

echo 'id выводимой загадки - ' . $id_zag . '. Её и будем выводить';
}
}

if (isset($_GET['next']))
{
// $id_zag_new = $_SESSION[$id_zag];
// print '<h3>Загадка ' . $id_zag . ' <br></h3>';
// нужна следующая загадка
$query = "SELECT *
FROM `zagadki`
WHERE `id` > '$id_zag'
ORDER BY `id`
LIMIT 1";
$sql = mysql_query($query) or die(mysql_error());
// если есть
if (mysql_num_rows($sql) == 1)
{
$row = mysql_fetch_assoc($sql);
$id_zag = $row['id'];
$zagadka = $row['vopros'];
$otvet = $row['otvet'];
// echo '<h3>Загадка ' . $id_zag . ' <br> ' . $zagadka . ' <br> ' . $otvet . '</h3>';
}
Draw_zagadka();
?>
<script type="text/javascript">
window.location = "zagadki.php"
</script>
<?

}

?>

Если можно обойтись без Аякса, подскажите пожалуйста другой метод просто на php, а то я вобще запутаюсь.
11.01.2010, 12:50
Ответить

1234ru

не buttons_next?next.php, а buttons_next.php?next
то, что после знака вопроса - это имя ключа массива $_GET
То, что не убивает нас, делает нас инвалидами.
14.01.2010, 01:20
Ответить
© 2008—2017 webew.ru, связаться: x собака webew.ru
Сайт использует Flede и соответствует стандартам WAI-WCAG 1.0 на уровне A.
Rambler's Top100

Реклама: