Aller au contenu

Un requete Insert Into dans une Boucle While


onico0

Sujets conseillés

Bonjour à tous !!

Je suis vraiment déséspérer, je bloque depuis des heures avec un code qui ne marche pas.

Ce code permet en principe de :

Ce connecter à une base.

Ce connecter à une Table1.

Récupérer et traiter les données de la Table1 dans une boucle.

Dans cette boucle insérer plusieurs données dans une Table2.

Ce deconnecter de mysql à la fin.

Donc voici mon code, il ne marche pas :

Code : PHP


<?php
//LISTE LES URL
mysql_connect('localhost', 'onico0', 'javaismisunpass');
mysql_select_db("gratos");
$reponse = mysql_query("SELECT url FROM Table1");
while ($donnees = mysql_fetch_array($reponse))
{
$url = $donnees['url'];

//CAPTAGE DE LA BALISE TITLE
$file = fopen ($url, "r");
if (!$file) {
echo "<p>Impossible de lire la page.\n";
exit;
}
while (!feof ($file)) {
$line = fgets ($file, 1024);

if (eregi ("<title>(.*)</title>", $line, $out)) {
$title = htmlentities($out[1]);

break;
}
}
fclose($file);
//title ok


//RECUP DES METATAG
$tags = get_meta_tags($url);
if(!$title){$title=htmlentities($tags['title']);} // Titre
$langue=htmlentities($tags['language']); // langue
$description=htmlentities($tags['description']); // DESCRIPTION
$keywords=htmlentities($tags['keywords']); // motsclés


if($title==false) { echo "Pas de balise title"; }
elseif ($langue==false)
{echo "Pas de balise langue";}
elseif ($description==false)
{echo "Pas de balise description";}
elseif ($keywords==false)
{echo "Pas de balise keywords";}

else { //INSERTION DANS LA BDD
$point = 1;

echo $title;
echo '<br>';
echo $langue;
echo '<br>';
echo $description;
echo '<br>';
echo $keywords;
echo '<br>';
echo $url;
mysql_query("INSERT INTO `Table2` ( `id` , `url` , `titre` , `description` , `keyword` , `point` , `notfound` )
VALUES ( '', '$url', '$title', '$description', '$keywords', 1, 'non' );"); // /!\ c'est ici que sa ne marche pas


} //fin du else final

} //fin boucle Table1

mysql_close();


?>

Je n'ai aucun message d'erreur, mon prob c'est que les données ne sont pas insérer pourtant je les vois en fesant un echo.

Merci d'avance.

et voici la stucture de ma base de donnée:

Field name Type Allow nulls? Key Default value Extras

id int(11) Non Primary auto_increment

url text Non None

titre text Non None

description text Non None

keyword text Non None

point int(11) Non None 1

notfound text Non None

thx

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Et si tu affcihes ta requete et que tu la colles dans phpmyadmin, ca donne quoi?

Portekoi

<{POST_SNAPBACK}>

Je suis dans l'impossibilité de le faire car ce script nécéssite de lire des meta tag et mysql n'en est pas capable, de plus je n'utilise pas phpmyadmin mais Webmin.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Ca n'a rien à voir. Ne peux tu pas faire ceci :

echo "INSERT INTO `Table2` ( `id` , `url` , `titre` , `description` , `keyword` , `point` , `notfound` )
VALUES ( '', '$url', '$title', '$description', '$keywords', 1, 'non' );";

Qu'est qui t'en empêche?

Portekoi

Lien vers le commentaire
Partager sur d’autres sites

Justement c'est ça ma question , mon script devrais fonctionner parfaitement mais les données ne s'ajoutes pas et aucune erreur.

J'ai essayer d'ajouter une entrée via webmin en respectant les même caractèristiques de mon script et l'ajout ce faire sans problème.

Est ce qu'on peu travailler sur une table 2 en étant dans une boucle de données 1? Sinon comment extraire mes données de ma boucle 1 pour les mettre dans ma table 2.

Lien vers le commentaire
Partager sur d’autres sites

Re,

Si tu ne fais pas ce que je te demande, je ne vois pas comment t'aider plus.

Donc bon courage :)

Portekoi

<{POST_SNAPBACK}>

Si tu comprend pas que je te dis que j'ai pas phpmyadmin et que la req nécéssite d'avoir des données en provenance de meta tag t'es pas les meilleur modo du monde.

Ne te sent pas obliger de répondre aux appel à l'aide de tous tes visiteurs, contente toi d'aider ceux que tu sais aider ;)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Ce ne sont pas seuelement "ses" visiteurs, le Hub est une communauté d'entraide...il essaie de t'aider et tu ne semble pas disposer à accepter son aide...

Bref, passons à ton problème... après ta requête INSERT, as-tu essayé d'afficher le dernier message d'erreur généré par MySQL ?

Sinon, utilise ce code juste après la requête INSERT :

	echo mysql_errorno()." : ".mysql_error();

Lien vers le commentaire
Partager sur d’autres sites

Si tu comprend pas que je te dis que j'ai pas phpmyadmin et que la req nécéssite d'avoir des données en provenance de meta tag t'es pas les meilleur modo du monde.

Ne te sent pas obliger de répondre aux appel à l'aide de tous tes visiteurs, contente toi d'aider ceux que tu sais aider ;)

Ta requete plante dans... un script php.

Je te demande de faire un echo de ta requete dans... un script php.

Qu'est ce que tu ne comprends pas dans ma demande?

Si ta requete ne se fait pas dans ton script mais fonctionne dans ton SGBDR, as t on avis, d'ou viens le problème?

Donc affiche ta requete ou, comme TheRec te le demande, affiche un mysql_error()...

Portekoi

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...