Foros del Web » Creando para Internet » Sistemas de gestión de contenidos »

ERROR foreach()

Estas en el tema de ERROR foreach() en el foro de Sistemas de gestión de contenidos en Foros del Web. Estoy probando este script y me arroja este error: Sera un Error de sistaxis? Invalid argument supplied for foreach() in /home/omega75/public_html/include/search.php on line 45 Les ...
  #1 (permalink)  
Antiguo 08/06/2003, 13:53
 
Fecha de Ingreso: diciembre-2002
Mensajes: 100
Antigüedad: 21 años, 4 meses
Puntos: 1
ERROR foreach()

Estoy probando este script y me arroja este error:

Sera un Error de sistaxis?

Invalid argument supplied for foreach() in /home/omega75/public_html/include/search.php on line 45

Les dejo el script Aquí.

Código PHP:
<?php
require_once 'SOAP_Google.php';
// Debut de la Configuration
$nr 10// Nombre de resultats par page
$clef 'tu_clave_google'// Votre clef d'identification sur Google
// Fin de la Configuration

if (strlen($q) > 0) {

$google = new SOAP_Google($clef);
$result $google->search(
  array(
    
'query' => $q,
    
'start' => $s,
    
'maxResults' => $nr,
    
'restrict'    => $country,
    
'ie' => 'latin1',
     
'lr' => 'lang_es'
    
'oe'  => 'latin1'
    
  
)
);
if (
false !== $result) {
   echo 
"<p>Environ {$result['estimatedTotalResultsCount']} documents
   trouvés en {$result['searchTime']} secondes.</p>"
;
   echo 
"<p>Résultats {$result['startIndex']} à {$result['endIndex']}.</p>";

   
$res $result['resultElements'];
   
$i=$result['startIndex'];

//AQUÍ EL ERROR

   
foreach ($res as $site) {
        echo 
"<p>{$i}. <a href='{$site['URL']}'>{$site['title']}</a><br />
        {$site['snippet']}</p>"
;
        
$i++;

   }
   echo 
"<div align='center'>";
   if (
$result['startIndex'] >= $nr) {
     
$t =  $result['startIndex'] - ($nr+1);
     echo 
"<p>
     <a href='index.php?q="
.urlencode($q)."&amp;s=".$t."'>&lt;&lt;</a>";
   }
   echo 
" Navigation ";
   if ((
$result['estimatedTotalResultsCount'] > $result['endIndex'])
               or
               !
$result['estimateIsExact'] )
         {
     
$t =  $result['endIndex'] ;//+ 1;

     
echo "<a href='index.php?q=".urlencode($q)."&amp;s=".
     
$t."'>&gt;&gt;</a>";
   }
   echo 
"</div>";
   echo 
"<hr>";

  
// print_r($result);
} else {
  echo 
"<p>Probleme dans la requête.</p>";
}

}
?>
  #2 (permalink)  
Antiguo 08/06/2003, 14:06
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

No, simplemente es que $res no es un array. Y como
Código PHP:
$res $result['resultElements']; 
es que $result['resultElements'] no es un array. Como eso depende de como google devuelva los resultados, no se que mas decirte. Bueno, que antes del foreach compruebes que $res es un array con is_array() e incluso que mires cuantos elementos tiene con count(), por si quieres poner un mensaje cuando no devuelva resultados.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 08/06/2003, 14:09
 
Fecha de Ingreso: diciembre-2002
Mensajes: 100
Antigüedad: 21 años, 4 meses
Puntos: 1
Sera que alguien tiene un Script parecido a este pero que verdaderamente funcione.

Necesito agregar un buscador que se conecte a Google.

Gracias Webmaster.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:24.