كيف احقن البيانات في قاعدة البيانات عوض ارسالها الى الايميل
السلام وعليكم هدا سكريبت يسحب الاخبار والمواضيع بواسطة rss ويرسلها الى الايميل
لكن انا اريد حقنها في قاعدة البيانات عوض ارسالها الى الايميل ويكون لكل خبر رابطه الخاص المرجو شرح لي وجزاكم الله خيرااا ما الجدول الدي ساضع وكيف ساستدعي وما الى غير دالك <?php /** * o------------------------------------------------------------------------------o * | This package is licensed under the Phpguru license. A quick summary is | * | that for commercial use, there is a small one-time licensing fee to pay. For | * | registered charities and educational institutes there is a reduced license | * | fee available. You can read more at: | * | | * | http://www.phpguru.org/static/license.html | * o------------------------------------------------------------------------------o * * � Copyright 2008,2009 Richard Heyes */ /** * Some RSS feeds to fetch. It uses a UNIX tmp dir which you will need to change if you're using it on Windows. */ $urls[] = 'http://www.phpguru.org/rss.php'; $urls[] = 'http://www.planet-php.org/rss/'; // قم باضافة روابط ال rss هنا foreach ($urls as $url) { $rss = file_get_contents($url); $xml = new SimpleXMLElement($rss); $cache = '/tmp/rss_' . md5($url) . '.txt'; /** * Get the cache file. Could replace this with an "inRSSCache()" function */ $cache_contents = file_exists($cache) ? file_get_contents($cache) : ''; /** * Some stuff to use in the email */ $feed['title'] = (string)$xml->channel[0]->title; $feed['link'] = (string)$xml->channel[0]->link; $feed['description'] = trim((string)$xml->channel[0]->description); /** * Print the data */ header('(anti-spam-(anti-spam-(anti-spam-(anti-spam-content-type:)))) text/plain'); echo 'Feed: ' . $feed['link'] . "\r\n"; /** * Loop through all the items in the feed */ foreach ($xml->channel->item as $item) { $url = (string)$item->link; if (strpos($cache_contents, $url) !== false) { continue; } echo " {$url}\r\n"; // The data from the feed $title = (string)$item->title; $link = $url; $pubDate = (string)$item->pubDate; $description = ltrim($item->description); $to = '[email protected]'; // Put your email address here $mail = <<<END Title: {$title} URL: {$url} Date: {$pubDate} {$description} END; mail($to, '[RSS] ' . $title, $mail, "From: {$feed['title']}"); // Might want to put a valid From: address here // Store the URL in our tmp file for recording which items we've seen fwrite(fopen($cache, 'a'), $url . "\r\n"); } } ?>
3 إجابات
وهل السحب يكون تلقائيا ام بعد ان ادخل لصفحة التي وضع فيها كود السحب
بواسطة: mr abdo 0 من 0 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا
جزاك الله خيرااا اخي MacOS بقي كيف يكون لكل خبر رابطه الخاص
اي صفحة عرض الخبر المسحوب + هل جربت كود السحب هل هو شاغل 100% اي يسحب وجزاك الله خيرااا بواسطة: mr abdo تعديل: mr abdo 0 من 0 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا
هذا هو الكود بعد دمج اكواد الاضافة الى قاعدة البيانات
<?php $db = @mysql_connect('localhost', 'root', '') or die("Could not connect database"); @mysql_select_db('أسم قاعدة البيانات', $db) or die("Could not select database"); function dbRowInsert($table_name, $form_data) { // retrieve the keys of the array (column titles) $fields = array_keys($form_data); // build the query $sql = "INSERT INTO ".$table_name." (`".implode('`,`', $fields)."`) VALUES('".implode("','", $form_data)."')"; // run and return the query result resource return mysql_query($sql); } $urls[] = 'http://www.phpguru.org/rss.php'; $urls[] = 'http://www.planet-php.org/rss/'; // قم باضافة روابط ال rss هنا foreach ($urls as $url) { $rss = file_get_contents($url); $xml = new SimpleXMLElement($rss); $cache = '/tmp/rss_' . md5($url) . '.txt'; /** * Get the cache file. Could replace this with an "inRSSCache()" function */ $cache_contents = file_exists($cache) ? file_get_contents($cache) : ''; /** * Some stuff to use in the email */ $feed['title'] = (string)$xml->channel[0]->title; $feed['link'] = (string)$xml->channel[0]->link; $feed['description'] = trim((string)$xml->channel[0]->description); /** * Print the data */ header('(anti-spam-(anti-spam-(anti-spam-(anti-spam-content-type:)))) text/plain'); echo 'Feed: ' . $feed['link'] . "\r\n"; /** * Loop through all the items in the feed */ foreach ($xml->channel->item as $item) { $url = (string)$item->link; if (strpos($cache_contents, $url) !== false) { continue; } echo " {$url}\r\n"; // The data from the feed $title = (string)$item->title; $link = $url; $pubDate = (string)$item->pubDate; $description = ltrim($item->description); dbRowInsert('rss_items',array( 'title' => $title, 'link' => $link, 'description' => $description, 'pubDate' => $pubDate, )); // Store the URL in our tmp file for recording which items we've seen fwrite(fopen($cache, 'a'), $url . "\r\n"); } } ?>وهذا هو كود انشاء جدول قاعدة البيانات CREATE TABLE IF NOT EXISTS `rss_items` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `link` varchar(255) NOT NULL, `description` mediumtext NOT NULL, `pubDate` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; بواسطة: MacOS 3 من 3 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا |