Как правильно посчитать количество добавленных записей в базу через цикл foreach? Я прохожу парсером про РСС каналам и не пойму как же посчитать количество добавленных записей? Цикл у меня получается вложенный. Обходит все каналы, а потом обходит все новости в каждом канале.
Это у меня парсер, в цикле. А записи дублирующиеся все-равно добавляются, только ошибка вылазит:
Warning: Wrong parameter count for mysql_num_rows()
И ошибка именно в этой линии if(mysql_num_rows($double, 0) == 0)
Так что лучше делать наоборот:
создавать запись в бд (поле имени файла дропнуть за ненадобностью)
получить последний добавленный id
прибавлять к нему расширение
сохранять картинку под таким именем.
А можно подробнее? С кодом? Есть автоикремент у таблицы со спарсенными новостями - id, заголовок, описание, картинка, дата, источник. Как дать картинке имя ID+префикс я даже не знаю.
Может кто-то сможет помочь мне решить эту задачу не только теоретически, а практически, показать код, который будет работать?
Задача вроде простая, но я ее решить пока не могу:
картинка копируется парсером в цикле очень быстро
парсим картинку - копируем в каталог - сразу даем ей новое уникальное имя (это у меня делается одной строкой)
новое уникальное имя нужно загнать в БД
Как из этой строки можно получить только новое уникальное имя файла?
При парсинге новостей парсю отдельно изображения. Все делаю в цикле. Чтобы дать изображениям новые уникальные имена использовал функцию time, но столкнулся с такой проблемой, что некоторые картинки имеют одинаковые названия. Попробовал функцию microtime и получилось что в базу записываются изображения с одним названием, а в папку загрузки с другим.
Я здесь ставлю условие если равно 0. Проверяю есть ли такой линк в базе и если его нет, т.е. 0 делаю инсерт, в противном случае ничего не делаю? Выдает ошибку
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 117 in
Модуль «Добаление и редактирование новости». Есть два чекбокса, которые отвечают за активность новости и ее фиксации. Если чекбокс отмечен то показываем новость и фиксируем ее при выводе, если нет то не показываем и не фиксируем. В БД организовано все так:
active tinyint(1) записываем в поле 1 – новость показывается, если 0 – не показывается
fixed tinyint(1) записываем в поле 1 – новость фиксирована, если 0 – не фиксирована
Проблема вылазит при редактировании. Я хочу чтобы чекбокс был отмечен или не отмечен при редактировании новости. И сделал вот такой проверяющий код:
Если я правильно понял сам файл нужно искать во временной папкке а не в переменной?
Зависит от того, как файл получен. Если курлом/сокетами/файловыми функциями(в случае успеха) - то в переменной.
Посмотрите, что вернул file_get_contents. Скорей всего - false, если file_put_contents не получается. Если не false, то что там?
allforweb пишет:
Как тогда найти изображение в массиве $_FILES если в переменной его нет?
Там и не должно быть. Этот массив только для аплоада из формы.
Все разобрался, вот так надо было, просто и коротко
copy ("http://".$img_src[1],$uploadimage.substr(md5(microtime()), 11).".jpg");
Второй вопрос еще актуален.
Как лучше организовать удаление дублей спарсенных новостей, чтобы новость однажды спарсенная второй раз не парсилась уже. Кроме создания таблицы спарсенных URL ничего в голову не приходит.