refer to visonjinx's msg

On Apr 6, 3:16 am, sebastian de comocomo <[email protected]>
wrote:
> Hi Petrogad,
>
> Sorry, I didn't show you the entire result, I just simplified what I got,
> for phoneNumbers. Basically I do get results for title, and all other
> fields, except for phoneNumbers:
>
> I do have a responseData, results, etc.
>
> Here is the $body print_r
>
> Please, check it out:
>
> http://allmybookings.com/apilocal2/google.php?q=comocomo+brussels
>
> Here you can see, I get results, the title, even the addressLines : 0 & 1.
>
> http://allmybookings.com/apilocal/google.php?q=comocomo+brussels
>
> So, if the format of addressLines in the first foreach is
>
> $search_results['results'][$i]['addressLines'] = $r->addressLines;
>
> the phoneNumbers should be:
>
> $search_results['results'][$i]['phoneNumbers'][] = $r->phoneNumbers;
>
> And in the second foreach it should be:
>
> echo $sr['addressLines'][0]."<br>";
> echo $sr['addressLines'][1]."<br>";
>
> And for the phoneNumbers:
>
> echo $sr['phoneNumbers'][0]['number']."<br>";
>
> Here I put the entire code in case you want to test it yourself:
>
> You'll see what I mean
>
> Thanks one more time,
> Sebastian
>
> <?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]['addressLines'] = $r->addressLines;
>         $search_results['results'][$i]['phoneNumbers'][] = $r->phoneNumbers;
>         $search_results['results'][$i]['type'] = $r->type;
>         $search_results['results'][$i]['number'] = $r->number;
>         $search_results['results'][$i]['phoneNumbers'][$sr->number] =
> $r->telnumber;
>         $i++;
>     }
>      foreach($search_results['results'] as $sr) {
>         echo $sr['title']."<br>";
>         echo $sr['addressLines'][0]."<br>";
>         echo $sr['addressLines'][1]."<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>";
>         echo $sr['telnumber'][0]." <- 10<br>"; // empty line}
> }
>
> ?>
>
> On 05/04/09 17:57, "Petrogad" <[email protected]> wrote:
>
>
>
> > It looks like you've just copy pasted a few examples, and then re-
> > pasted your initial example.
>
> > if you print_r($body) and you're resulted with:
> > [phoneNumbers] => Array
> >                                  (
> >                                      [0] => stdClass Object
> >                                          (
> >                                              [type] =>
> >                                              [number] => 03 232 02 10
> >                                          )
> >                                  )
>
> > then this line:
> > foreach($body->responseData->results as $r) {
> > is way off.
>
> > i see no responseData, and i see no results in that array.
>
> > i see phoneNumbers, i see type and I see number.
>
> > On Apr 5, 5:46 am, sebastian de comocomo <[email protected]>
> > wrote:
> >> Hi Petrogad,
>
> >> I checked this:http://be.php.net/print_r
>
> >> For the DOM, if I understand correctly, you are trying to tell me that the
> >> info we get from Google, is a DOM, so it comes as nodes & appended Childs.
>
> >> I just have to figure out which kind of DOM is it: map, list, element,... 
> >> To
> >> be able to treat the info.
>
> >> I don't understand the difference between -> & => , are these 2 different
> >> ways to assign values to a variable?
>
> >> I understand a DOM has a name & a value, like a variable.
>
> >> To try to understand how it works I analyze some examples:
>
> >> In this example I understand it assigns a value to an Array called
> >> $domTable, and then assigns this value to a variable called $tables, and
> >> then echos the value.
>
> >> $domTable = $dom->getElementsByTagName("table");
>
> >> foreach ($domTable as $tables)
> >> {
> >>     echo DOMinnerHTML($tables);
>
> >> }
>
> >> Here it says something which I think it's getting
> >> warmer.http://be.php.net/manual/en/class.domnodelist.php
> >> You don't need to convert a DOMNodeList to an array in order iterate 
> >> through
> >> it using 'foreach'.  You can use foreach directly with the DOMNodeList.
>
> >> $nodeList = $someDomDocument->getElementsbytagname('user');
>
> >> foreach ($nodeList as $node) {
> >>     echo $node->nodeValue;
>
> >> }
>
> >> From this example, I understand it's a Map of Nodes. But this is not
> >> it.http://be.php.net/manual/en/class.domnamednodemap.php
> >> You can iterate over an instance of DOMNamedNodeMap:
> >> <?php
> >> // suppose $node is a valid DOMElement object
> >> // $node->attributes will be NULL or a valid DOMNamedNodeMap object
> >> foreach ($node->attributes as $attrName => $attrNode) {}
>
> >>http://be.php.net/manual/en/domnamednodemap.item.php
> >> <?php
> >> if($element->hasAttributes())
> >> {
> >>     $attributes = $element->attributes;
> >>     if(!is_null($attributes))
> >>     {
> >>         foreach ($attributes as $index=>$attr)
> >>         {
> >>             echo $attr->name."=\"".$attr->value."\"";
> >>         }
> >>     }}
>
> >> ?>
>
> >> And here I see there is a nodeName[] within an Array, is this correct? And
> >> this should be it, so the phoneNumbers are a Child within an Array.
>
> >>http://be.php.net/dom
>
> >> foreach($n->childNodes as $nc){
> >>         if( $nc->hasChildNodes() ){
> >>             if( $n->firstChild->nodeName==
> >> $n->lastChild->nodeName&&$n->childNodes->length>1){
> >>                 $item = $n->firstChild;
> >>                 $return[$nc->nodeName][]=$this->xmlToArray($item);
>
> >> Going back to the print_r($body):
> >> [phoneNumbers] => Array
> >>                                  (
> >>                                      [0] => stdClass Object
> >>                                          (
> >>                                              [type] =>
> >>                                              [number] => 03 232 02 10
> >>                                          )
> >>                                  )
>
> >> CONCLUSION: it should be something like this:
>
> >>         $search_results['results'][$i][$sr->number] = $r->telnumber;
>
> >>         $search_results['results'][$i]['phoneNumbers'][$sr->number] =
> >> $r->telnumber;
>
> >> To get the child. I tried with quotations, and not working, neither.
>
> >> Am I getting closer?
>
> >> Thanks
> >> Sebastian
>
> >> On 04/04/09 17:21, "Petrogad" <[email protected]> wrote:
>
> >>> Sebastian-
>
> >>> Again I tell you:
>
> >>> print_r($body);
>
> >>> then use:
> >>>http://php.net/domtounderstand 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
>
> ...
>
> read more »
--~--~---------~--~----~------------~-------~--~----~
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