मैं तालिका और अमेज़ॅन उत्पाद विज्ञापन API का उपयोग कर अमेज़ॅन से उत्पाद जानकारी प्राप्त करने के लिए PHP में YQL का उपयोग करने का प्रयास कर रहा हूं।YQL का उपयोग कर क्वेरी के लिए 10 परिणाम कैसे प्राप्त करें?
क्वेरी है कि मैं प्रयोग किया है:
select * from amazon.prodlist where Title='harry potter' and SearchIndex='Books' and ResponseGroup='Images,ItemAttributes'
यह रिटर्न केवल 10 का परिणाम है। मैं इसे एक ही पृष्ठ पर 10 परिणामों को प्रदर्शित करने के लिए कैसे प्राप्त कर सकता हूं? इसके अलावा, अंकन के बिना।
पूर्ण PHP कोड:
<?php
$BASE_URL = "https://query.yahooapis.com/v1/public/yql";
$key="my_key";
$secret="my_secret";
$title="harry potter";
$sindex="Books";
$rgroup="Images,ItemAttributes";
$events="";
// Form YQL query and build URI to YQL Web service
$yql_query = "use 'http://www.datatables.org/amazon/amazon.ecs.xml' as amazon.prodlist;
set AWSAccessKeyId='$key' on amazon.prodlist;
set secret='$secret' on amazon.prodlist;
select * from amazon.prodlist where Title='$title' and SearchIndex='$sindex' and ResponseGroup='$rgroup' ";
$yql_query_url = $BASE_URL . "?q=" . urlencode($yql_query) . "&format=json";
// Make call with cURL
$session = curl_init($yql_query_url);
curl_setopt($session, CURLOPT_RETURNTRANSFER,true);
$json = curl_exec($session);
// Convert JSON to PHP object
$phpObj = json_decode($json);
// Confirm that results were returned before parsing
if(!is_null($phpObj->query->results)){
// Parse results and extract data to display
foreach($phpObj->query->results->Item as $event){
$events .= "<div><h2>" . $event->ItemAttributes->Title . " by " . $event->ItemAttributes->Author . "</h2></div>";
}
}
// No results were returned
if(empty($events)){
$events = "Sorry, no events matching result";
}
// Display results and unset the global array $_GET
echo $events;
unset($_GET);
?>
यह प्रदर्शित करता है 10 परिणामों के एक पृष्ठ पर। जबकि, जब मैं अमेज़ॅन वेबसाइट पर 'किताबें' में 'हैरी पॉटर' की खोज करता हूं, तो मुझे 3k से अधिक परिणाम मिलते हैं। क्या सभी परिणामों को एक पृष्ठ पर ही प्राप्त करने का कोई तरीका है? कृपया सलाह दें।
पढ़ें [प्रलेखन] (http://developer.yahoo.com/yql/guide/paging.html) शायद? – Wrikken
मैंने पहले से ही इसे पढ़ा है और क्वेरी को बदलने की कोशिश की है: 'amazon.prodlist (20) से चुनें * जहां शीर्षक = '$ शीर्षक' और SearchIndex = '$ sindex' और ResponseGroup = '$ rgroup'', ' चयन करें * amazon.prodlist (0) से जहां शीर्षक = '$ शीर्षक' और SearchIndex = '$ sindex' और ResponseGroup = '$ rgroup'', 'amazon.prodlist (0) से चुनें * जहां शीर्षक =' $ शीर्षक ' और SearchIndex = '$ sindex' और ResponseGroup = '$ rgroup' सीमा 20' लेकिन मुझे अभी भी 10 परिणाम मिल रहे हैं। कोई अन्य सुझाव? –
ठीक है, अमेज़ॅन या वाईक्यूएल के साथ इतना अधिक अनुभव नहीं है, इसलिए मैं इसे दूसरों के पास छोड़ दूंगा, अगली बार जब आप उस छोटे तथ्य का उल्लेख कर सकते हैं, लोगों को समय बचाता है :) – Wrikken