3
« : 21 Марта 2006, 13:20:19 »
Вопрос таков.
ДБ Mysql 3.23.58
Имеется исходная "raw" таблица с номерами телефонов 68 столбцов.
Имеется таблица с номерами конференционных телефонов, 2 столбца.
id, conf.
Цель создать таблицу, где будут исключены номера конференционных телефонов.
$query_raw = "SELECT globalCallID_callId, callingPartyNumber, originalCalledPartyNumber, lastRedirectDn, dateTimeConnect, dateTimeDisconnect, duration, origDeviceName FROM cdr_log_raw ORDER BY globalCallID_callId";
$result_raw = mysql_query($query_raw);
while ($row_raw = mysql_fetch_array($result_raw))
{
if($row_raw[0] > "0" && $row_raw[6] > "0" && $row_raw[7] != "\\"ccm-voice\\"")
{
$row_raw[0] = eregi_replace(\'"\', \'\', $row_raw[0]); //globalCallID_callId - порядковый номер звонка
$row_raw[1] = eregi_replace(\'"\', \'\', $row_raw[1]); //callingPartyNumber - Номер А
$row_raw[2] = eregi_replace(\'"\', \'\', $row_raw[2]); //originalCalledPartyNumber - Номер В
$row_raw[3] = eregi_replace(\'"\', \'\', $row_raw[3]); //lastRedirectDn - Последняя переадресация
$row_raw[4] = eregi_replace(\'"\', \'\', $row_raw[4]); //dateTimeConnect - Начало разговора
$row_raw[5] = eregi_replace(\'"\', \'\', $row_raw[5]); //dateTimeDisconnect - Окончание разговора
$row_raw[6] = eregi_replace(\'"\', \'\', $row_raw[6]); //duration - Длительность разговора
$row_raw[7] = eregi_replace(\'"\', \'\', $row_raw[7]); //origDeviceName - MAC адрес клиента
$row_raw[7] = eregi_replace(\'SEP\', \'\', $row_raw[7]); //origDeviceName - MAC адрес клиента
if ($row_raw[3] != 1111 && $row_raw[3] != 2222 && $row_raw[3] != 3333 && $row_raw[3] != 4444 && $row_raw[3] != 5555) //НОМЕРА КОНФЕРЕНЦИЙ!!!
{
$query_agr="INSERT IGNORE INTO cdr_log_agr VALUES (\'\', \'".$row_raw[0]."\', \'".$row_raw[1]."\', \'".$row_raw[2]."\', \'".$row_raw[3]."\', \'".$row_raw[4]."\', \'".$row_raw[5]."\', \'".$row_raw[6]."\', \'".$row_raw[7]."\', \'0\')";
$result_agr=mysql_query($query_agr) or die ("not insert")."\\n";
}
}
}
Этот код рабочий. Тут конференционные номера железно прибиты. Но при увеличении количества номеров придётся переписывать файл.
Подскажите плиз в каком направлении двигатся? Как исключать конференционные номера при вставке в таблицу?