Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 2 3 [4] 5   Вниз
  Печать  
Автор Тема: Скрипт формы записи на прием  (Прочитано 166305 раз)
0 Пользователей и 19 Гостей смотрят эту тему.
INOY
Постоялец

ru
Offline Offline

« Ответ #90 : 21-04-2010 06:56 » 

если интересно, то вот сайт для которого это все делается, простой, без заморочек, его основная цель и есть автоматизация онлайн записи на прием, дабы хоть немного разгрузить телефонисток, которые работают в центре.
ссылка cz.newtob.ru
« Последнее редактирование: 21-04-2010 07:02 от Sla » Записан
INOY
Постоялец

ru
Offline Offline

« Ответ #91 : 21-04-2010 07:14 » 

Значит форма есть, не занятое время в бд записывается, занятое-незаписывается,..
Логически мысля(на сколько это возможно, т.к. в голове одни функции , переменные, теги..), нужно организовать запись в бд свободного времени.. но как это зделать? получится что время уже занято.. может нужно создать новую таблицу, в которую бы записывалась информация о свободном времени, а из нее в свою очередь бралась бы информация для элементов выбора в форме?? чет я запутался.. Здесь была моя ладья...
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #92 : 21-04-2010 07:29 » 

знаешь сколько тебе еще делать и думать?

Вот приблизительный план
1. Определяешься с промежутком времени (неделя, месяц)
2. Пишешь обработчик события onchage на селекте ввода даты и ajax-ом получаешь данные о не занятом времени
2.а не забываешь, что в субботу у тебя время работы укорочено (а в воскресенье?)

Ввод дата оставляй такой какой есть сейчас, это удобно для пользователей) и храни дату не в формате date, а в формате varchar.
Формат хранения  времени приема - тоже строковый.

Изменение формата хранения данных избавит тебя от функций преобразования строк в дату и время.

И тогда это будет законченный продукт.


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

« Последнее редактирование: 21-04-2010 07:32 от Sla » Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
INOY
Постоялец

ru
Offline Offline

« Ответ #93 : 21-04-2010 07:39 » 


1. Определяешься с промежутком времени (неделя, месяц)
2. Пишешь обработчик события onchage на селекте ввода даты и ajax-ом получаешь данные о не занятом времени
2.а не забываешь, что в субботу у тебя время работы укорочено (а в воскресенье?)


Чет или я не пойму, или вам не правильно обьяснил.. зачем мне промежуток времени и все остальное, если у меня есть конкретные данные, что например, свободно в понедельник  в 8:00 и в четверг в 13:00.
Извиняюсь , если задаю глупые вопросы..
Записан
INOY
Постоялец

ru
Offline Offline

« Ответ #94 : 21-04-2010 07:43 » 

+ ко всему, скрипт или записи в бд, не сможет править администратор сам, без какой либо специальной формы,или упрощеной процедуры.
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #95 : 21-04-2010 08:09 » 

INOY, давай так.

01/01/2010 у тебя свободно время 08:00 и 13:00
02/01/2010 - 09:00 и 12:00
03/01/2010 - 09:00 11:00 13:00

Как ты сделаешь выбор времени, по какому критерию?
Т.е. тебе нужно будет передавать данные о всем промежутке - а это большой трафик. и ненужная информация

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

ФИО
Выбор даты
Отправить

Фио (readonly)
Дата (readonly)
Время (полученное из базы и незанятое)

Получаем занятое время

select time from script
where data=введенная_ дата

Формируем возможные значения времени в массив_времени, с учетом субботы

$maxH=19;
if (веденная_дата == суббота) {$maxH = 15;}
$i=0; $m = 0;
for ($h=8; $h<maxH;$h++){
$ti = $h.':'.$m;
Ищем вхождение $ti в массив_времени
Если вхождения нет {$t_out[$i]=$ti;}
}
$ti нужно формировать с учетом лидирующего нуля.
и т.д.



Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #96 : 21-04-2010 08:16 » new

+ ко всему, скрипт или записи в бд, не сможет править администратор сам, без какой либо специальной формы,или упрощеной процедуры.


Ну... это ты уже сам... доделаешь.

Как вариант, для первого запуска.
Создаешь таблицу
ID Фио Дата Время Отметка
Заполняешь таблицу на определенный промежуток дат
01/01/2010 08:00
и т.д.
Поля ФИО и Отметка оставляешь не заполненными (или отметка 0)

при появлении записи на прием
update соответствующих полей ФИО и Отметка  (например 1)

Выбираешь незанятое время
select * from TABLE
where отметка=0

Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
INOY
Постоялец

ru
Offline Offline

« Ответ #97 : 21-04-2010 11:03 » 

Буду думать..
Записан
INOY
Постоялец

ru
Offline Offline

« Ответ #98 : 21-04-2010 13:00 » 

А можно ли сделать так, не в конкретно моем случае, а вообще?

<label>Выберите день</label>
<select name="data" id="data">
<option>результат запроса (select data from TABLE where отметка=0)</option>

как результат поместить в <option>?
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #99 : 21-04-2010 13:06 » 

INOY, НЕЛЬЗЯ.

Запрос выполняется на сервере, а не на клиентской машине.

достучаться до результат запроса ($result) можно через функции mysql_fetch

Включай мозги. Ведь ты уже многое сделал.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
INOY
Постоялец

ru
Offline Offline

« Ответ #100 : 21-04-2010 13:08 » 

INOY, НЕЛЬЗЯ.

Запрос выполняется на сервере, а не на клиентской машине.

достучаться до результат запроса ($result) можно через функции mysql_fetch

Включай мозги. Ведь ты уже многое сделал.
Видимо перегрел мозги то.. Я зол!
Записан
INOY
Постоялец

ru
Offline Offline

« Ответ #101 : 22-04-2010 07:06 » 

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

<option>Время (полученное из базы и незанятое)<option>.. я запутался совсем.
Сроки поджимают а у мня еще ниче нет. хочу упростить все до максимума.

Есть такая задумка:
Форма 1:
Вы можете записаться на прием, заполнив несложную форму:
Записаться
// нажимаем send, попадаем в форму 2)

Форма 2:

//Выполняется подключение к бд,отсылается запрос незанятого времени

введите имя(.....)

выберите время<option>незанятое время 1<option>
<option>незанятое время 2<option>
( время хронится в базе как "17 марта 13:00", "17 марта 14:00""18 марта 12:00") чтоб не париться с
Цитата
Формируем возможные значения времени в массив_времени, с учетом субботы

$maxH=19;
if (веденная_дата == суббота) {$maxH = 15;}
$i=0; $m = 0;
for ($h=8; $h<maxH;$h++){
$ti = $h.':'.$m;
Ищем вхождение $ti в массив_времени
Если вхождения нет {$t_out[$i]=$ti;}
}
$ti нужно формировать с учетом лидирующего нуля.
и т.д.
Отправить
// нажимаем send_2, и отправляем введенные fio  и время на емайл.


Реально??? или я опять туплю?
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #102 : 22-04-2010 07:15 » 

рисуй две формы

1. Выбор Даты
<form action='zapis.php>
<select name="data">....
<input type="submit" ....


2. ФИО и время
<form action='zapis2.php>
<input fio>
<input data readonly
<input time
<input submit

3. zapis.php
выбираешь не занятое время и заполняешь option временем

4. zapis2.php
записываешь  данные

Делов на 1 час.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
INOY
Постоялец

ru
Offline Offline

« Ответ #103 : 22-04-2010 08:24 » 

Допустим таким запросом я извлекаю из таблицы, некоторое множество данных, где отметка=0
Код:
 $query = "select data from my_table 
where otm is null;";

   $result = mysql_query($query);
 
   $record = mysql_fetch_array($result);
Как сделать так что бы в <option> данные сортировались по id?
Сейчас у меня, что и естественно , везде одни и теже значения
Код:
 
<option><?php echo "$record[data]";?></option>                  // дата с отметкой=0, id= 7
<option><?php echo "$record[data]";?></option>                 // дата с отметкой=0, id= 9
<option><?php echo "$record[data]";?></option>                // дата с отметкой=0, id= 15
<option><?php echo "$record[data]";?></option>               // дата с отметкой=0, id= 16
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #104 : 22-04-2010 08:32 » 

$query = "select data from my_table
where otm is null
order by id;";
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
INOY
Постоялец

ru
Offline Offline

« Ответ #105 : 22-04-2010 09:01 » 

Код:
<?php
$link 
mysql_connect("localhost""webtob""xxxxx") or die("not connect");//соеденились
   
mysql_select_db(&#39;script&#39;, $link) or die (&#39;not sucesful&#39;);
   
$query "select data from my_table 
where otm is null
order by id;"
;
//результат записан в $result
   
$result mysql_query($query);
  
   
$record mysql_fetch_array($result);
   echo 
"&#39;$record[data]&#39;"
   
?>



<html>
<head>
<title>TEST</title>
</head>
<body>
<form action="" method="post">
<label>Ваше имя</label>
<input name="fio" id="fio" type="text" size="24" /><br />
<label>Выберите день</label>
<select name="data" id="data">
<option><?php echo "$record[data]";?></option>
<option><?php echo "$record[data]";?></option>
<option><?php echo "$record[data]";?></option>
<option><?php echo "$record[data]";?></option>
</select>
<br />
<label>Выберите время</label>
<select name="time" id="time">
<option>08:00:00</option>
<option>09:00:00</option>
<option>13:00:00</option>
<option>14:00:00</option>
</select>
<br/>
<input type="submit" id="send" name="send" value="Отправить"><INPUT type="reset" value="Сбросить">
</form>
</body>

 показывает также, одни и теже даты ..Где загвоздка?  если пхп скрипт переношу в send.php, то вообще ничего не получается..
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #106 : 22-04-2010 09:06 » 

INOY, ты документацию читаешь?
примеры смотришь?
Цитата
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf("ID: %s  Name: %s", $row[0], $row[1]);  
}
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
INOY
Постоялец

ru
Offline Offline

« Ответ #107 : 26-04-2010 12:06 » 

Sla, выражаю Вам огромную благодарность, за помощь в создании формы!
 У меня всё получилось,но если бы не Ваша помощь , пришлось бы заказывать на Фрилансе.
Не знаю что еще сказать.. Говорю просто ОГРОМНОЕ СПАСИБО !!!
Записан
tomsoyar
Новенький

ru
Offline Offline

« Ответ #108 : 27-03-2012 18:50 » 

Sla, выражаю Вам огромную благодарность, за помощь в создании формы!
 У меня всё получилось,но если бы не Ваша помощь , пришлось бы заказывать на Фрилансе.
Не знаю что еще сказать.. Говорю просто ОГРОМНОЕ СПАСИБО !!!



а сможешь скинуть готовый скрипт (если не жалко конечно), а то я читаю читаю, и не фига не понимаю)))
если что то мой адрес tom--soier@mail.ru
ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО!!!
Записан
dubovik
Интересующийся

ru
Offline Offline

« Ответ #109 : 14-06-2012 13:24 » 

Можешь скинуть скриптик (если не жалко) на nekit-1994@mail.ru
Спасибо !!!!!!!
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #110 : 14-06-2012 14:35 » 

Могу, но не кину.
Есть вопросы? Welcome!
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
dubovik
Интересующийся

ru
Offline Offline

« Ответ #111 : 14-06-2012 17:14 » 

УХ, Как грубо !!!
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #112 : 14-06-2012 17:30 » 

dubovik, где грубо? Халявщиков не терпим. Желающие получить помощь работают сами.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #113 : 14-06-2012 17:38 » 

автору поста понадобилось всего лишь 9 дней.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
dubovik
Интересующийся

ru
Offline Offline

« Ответ #114 : 14-06-2012 18:06 » 

Sla, я с таблицами запутался !!!!
мне бы тогда структуру базы просто на словах...
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #115 : 14-06-2012 18:19 » 

На данный момент, структура таблицы и базы не важны.
Сначала нужно увидеть сущности.
Форма ввода определит структуру БД
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
dubovik
Интересующийся

ru
Offline Offline

« Ответ #116 : 14-06-2012 18:28 » 

Я должен брать форму в https://forum.shelek.ru/index.php/topic,24151.msg232724.html#msg232724

Добавлено через 6 минут и 20 секунд:
Не понял
« Последнее редактирование: 14-06-2012 18:35 от dubovik » Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #117 : 14-06-2012 18:48 » 

Наверное Улыбаюсь
Давай начнем с самого начала.
Постановка задачи : создать систему записи на прием к врачу.
Исходные данные :

Пациент
Врач
Дата
Время


Предварительное решение

Клиентская часть:
Форма записи
Серверная часть:
Обработчик формы.

Я прошу пока Показать
Форму записи
или,  даже более желательно, описать действия при записи на прием.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
dubovik
Интересующийся

ru
Offline Offline

« Ответ #118 : 14-06-2012 19:13 » 

Человек заходит на страницу регистратуры, выбирает врача, выбирает СВОБОДНОЕ время и дату, и записывается на прием

Добавлено через 2 минуты и 12 секунд:
А, человек вводит свои личные данные....

Как сделать интерфейс, чтоб каждый врач видет своих пациентов на сегодня Не понял
« Последнее редактирование: 14-06-2012 19:15 от dubovik » Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #119 : 14-06-2012 19:18 » 

Человек заходит на страницу регистратуры, выбирает врача, выбирает СВОБОДНОЕ время и дату, и записывается на прием
Нет понятия человека Улыбаюсь

Есть пользователь Улыбаюсь

1.Пользователь заходит на страницу ФОРМЫ записи
2. РЕГИСТРИРУЕТ (себя или кого-то) суть не меняется.
3. ВЫБИРАЕТ врача
4. ОТПРАВЛЯЕТ данные (записывается на прием)

Вот приблизительно таких ответов я хочу от тебя.

Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Страниц: 1 2 3 [4] 5   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines