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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Извлечь имя кнопки из таблицы базы данных

Сообщения:  [1-10]    [11-20]  [21-22] 

 
 автор: alexey   (26.04.2011 в 13:48)   письмо автору
 
   для: cheops   (26.04.2011 в 13:38)
 

Спасибо большое! Попробую

  Ответить  
 
 автор: 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:22)   письмо автору
 
   для: alexey   (26.04.2011 в 13:21)
 

Исчезает результат - плохо. Если возможно, что после нажатия на кнопку, результат выводился и не исчезал, а кнопка исчезала - очень хорошо

  Ответить  
 
 автор: alexey   (26.04.2011 в 13:21)   письмо автору
 
   для: cheops   (26.04.2011 в 13:15)
 

Исчезает результат. А если и кнопка будет исчезать то это счастье

  Ответить  
 
 автор: cheops   (26.04.2011 в 13:15)   письмо автору
 
   для: alexey   (26.04.2011 в 13:10)
 

Не очень понятно, исчезает кнопка или результат предыдущего нажатия на кнопку, который вы выводите при помощи следующей строки?
echo mysql_result($result, 0);

  Ответить  
 
 автор: alexey   (26.04.2011 в 13:14)   письмо автору
 
   для: alexey   (26.04.2011 в 13:10)
 

Проблему можно решить выпадающим списком, но это не удобно. Люди же любят щелкать по кнопкам

  Ответить  
 
 автор: 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);
}
}
?>
Только после нажатия на следущую кнопку значения предыдущей исчезает, а надо что бы оставалось и мало того сохранялось при переходе на другую страницу

  Ответить  
 
 автор: cheops   (26.04.2011 в 12:57)   письмо автору
 
   для: alexey   (26.04.2011 в 12:55)
 

А вот этот обработчик он в какой файле расположен? В том же, что и 10 кнопок? Что если его разместить на той же странице, где и форма с кнопками, тогда нажатие на кнопку будет вести на эту же страницу и кнопки будут отображаться и результат, выдаваемый обработчиком?

  Ответить  
 
 автор: alexey   (26.04.2011 в 12:55)   письмо автору
 
   для: 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="первая"> не исчезал вывод предыдущей кнопки.

  Ответить  
 
 автор: cheops   (26.04.2011 в 12:49)   письмо автору
 
   для: alexey   (26.04.2011 в 12:48)
 

Я думаю, что-нибудь подходящее придумаем, просто нужно больше подробностей о вашей задаче и окружении (где, что хранится, откуда брать, может даже какой-нибудь конкретный пример можно разобрать (кнопка1, кнопка2 и т.п.), чтобы остальное делать по аналогии).

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-22] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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