|
|
|
|
|
для: cheops
(26.04.2011 в 13:38)
| | Спасибо большое! Попробую | |
|
|
|
|
|
|
|
для: alexey
(26.04.2011 в 13:21)
| | Давайте возьмем облегченный пример, который вы в дальнейшем сможете использовать как каркас. А саму задачу разобъем на три этапа (1. обработка нажатия кнопок и запоминание их номеров, 2. вывод формы без нажатых кнопок, 3. вывод результатов нажатия на кнопки, которые мы ранее запомнили). Ниже приводится скрипт, от которого можно отталкиваться.
<?php
// Инициируем сессию
session_start();
if(!isset($_SESSION['buttons'])) $_SESSION['buttons'] = array();
// 1. Определяем не нажата ли кнопка
if(!empty($_POST))
{
for($i = 1; $i < 11; $i++)
{
if(!empty($_POST[$i]))
{
// Обнаруживаем нажатие кнопки, запоминаем,
// что она нажата в сессии
$_SESSION['buttons'][] = $i;
// Покидаем цикл
header("Location: index.php");
exit;
}
}
}
// 2. Форма
echo "<form method='post'>";
for($i = 1; $i < 11; $i++)
{
// Выводим только ненажатые кнопки
if(!in_array($i, $_SESSION['buttons']))
{
echo "<input type='submit' name='$i' value='Кнопка N $i' />";
}
}
echo "</form>";
// 3. Выводим результаты нажатия кнопок
for($i = 0; $i < count($_SESSION['buttons']); $i++)
{
echo "Была нажата кнопка N ".$_SESSION['buttons'][$i]."<br />";
}
?>
|
| |
|
|
|
|
|
|
|
для: alexey
(26.04.2011 в 13:21)
| | Исчезает результат - плохо. Если возможно, что после нажатия на кнопку, результат выводился и не исчезал, а кнопка исчезала - очень хорошо | |
|
|
|
|
|
|
|
для: cheops
(26.04.2011 в 13:15)
| | Исчезает результат. А если и кнопка будет исчезать то это счастье | |
|
|
|
|
|
|
|
для: alexey
(26.04.2011 в 13:10)
| | Не очень понятно, исчезает кнопка или результат предыдущего нажатия на кнопку, который вы выводите при помощи следующей строки?
echo mysql_result($result, 0);
|
| |
|
|
|
|
|
|
|
для: alexey
(26.04.2011 в 13:10)
| | Проблему можно решить выпадающим списком, но это не удобно. Люди же любят щелкать по кнопкам | |
|
|
|
|
|
|
|
для: cheops
(26.04.2011 в 12:57)
| | У меня так и есть обработчик на этой же странице
<?php
foreach($_POST as $key => $value)
{
$key = intval($key);
if($key)
{
$query = "SELECT title FROM table
WHERE id = $key
LIMIT 1";
$result = mysql_query($query, $db);
if(!$result) exit("Ошибка выполнения запроса - ".mysql_error());
echo mysql_result($result, 0);
}
}
?>
Только после нажатия на следущую кнопку значения предыдущей исчезает, а надо что бы оставалось и мало того сохранялось при переходе на другую страницу | |
|
|
|
|
|
|
|
для: alexey
(26.04.2011 в 12:55)
| | А вот этот обработчик он в какой файле расположен? В том же, что и 10 кнопок? Что если его разместить на той же странице, где и форма с кнопками, тогда нажатие на кнопку будет вести на эту же страницу и кнопки будут отображаться и результат, выдаваемый обработчиком? | |
|
|
|
|
|
|
|
для: cheops
(26.04.2011 в 12:47)
| | 10 страниц на каждой по 10 кнопок. Кнопки видны сразу, после нажатия на определенную, например, <input name="1" type="submit" value="первая"> срабатывает
<?php
foreach($_POST as $key => $value)
{
$key = intval($key);
if($key)
{
$query = "SELECT title FROM table
WHERE id = $key
LIMIT 1";
$result = mysql_query($query, $db);
if(!$result) exit("Ошибка выполнения запроса - ".mysql_error());
echo mysql_result($result, 0);
}
}
?>
Нужно что бы после нажатия <input name="1" type="submit" value="первая"> не исчезал вывод предыдущей кнопки. | |
|
|
|
|
|
|
|
для: alexey
(26.04.2011 в 12:48)
| | Я думаю, что-нибудь подходящее придумаем, просто нужно больше подробностей о вашей задаче и окружении (где, что хранится, откуда брать, может даже какой-нибудь конкретный пример можно разобрать (кнопка1, кнопка2 и т.п.), чтобы остальное делать по аналогии). | |
|
|
|
|