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='.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;
        
        $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