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
-~----------~----~----~----~------~----~------~--~---

Reply via email to