Sebastian- Again I tell you:
print_r($body); then use: http://php.net/dom to understand how to use the information that is retrieved. On Apr 4, 6:43 am, sebastian de comocomo <[email protected]> wrote: > Hi Petrogad, > > I do get results, I get the title, I even get the addressline which is also > an Array, but I don't manage to get the phoneNumbers. > > Everything is in the same format, and I've tried all kind of combinations in > each of the "foreach"'s.( the $r and the $sr). > > I even run tests to understand how the foreach function works > > http://allmybookings.com/foreach.php > > For the title: > 1st. I assign $r -> title, and then for each $r->title result I print as > $sr. I don't know why this change of variable, but the title works. > > I don't understand what is the relation with the PHP DOM? > > What am I doing wrong? > > Here is the last code with new tests: > > <?php > require_once 'JSON.php'; > if(isset($_GET['q'])) { > $start = isset($_GET['start']) ? $_GET['start'] : 0; > $url = > 'http://ajax.googleapis.com/ajax/services/search/local?v=1.0&q='.urlen... > _GET['q']).'&rsz=small&start='.$start; > $ch = curl_init(); > curl_setopt($ch, CURLOPT_URL, $url); > curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); > $body = curl_exec($ch); > curl_close($ch); > $body = json_decode($body); > $i = 0; > $search_results = array(); > foreach($body->responseData->results as $r) { > $search_results['results'][$i]['title'] = $r->title; > // $search_results['results'][$i]['phoneNumbers'] = $r->phoneNumbers; > // $search_results['results'][$i]['type'] = $r->type; > // $search_results['results'][$i]['number'] = $r->number; > > $search_results['phoneNumbers'][$i]['number'] = $r->number; > $i++; > } > foreach($search_results['results'] as $sr) { > echo $sr['title']."<br>"; > echo $sr['number'][0]."<br>"; > echo count($sr['phoneNumbers'][0])." <- 1 : gives 1 result. meaning > there is 1 phone number<br>"; // best: > echo count($sr['phoneNumbers']['number'])." <- 2<br>"; // gives 0 > results, but doesn't give an error > echo count($sr['phoneNumbers']['number'][0])." <- 3<br>"; // gives 0 > results, but doesn't give an error > echo $sr['phoneNumbers']." <- 4<br>"; // doesn't give an error but > doesn't give a number. > echo $sr['phoneNumbers']['number']." <- 5<br>"; // empty line > echo $sr['phoneNumbers']['number'][0]." <- 6<br>"; // empty line > echo $sr['phoneNumbers'][0]['number']." <- 7<br>"; // empty line > echo $sr['phoneNumbers'][0]['number'][0]." <- 8<br>"; // empty line > echo $sr['phoneNumbers']['number'][0]." <- 9<br>"; // empty line > echo count($sr['phoneNumbers'][0]['number'])."<br>"; > > } > } > > ?> > > On 03/04/09 15:05, "Petrogad" <[email protected]> wrote: > > > > > Sebastian, the answer is in front of you :) > > > I'm not sure where you're getting results in: foreach($body- > >> responseData->results as $r) { > > > if the below is what you get, then re-adjust your querying. > > > Also take a look at this: > >http://php.net/dom > > > Good Luck, all the answers are above. > > > On Apr 3, 4:45 am, sebastian de comocomo <[email protected]> > > wrote: > >> Hi Petrogad, > > >> Cool, I get this: > > >> [phoneNumbers] => Array > >> ( > >> [0] => stdClass Object > >> ( > >> [type] => > >> [number] => 03 232 02 10 > >> ) > > >> ) > > >> So, there is a phone number: 03 232 02 10. > > >> I suppose the structure should be something like this: > >> ... > >> $search_results['results'][$i]['phoneNumbers'] = $r->phoneNumbers; > > >> $search_results['results'][$i]['type'] = $r->type; > > >> $search_results['results'][$i]['number'] = $r->number; > >> ... > >> echo $sr['phoneNumbers'][0]['number']; > >> ... > >> But this stops the code, in that line. > > >> I also tried: > >> ... > >> $search_results['results'][$i]['phoneNumbers']['number'] = $r->newnumber; > >> ... > >> But this gives an empty record. > > >> And this: > >> $search_results['results'][$i]['phoneNumbers'][$i]['number'] = > >> $r->newnumber; > > >> Which gives an error -> empty page. > > >> What is "stdClass Object"? > > >> Thanks, > >> Sebastian > > >> On 02/04/09 16:14, "Petrogad" <[email protected]> wrote: > > >>> Sebastian- > > >>> I would first print_r $body so you know what you're doing. then > >>> proceed accordingly. > > >>> On Apr 2, 6:40 am, Sebastian <[email protected]> wrote: > >>>> Hi, > > >>>> could anyone help me out with this? > > >>>> I've tried everything I can imagine. > > >>>> I suppose this is correct: > > >>>> echo count($sr['phoneNumbers'][0]); > > >>>> To see if there are any phone numbers in the variable, isn't it? > > >>>> If so, how do I get the number? > > >>>> Thanks > >>>> Sebastian > > >>>> On Mar 30, 2:34 pm, Sebastian <[email protected]> wrote: > > >>>>> Hi, > > >>>>> I've tried many different options to get thephoneNumbersfrom the > >>>>> Local Search API, but I didn't manage to do so. > > >>>>> I count how many numbers are in thephoneNumbersvariable and I get 1 > >>>>> or 2 depending on the record, > > >>>>> count($sr['phoneNumbers'][0]) > > >>>>> I followed the reference guidelines, to try to do different options > >>>>> but I don't manage to do so. The guide says there are 3 variables to > >>>>> thephoneNumbers: > > >>>>> $search_results['results'][$i]['phoneNumbers'] = > >>>>> $r->phoneNumbers; > >>>>> $search_results['results'][$i]['type'] = $r->type; // 1) > >>>>> main 2) fax > >>>>> 3) mobile > >>>>> $search_results['results'][$i]['number'] = $r->number; > >>>>> // > >>>>> the number > >>>>> itself > > >>>>> I'd like to do so, in PHP using CURL. > > >>>>> here are my tests: > > >>>>>http://allmybookings.com/apilocal/search-results.php?q=restaurants+br... > > >>>>> and here the code: > > >>>>> <?php > >>>>> require_once 'JSON.php'; > >>>>> if(isset($_GET['q'])) { > >>>>> $start = isset($_GET['start']) ? $_GET['start'] : 0; > >>>>> $url = 'http://ajax.googleapis.com/ajax/services/search/local? > >>>>> v=1.0&q='.urlencode($_GET['q']).'&rsz=small&start='.$start; > >>>>> $ch = curl_init(); > >>>>> curl_setopt($ch, CURLOPT_URL, $url); > >>>>> curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); > >>>>> $body = curl_exec($ch); > >>>>> curl_close($ch); > >>>>> $body = json_decode($body); > >>>>> $i = 0; > >>>>> $search_results = array(); > >>>>> foreach($body->responseData->results as $r) { > >>>>> $search_results['results'][$i]['title'] = $r->title; > >>>>> $search_results['results'][$i]['phoneNumbers'] = > >>>>> $r->phoneNumbers; > >>>>> $search_results['results'][$i]['type'] = $r->type; > >>>>> $search_results['results'][$i]['number'] = $r->number; > >>>>> $i++; > >>>>> } > >>>>> foreach($search_results['results'] as $sr) { > >>>>> echo $sr['title']."<br>"; > >>>>> echo count($sr['phoneNumbers'][0])." <- 1 : gives 1 > >>>>> result. > >>>>> meaning > >>>>> there is 1 phone number<br>"; // best: > >>>>> echo count($sr['phoneNumbers']['number'])." <- 2<br>"; > >>>>> // > >>>>> gives 0 > >>>>> results, but doesn't give an error > >>>>> echo count($sr['phoneNumbers']['number'][0])." <- > >>>>> 3<br>"; > >>>>> // > >>>>> gives 0 > >>>>> results, but doesn't give an error > >>>>> echo $sr['phoneNumbers']." <- 4<br>"; // doesn't give an > >>>>> error but > >>>>> doesn't give a number. > >>>>> echo $sr['phoneNumbers']['number']." <- 5<br>"; // empty > >>>>> line > >>>>> echo $sr['phoneNumbers']['number'][0]." <- 6<br>"; // > >>>>> empty > >>>>> line > >>>>> // this gives error echo count($sr['phoneNumbers'][0] > >>>>> ['number'])."<br>"; > >>>>> // this gives error echo $sr['phoneNumbers'][0]."<br>"; > >>>>> // this gives error echo > >>>>> $sr['phoneNumbers'][0]['number']."<br>";} > >>>>> } > > >>>>> ?> > > >>>>> Has anyone manage to get this info? > > >>>>> Thanks, > >>>>> Sebastian --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google AJAX APIs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/Google-AJAX-Search-API?hl=en -~----------~----~----~----~------~----~------~--~---
