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

Форум PHP

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

 

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

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

тема: Задача PHP+MySQL (оптимизация)
 
 автор: MakAst   (18.10.2010 в 11:59)   письмо автору
 
 

задание
> Имеется некая таблица 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 забиваются константы для базы

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

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