нашел этот плавающий скрипт для сброса заданного фида в sql. однако невозможно сохранить описание корма и изображения отдельно в таблице. Ниже приведена часть кода, которая в настоящее время сохраняет некоторое содержимое, но с пустыми столбцами.
любая помощь или совет будут оценены.
$db = mysql_connect($db_hostname,$db_username,$db_password);
if (!$db)
{
die("Could not connect: " . mysql_error());
}
.....snip.............
РЕДАКТИРОВАТЬ №1:
изучение скрипта простой пирог и его кеширование. будет обновлено, должно быть решено сегодня вечером.
РЕДАКТИРОВАТЬ № 2: SQL-запрос, который был изменен, чтобы включить описание и снимок экрана для содержимого таблицы.
CREATE TABLE
rss( ............snip........................
введите описание изображения здесь
РЕДАКТИРОВАТЬ № 3: спасибо, Роберт, за поправку, да, это была быстрая копия и вставка из исходного скрипта, без правильной инициализации запроса. Я обновил sql-запрос и все исправил, но теперь модифицированный скрипт требует больше сока, получая ссылку на изображение вместе с сообщением. Я использую xpath для получения каждой ссылки на изображение публикации, но не могу включить соответствующее изображение в каждый дамп строки. оба сценария отлично работают на своих индивидуальных площадках, но мне нужна дополнительная помощь в их объединении.
require_once("./config.php");
.......snip................
РЕДАКТИРОВАТЬ # 4: ну, это не сработало, мне удалось обновить существующую таблицу другим скриптом Я поддержал ваш ответ, но не принял его как правильный ответ по этой причине. Возможно, я не смог правильно объяснить, но мой сценарий работает как шарм, и ему просто не хватает CSS. хотя спасибо за вашу помощь
ПРИМЕЧАНИЕ: Я вырезал оригинальные скрипты из поста /
исходное сообщение отредактировано
если у вас есть более одного изображения на сообщение, я предлагаю создать новую таблицу под названием «изображения», которая связана с основной таблицей через какой-то уникальный столбец (например, item_id). В противном случае я не уверен, как вы можете аккуратно вставить несколько изображений в одну строку
есть идеи о вставке одного изображения с каждым элементом?
Я обновлю ответ
сработало ли обновление в исходном ответе?
честно говоря, это не сработало, однако мне удалось заставить его работать, обновив существующую таблицу другим скриптом. Я поддержал ваш ответ, но не принял его как правильный ответ. возможно, я не смог объяснить должным образом, но мой сценарий работает как шарм, и ему просто не хватает CSS, хотя спасибо за вашу помощь
хорошо .. эта часть скрипта (которую вы отрезали) хранит изображения внутри массива $ image (который является третьим параметром встроенной функции preg_match). Так что я не уверен, как это не сработало для вас. $ has_image = preg_match ('/ <img. + src = [\' "] (? P <src>. +?) [\ '"]. *> / i', $ RSSitem, $ image); попробуйте выполнить <pre> print_r ($ images) </pre> сразу после этого, и вы увидите. Так что это определенно правильный ответ ... в любом случае все хорошо
очень признателен и спасибо за мотивацию в том, чтобы больше копать этот проект и заставить его работать






На вашем скриншоте отсутствует информация в столбцах «item_enclosure» и «item_status», остальное заполнено.
Проблема в том, что ваш запрос не пытается вставить эти недостающие записи.
$item_insert_sql = "INSERT INTO rssingest(item_id, feed_url, item_title, item_date, item_description, item_url, fetch_date) VALUES ('" . $item_id . "', '" . $feed_url . "', '" . $item_title . "', '" . $item_date . "', '" . $item_description . "', '" . $item_url . "', '" . $fetch_date . "')";
^ Никогда не будет вставлять "item_enclosure" и "item_status", поскольку 2 столбца не являются частью запроса вставки ...
Вам нужно будет извлечь 2 недостающих элемента и изменить запрос на вставку, чтобы:
$item_insert_sql = "INSERT INTO rssingest(item_id, feed_url, item_title, item_date, item_description, item_url, fetch_date, item_enclosure, item_status) VALUES ('" . $item_id . "', '" . $feed_url . "', '" . $item_title . "', '" . $item_date . "', '" . $item_description . "', '" . $item_url . "', '" . $fetch_date . "', '" . $item_enclosure . "', '" . $item_status . "')";
Сначала вам нужно определить:
Кстати, запрос, который вы вставили в обновленный ответ, неверен, он должен начинаться с «INSERT INTO», а не «CREATE TABLE», вы не повторяете правильный запрос.
Обновлено:
В вашем исходном коде есть эта строка
$has_image = preg_match('/<img.+src=[\'"](?P<src>.+?)[\'"].*>/i', $RSSitem, $image);
Итак, прямо сейчас, если ваш код находит изображение, он должен поместить его в массив с именем $ image
Попробуйте print_r из $ image, чтобы увидеть, в каком элементе массива он хранится, я думаю, это будет $ image [0] [0] или $ image [0]
Поэтому сделайте следующее, чтобы определить URL-адрес изображения (я предполагаю, что это $ image [0] [0], но на всякий случай дважды проверьте):
$img_url = (isset($image)) ? $image[0][0] : "";
Затем вам нужно обновить запрос на вставку (я не знаю, какое имя столбца используется для изображения, поэтому это просто пример):
$item_insert_sql = "INSERT INTO rssingest(item_id, feed_url, item_title, item_date, item_description, item_url, fetch_date, item_enclosure, item_status, image_column) VALUES ('" . $item_id . "', '" . $feed_url . "', '" . $item_title . "', '" . $item_date . "', '" . $item_description . "', '" . $item_url . "', '" . $fetch_date . "', '" . $item_enclosure . "', '" . $item_status . "', '" . $img_url . "')";
спасибо, Роберт, что поправил меня, да, это была быстрая копия и вставка из исходного сценария, и у него нет правильного инициализации запроса.
@kevin без проблем, если ответ правильный, не стесняйтесь нажимать "принять"
вы заставили echo $ item_insert_sql посмотреть, как выглядит фактический запрос?