[API Google] Erreur pour une recherche

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


seb306bzh
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 46
Inscription: 23 Mai 2005

[API Google] Erreur pour une recherche

Message le Jeu Mai 26, 2005 14:42

hello everybody :D

j'ai un petit pb avec le web service de google "search"

je veux chercher dans google plusieurs mots clé, j'ai ce code qui recupere la liste des mots clé dans ma base et qui lance la recherche pour chaque

Code: Tout sélectionner
//on repupere les mots cle pour ce client
   
   $requete = "SELECT mots_cles FROM mots_cle WHERE id_client='$idClient';";
   $result = mysql_query($requete);
   $nbMotsCle = mysql_numrows($result);
   echo ("<br>nbMotsCLe: ".$nbMotsCle);
   
   if($nbMotsCle==0){ //aucun resultats
      echo ("<br><p align=center>Aucun mots cle pour <b>$client</b></p><br>");
   }else{
      //on parcours la liste des mots clé
      $i=0;
      while ($ligne = mysql_fetch_array($result)) {
         $mot=$ligne[$i];
         //lance la recherche sur google
         echo ("<br>lance recherche sur google du mot :".$mot);
         rechercheGoogle($mot,$site);
       }
   } ?>


et donc pour chaques mots clé cette fonction est appelée:

Code: Tout sélectionner
function rechercheGoogle ($mots_cle, $nomDomaine){

   // inclusion de la bibliotheque
   include("googleAPI/google-api.php");
   
   // apres inscription sur google, reception d'une cle :
   $cle = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
   
   echo("<br><br>CLE=".$cle."  |  motCle=".$mots_cle."  |   NomDomaine=".$nomDomaine."<br><br>");
   
   // le nb de pages est bloque a 10 par google
   $nb_par_page = 10;
   
   $i=0;
   
   // la requete
   $q = $mots_cle;
   
   // on cree un objet pour utiliser la Google API
   $google = new GoogleApiSearch;
   
   // par defaut on recupere les premiers resultats, mais on peut faire une boucle
   // qui fait varier $start pour recuperer les 1000 premiers resultats
   $start = 0;
   
   // lancement de la requete
   $result = $google->doGoogleSearch($cle, $q, $start);
   
   // on verifie le resultat de la requete
   if ( $result == false ){
      // la requete n'a pas pu fonctionner
      echo "Erreur: limite de 1000 requetes/jours atteinte";
   }else{
      // la requete a reussi, on regarde maintenant le nb de resultats
   
      // nombre estime de resultats
      $nb_res = $result['estimatedTotalResultsCount'];
   
      if ( $nb_res == 0 ){ // aucun resultat
         echo "Aucun resultat.";
      }else{ // il y a des resultats
               $compteurG = 0;
         $trouveG = 0; //le nom de domaine a t il été trouve pour ce mot cle? '0' non, 'n' oui en position n   
         foreach ($result['resultElements'] as $resultat){
            //string utf8_decode(string data) : décode la chaîne data , en supposant qu'elle est au
            // format UTF-8 et la convertit au format ISO-8859-1 (sinon les caracteres de types
            // é à ê ... sont mal affichés. Exemple : Présentation de différents... 
            $compteurG++;
            if ( (utf8_decode ($resultat["URL"])) == ($nomDomaine) ){
               $trouveG = $compteurG;
            }else{}
         }
         if($trouveG == 0){
            echo ("Le mot cle <b>".$mots_cle."</b> n'a pas ete trouve sur le moteur <b>Google</b>");
         }else{
            echo ("Le mot cle <b>".$mots_cle."</b> a ete trouve en position <b>".$trouveG."</b> sur le moteur <b>Google</b>");
         }
      } //fin else{ // il y a des resultats
   }//fin else
}//fin rechercheGoogle


et il me renvoi cette erreur :

Warning: in_array(): Wrong datatype for second argument in c:\program files\easyphp1-8\www\seb\3_recherchemotsclebd\googleAPI\google-api.php on line 351
20 fois et que la requete n'a pas fonctionné (car $result == false )

quelqu'un pourrait m'aider ? :cry:

merci :wink:


haderach
WRInaute impliqué
WRInaute impliqué
 
Messages: 870
Inscription: 26 Aoû 2004

Message le Jeu Mai 26, 2005 14:50

$mot a-t-il les bonnes valeurs (la valeurs des mots clés de la table)?


seb306bzh
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 46
Inscription: 23 Mai 2005

Message le Jeu Mai 26, 2005 14:55

haderach a écrit:$mot a-t-il les bonnes valeurs (la valeurs des mots clés de la table)?

oui j'ai vérifier chacunes de mes variables :(


seb306bzh
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 46
Inscription: 23 Mai 2005

Message le Jeu Mai 26, 2005 15:02

Image
:wink:


haderach
WRInaute impliqué
WRInaute impliqué
 
Messages: 870
Inscription: 26 Aoû 2004

Message le Jeu Mai 26, 2005 15:08

remplace
while ($ligne = mysql_fetch_array($result)) {
$mot=$ligne[i];
par

while ($ligne = mysql_fetch_object($result)) {
$mot = $ligne->mots_cles ;


seb306bzh
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 46
Inscription: 23 Mai 2005

Message le Jeu Mai 26, 2005 15:21

c'est pareil :(


seb306bzh
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 46
Inscription: 23 Mai 2005

Message le Lun Mai 30, 2005 14:24

up :cry:


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

  • Analyse du positionnement
    AgentWebRanking est un logiciel professionnel qui permet d'analyser le positionnement d'un ou plusieurs sites dans plus de 300 moteurs de recherche dans le monde. Vous pouvez ainsi analyser les performances du référencement pour de nombreux mots-clés.
  • Transformer des simples citations de votre site en liens
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités