hello everybody
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
et donc pour chaques mots clé cette fonction est appelée:
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:
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:
//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:
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: