2017-02-19 3 views
-1

Я сделал простой чат, и я хочу сделать, когда есть всего 5 сообщений (id), чат запустит таймер (5 секунд) и очистит все строки. Это то, что я сделал.Ясный чат после ввода нескольких идентификаторов

У меня есть это, чтобы проверить, если мы достигли 5 сообщений (идентификаторов)

if($handler->lastInsertId() == 5){ 
    clearchat_time(); 
} 

Я использовал «lastInsertId()», потому что я не знаю, как вызвать функцию для подсчета всех строк, поэтому я использую этот с проверкой идентификатора. Если вы знаете, как это сделать, это будет лучшим решением для меня.

Так ... что будет проверять и назвать это:

<script> 
function clearchat_time(){ 
    setInterval(count_chat_time, 5000); 
} 
function count_chat_time(){ 
    $sql = "TRUNCATE TABLE chat"; 
    $query = $handler->prepare($sql); 
    $query->execute(); 
} 
</script> 

ответ

0

Ваш вопрос не определяет версии PHP, JavaScript или SQL - так я предполагаю, что PHP из-за знаков доллара в вопрос (с некоторым беспокойством JavaScript относительно «< сценария » во второй части примера) и MySQL, поскольку это наиболее часто встречается с PHP в стеке LAMP. `

Использование идентификаторов автоматической вставки SQL в этом путь не может быть переносимым для других SQL, потенциально недостоверен, поскольку (given the various dialects of SQL) идентификаторы не являются guara чтобы всегда быть последовательным, или чтобы последний был самым высоким. Кроме того, если база данных & была настроена другими пользователями, вы не можете предположить, что приращение выполняется только на единицу или начинается с одного (1).

Это, вероятно, безопаснее, чтобы проверить фактическое общее количество строк в таблице, как показано ниже:

$result = mysql_query("SELECT count(*) as total from chat"); 
$data = mysql_fetch_assoc($result); 
echo $data['total']; 
Смежные вопросы