|
|
|
| задание
> Имеется некая таблица MySQL в которой есть некие записи, пусть это
> будет таблица "контакты". Имеется ряд операторов, которые работают с
> этой таблицей, им постоянно автоматически выбирается свободный контакт
> из таблицы "контакты".
>
> У каждого контакта есть статусы
> 0 - этому контакту мы еще не звонили
> 1 - контакт закрыт
> 2 - занято
> 3 - нет ответа
> 4 - просили перезвонить
> 5 - отказ от разговора.
>
> Итак, интересует реализация скрипта работы операторов, чтобы им
> постоянно выдавался контакт, который свободен на данный момент. Причем
> не должна произойти ситуация захвата одного контакта двумя операторами
> за один сеанс работы.
Решение было такое:
Суть:
- Есть Таблица с полями
id_contacts - порядковый номер(ключ)
name_c - Имя контакта
status_4_oper - статус контакта для оператора
status_4_skript - его статус для скрипта (bool - где 0 - запись свободна для отображения, 1 - запись занята (отображается другому оператору)
Код:
<?php
//подключаемся к mysql БД
mysql_connect("localhost", "first", "first") or die("невозможно подключится к серверу"); //возвращает тип ресурс
mysql_select_db("contakts") or die("невозможно подключится к БД");
//выполняем запрос и заполняем таблицу
//проверяем нажата ли кнопка "следующий"
if (isset($_POST['next_btn'])) {
echo $_POST['status_4_oper'];
$id = $_POST['id_old'];
$s4o = $_POST['status_4_oper'];
$sql_up_2 = "UPDATE contacts
SET status_4_skript = 0,
status_4_oper = $s4o
WHERE id_contacts = $id;";
mysql_query($sql_up_2);
//echo $line['id_contacts'];
}
//запрос на вывод данных
$sql_sel = "SELECT name_c, id_contacts FROM contacts
WHERE status_4_oper = 0 AND status_4_skript = 0;";
$result = mysql_query($sql_sel);
$line = mysql_fetch_array($result);
//меняем ключ на занято
$id = $line['id_contacts'];
$sql_up_1 = "UPDATE contacts
SET status_4_skript = 1
WHERE id_contacts = $id;";
mysql_query($sql_up_1);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<form name="cont" method="POST" action="index.php">
<table align="center" width="60%" border="1" >
<tr>
<td width="50%">
<?php echo $line['name_c']; ?>
</td>
<td>
<select name="status_4_oper">
<option value="0">не звонили</option>
<option value="1">контакт закрыт</option>
<option value="2">занято</option>
<option value="3">нет ответа</option>
<option value="4">просили перезвонить</option>
<option value="5">отказ от разговора</option>
</select>
</td>
<td>
<input type="submit" name="next_btn" value="Следующий"/>
<input type="hidden" name="id_old" value="<?php echo $line['id_contacts']; ?>"
</td>
</tr>
</table>
</form>
<?php
// таблица ( показывающая имя контакта свободного контакта + поле позволяющее менять занчение статуса
// скрипт должен искать в таблице контакт со значением поля status_4_oper = 0 ( не звонили ) +
// проверять значение status_4_skript = 0 +
// менять значение найденного контакта status_4_skript = 1
// put your code here
$t = array('<a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a> ');
echo $t;
?>
</body>
</html>
|
и есть такое сообщение от человека работующего программером -
там просто через define забиваются константы для базы | |
|
|