experts585 Posted November 9, 2010 Share Posted November 9, 2010 hi i am using yahoo api search i put a paragraph in a text area explode with ".Dot " and than serah each sentance one by one in yahoo api. Problem is i want when its get all sentancce in one site its give me result one time but my code give result as foreach loop end if it explode 5 time it give me same result 5 time but i want only one time some one help me $queryz=$_REQUEST['query']; $queryz1=explode('.',$queryz); foreach ($queryz1 as $k=>$v){ $q = build_query($v); //exit(); performTask($q); } // To cache, we save the result xml to a filename that is a // hash of the query string. Note the use of tempnam() and // rename() to make sure the file is created atomically. function performTask($q=""){ $cache_file = '/tmp/yws_'.md5('http://search.yahooapis.com/WebSearchService/V1/webSearch'.$q); if(file_exists($cache_file) && filemtime($cache_file) > (time()-7200)) { $raw = file_get_contents($cache_file); } else { $raw = file_get_contents('http://search.yahooapis.com/WebSearchService/V1/webSearch'.$q); $tmpf = tempnam('/tmp','YWS'); file_put_contents($tmpf, $raw); @rename($tmpf, $cache_file); } $xml = simplexml_load_string($raw); // Load up the root element attributes foreach($xml->attributes() as $name=>$attr) $res[$name]=$attr; $first = $res['firstResultPosition']; $last = $first + $res['totalResultsReturned']-1; echo "<p>Matched ${res[totalResultsAvailable]}, showing $first to $last</p>\n"; if(!empty($res['ResultSetMapUrl'])) { echo "<p>Result Set Map: <a href=\"${res[ResultSetMapUrl]}\">${res[ResultSetMapUrl]}</a></p>\n"; } $stored=""; for($i=0; $i<$res['totalResultsReturned']; $i++) { foreach($xml->Result[$i] as $key=>$value) { if(stristr($key,'ClickUrl')){ if(strpos($stored,$value)){ continue; } } if(stristr($key,'Title')) echo "<a href=\"$value\">$value</a> <br /> \n"; if(stristr($key,'ClickUrl')){echo "Url: <a href=\"$value\">$value</a> <br /> \n"; $stored.=$value;} if(stristr($key,'Summary')) echo "$value <br /> \n"; if(stristr($key,'ModificationDate')) echo "Update: $value From Yahoo <br /> \n"; } echo "<hr />\n"; } next_prev($res, $first, $last); } done(); ?> Link to comment https://forums.phpfreaks.com/topic/218208-same-result-show-only-one-time/ Share on other sites More sharing options...
experts585 Posted November 10, 2010 Author Share Posted November 10, 2010 is there any person who guide me Link to comment https://forums.phpfreaks.com/topic/218208-same-result-show-only-one-time/#findComment-1132501 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.