Ребят вот такая проблеммка, Нужно приобращение к БД , как то находить новые записи. Т.е что бы скрипт понимал что в БД появилась новая запись и что то делал, если нет то ничего не делал. Я решил что можно сравнивать кол-во записей, но туплю и не понимаю как это сделать. Как запомнить старое значение, что бы имея старое сравнить с новым и выполнить работу? Вот код: $sql=mysql_query("select * from zayavki ORDER BY date DESC ;"); $kolvo=mysql_num_rows($sql); if ($kolvo<$kolvonew=mysql_num_rows($sql)) echo ("Новая запись"); else echo ("Нет новых записей"); Получается что каждый раз при обращении к БД будет браться одно и тоже значение и сравниваться само с собой и выводится будет всегда "Нет новых записей"
Это для кого нужно? Для посетителей сайта, для администратора базы, ...? Можно добавить в таблицу поле, в которое при обновлении записи будет вноситься ммм... что-либо... Скажем, если это для администратора, то можно в это поле ставить просто флаг (1 / 0). Добавлется запись, у нее значение этого поля == 0. Просмотрел его администратор - поменялось на 1. Если для посетителей, то в это поле ставить, скажем, дату. И где-то еще хранить дату последнего посещения сайта пользователем. ... Ну или, все-таки, через кол-во записей,.. можно хранить старое кол-во в файле, можно в базе для него отвести где-нть отдельное поле.
Сделал поле readstat в БД, когда пользователь отправляет сообщение туда вноситься значение 0. Програма и правду стала выдавать звуковые сигналы если есть новые сообщения. Но появились проблемы с формированием списка. Когда в БД поподает самое первое сообщения с текстом, в списле это сообщение отображается пустым. А все следующие сооющения отображаются нормально. Непосмотрите код? Вот код: $sql=mysql_query("select * from zayavki ORDER BY date DESC ;"); $sql2=mysql_query ("select * from users;"); $kolvo=mysql_num_rows($sql); $var4=mysql_fetch_array($sql); $name2=$var4[name]; if ($var4[readstat]==0) echo ("<BGSOUND SRC=../sound/newemail.wav LOOP=1>"); $upstat=mysql_query("update zayavki set readstat=1 where name=$name2;"); for ($i==0;$i<$kolvo;$i++) { $var=mysql_fetch_array($sql); $name=$var[name]; $text=$var[text]; $dt=$var[date]; $var2=mysql_fetch_array($sql2); $filial=$var2[filial]; $podrazdelenie=$var2[podrazdelenie]; $dolzchnost=$var2[dolzchnost]; }
Неа не помогло если закоментировать $var4=mysql_fetch_array($sql); то все будет Ok, но тогда звук не будет работать
попробуйте вместо mysql_fetch_array() использовать mysql_fetch_assoc() и ключи массивов берите в кавычки $var["name"], $var4["readstat"] etc.
Eser вам первое предупреждение. 1. форматируйте свой код с помощью специальных тегов 2. не злоупотребляйте жирным шрифтом 3. размещайте темы в соответствующих форумах.