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

Форум PHP

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

 

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

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

тема: Выпадающие списки (select) для выбора времени с запоминанием для каждого из посетителей
 
 автор: Sega063   (14.06.2011 в 21:45)   письмо автору
 
 

Всем доброго времени суток, я хочу сделать форму select, что бы пользователи могли в ней выбирать часы и минуты, подскажите пожалуйста как это сделать?только мне нужно что бы это выбранное время(значение) запоминалось к разному пользователю, не важно гость это или нет, Заранее спасибо

  Ответить  
 
 автор: cheops   (14.06.2011 в 22:18)   письмо автору
 
   для: Sega063   (14.06.2011 в 21:45)
 

Можно начать отталкиваться от следующего скрипта
<?php
  
// Иницируем сессию
  
session_start();
  
// Обработчик HTML-формы
  
if(!empty($_GET['hour']) && !empty($_GET['minute']))
  {
    
$_SESSION['hour'] = intval($_GET['hour']);
    
$_SESSION['minute'] = intval($_GET['minute']);
  }
  
// Если время не выбрано, устанавливаем текущее
  
if(!isset($_SESSION['hour'])) $_SESSION['hour'] = date("H");
  if(!isset(
$_SESSION['minute'])) $_SESSION['minute'] = date("i");
  
// Формируем форму выбора времени
  
$tag "<form metho='get'>";
  
$tag .= "<select title='Часы' name='hour'>";
  for(
$i 0$i <= 23$i++)
  {
    if(
$_SESSION['hour'] == $i$temp "selected='selected'";
    else 
$temp "";
    
$tag .= "<option value='$i$temp>".sprintf("%02d",$i)."</option>";
  }
  
$tag .= "</select>";
  
$tag .= "<select title='Минуты' name='minute'>";
  for(
$i 0$i <= 59$i++)
  {
    if(
$_SESSION['minute'] == $i$temp "selected='selected'";
    else 
$temp "";
    
$tag .= "<option value='$i$temp>".sprintf("%02d",$i)."</option>";
  }
  
$tag .= "</select>";
  
$tag .= "<input type='submit' value='Установить' />";
  
$tag .= "</form>";
  echo 
$tag;
?>

  Ответить  
 
 автор: Sega063   (14.06.2011 в 23:59)   письмо автору
 
   для: cheops   (14.06.2011 в 22:18)
 

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

  Ответить  
 
 автор: cheops   (15.06.2011 в 00:17)   письмо автору
 
   для: Sega063   (14.06.2011 в 23:59)
 

Данные сохраняются в сессию (данные в сессии уникальны для каждого посетителя), извлечь их можно из переменных $_SESSION['hour'] и $_SESSION['minute'] (часы и минуты, соответственно).

  Ответить  
 
 автор: Sega063   (15.06.2011 в 00:27)   письмо автору
 
   для: cheops   (15.06.2011 в 00:17)
 

я добавил эту форму на сайт, и уменя вылезла ошибка

Fatal error: Smarty error: [in Z:\home\magazin.ru\www/themes/prestashop/./order-formtime.tpl line 7]: syntax error: unrecognized tag: $_SESSION['hour'] = intval($_GET['hour']); $_SESSION['minute'] = intval($_GET['minute']); (Smarty_Compiler.class.php, line 446) in Z:\home\magazin.ru\www\tools\smarty\Smarty.class.php on line 1095

  Ответить  
 
 автор: cheops   (15.06.2011 в 00:43)   письмо автору
 
   для: Sega063   (15.06.2011 в 00:27)
 

Хм... а вы куда этот фрагмент подставили? Вообще говоря он спроектирован для автономного выполнения, для smarty вам его придется адаптировать.

  Ответить  
 
 автор: Sega063   (15.06.2011 в 00:55)   письмо автору
 
   для: cheops   (15.06.2011 в 00:43)
 

а вы не могли бы мне подсказать, как его адаптировать под smarty? вот у меня с этим то вся и загвоздка получается

  Ответить  
 
 автор: Sega063   (15.06.2011 в 00:58)   письмо автору
79.5 Кб
 
   для: Sega063   (15.06.2011 в 00:55)
 

Вот примерно так хочу сделать, прикрепил файл с изображением

  Ответить  
 
 автор: Гость   (15.06.2011 в 06:59)   письмо автору
 
   для: Sega063   (15.06.2011 в 00:58)
 

Вам нужно
1) Вставить в шаблон форму для выбора времени и даты
2) После заполнения формы сохранить время с датой в информацию о заказе
3) В админке добавить вывод этого самого времени (или где вы управляете заказами).

Вот вам примерный план.

  Ответить  
 
 автор: Sega063   (15.06.2011 в 09:07)   письмо автору
 
   для: Гость   (15.06.2011 в 06:59)
 

Про план тто я понимаю, у меня загвоздка в том, что бы засавить форму сохранять время

  Ответить  
 
 автор: Гость   (15.06.2011 в 09:24)   письмо автору
 
   для: Sega063   (15.06.2011 в 09:07)
 

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

  Ответить  
 
 автор: Sega063   (15.06.2011 в 22:26)   письмо автору
 
   для: Гость   (15.06.2011 в 09:24)
 

вот я не знаю какие переменные и как и куда там вставлять,у меня серьёзные пробелы в знаниях)) вы не могли бы подсказать где этот пробел можно восполнить, есть ли такая статья по переменным или учёбник?

  Ответить  
 
 автор: Гость   (16.06.2011 в 12:01)   письмо автору
 
   для: Sega063   (15.06.2011 в 22:26)
 

Если вы действительно хотите изучить язык и разобраться как это работает то http://softtime.ru/php5/?id_article=117 вам в помощь. Но если у вас это единичный случай - возможно проще нанять какого-нибудь фрилансера, который добавит вам необходим функционал.

Тут еще на мой взгляд проблема в том что помимо того что бы разобраться в самом языке вам потребуется еще разобраться со smarty и структурой движка вашего магазина. С другой стороны - если вы хотите изучить язык- то почему бы и нет?

  Ответить  
Rambler's Top100
вверх

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