Membres


Pas encore membre ?
inscrivez-vous ici

Connexion :
Login
Code
Mot de passe perdu ?
Liste des membres

bug avec mon script

Bug avec mon script


Bug avec mon script     Posté le 13/09/2004 à 00:00
Malouk
Moderateur
Malouk
Site perso
227 posts
Inscrit le : 0/00/0000
Salut,

J'ai créer un petit script qui vas chercher des news dans une table (celle de phpnuke) et qui les transfèrent dans un autre script de news.

Mon script fonctionne sauf que, au lieu de transférer les 899 news comme il devrait le faire, il en transfère 218. En plus les news transférées sont prises de façon alétoire. Ce n'est pas les 218 premières, ou dernières smiley

Voilà le code de mon script :


/connexion à la base
 $db=mysql_connect("$host", "$user", "$pass");
  if(!$db){ print "erreur connection $db<br>"; exit; }

// on choisit la bonne base
 if(!mysql_select_db("$base",$db)){
  print "erreur ".mysql_error()."<br>";
  mysql_close($db);
  exit;
 }




$sql= "SELECT sid, title, time, hometext, bodytext, DATE_FORMAT(time,'%d/%m/%Y') AS datefr FROM nuke_stories"; //requête
      
$result = mysql_query($sql);
   if (!$result) {
            echo "Error";
            return;
        }

echo "<b>Transfert des news..</b><br><br>";

while ($row = mysql_fetch_array($result)) {
    $id_news = $row['sid'];
    $dateNews = $row['datefr'];
    $titreNews = $row['title'];
        $newshome = $row['hometext'];
        $newsbody = $row['bodytext'];
    $texteNews = "$newshome$newsbody";
        $ordreNews = $row['time'];
        $id_autnews = "1";
$result2 = mysql_query("INSERT into aphp_news (id_news ,dateNews, titreNews, texteNews, ordreNews, id_autnews ) values ('$id_news','$dateNews', '$titreNews', '$texteNews', '$ordreNews', '$id_autnews' )");
}
mysql_free_result($result);
echo "terminé";


Si quelqu'un a une idée du pourquoi de ce bug ?
Merci d'avance smiley

________________________
Informatique-Facile
 
Réponse à : Bug avec mon script     Posté le 13/09/2004 à 17:33
MystM
Membre
Avatar
Site perso
221 posts
Inscrit le : 2/09/2003
Mais quel homme ce malouk ! smiley

bon, comme tu t'y attend, pas de reponse a ton prob venant de moi smiley par contre, j'aime bien l'idée du script smiley

tu vas passer sous un script de news indépendant ?

_______________________
http://www.info-concept.net

Dossiers informatiques et fiches pratiques
 
Réponse à : Bug avec mon script     Posté le 13/09/2004 à 17:55
Malouk
Moderateur
Avatar
Site perso
227 posts
Inscrit le : 0/00/0000
Je vais utiliser artiphp. C'est un cms, mais pas comme nuke ou xoops.

L'avantage, c'est que il est plus léger, et qu'on peut faire ce que l'on veut avec. Il n'y a pas ce système de blocs comme pour les portails, tout se fait par include, ce qui fait qu'on peut organiser son thème comme on le désire.

_______________________
Informatique-Facile
 
Réponse à : Bug avec mon script     Posté le 13/09/2004 à 18:49
sky
Administrateur
Avatar
Site perso
4188 posts
Inscrit le : 13/08/2003
Slt malouk,

Avant d'inserz tes données, fais un petit echo pour voir ce que tu sort de ta requete.

ex :

 <?php
$db
=mysql_connect("$host""$user""$pass");
 if(!
$db){ print "erreur connection $db<br>"; exit; }

if(!
mysql_select_db("$base",$db)){
 print 
"erreur ".mysql_error()."<br>";
 
mysql_close($db);
 exit;
}

$sql"SELECT sid, title, time, hometext, bodytext, DATE_FORMAT(time,'%d/%m/%Y') AS datefr FROM nuke_stories";

     
$result mysql_query($sql);
$a=0;

while (
$row mysql_fetch_array($result)) {
    
$id_news $row['sid'];
    
$dateNews $row['datefr'];
    
$titreNews $row['title'];
    
$newshome $row['hometext'];
    
$newsbody $row['bodytext'];
    
$texteNews "$newshome$newsbody";
    
$ordreNews $row['time'];
    
$id_autnews "1";
  
$a++;
  echo 
'ID : '.$id_news.' OK<br>';

}

echo 
'Nombre de sortie : '.$a;
?> 


S'il te sort tous les résultats qu'il te faut, c'est que ton insertion ce passe mal, sinon, c'est la requete.

Sky

_______________________
Graphiks : Cours PHP
Image
=> à quoi sert internet explorer ?
=> à télécharger firefox
 
Réponse à : Bug avec mon script     Posté le 13/09/2004 à 18:55
Malouk
Moderateur
Avatar
Site perso
227 posts
Inscrit le : 0/00/0000
Merci de te pencher sur mon cas smiley

Je viens de tester ça, et j'ai bien les 899.

Qu'est ce qui pourrait bien faire planter l'insertion des données ? smiley

_______________________
Informatique-Facile
 
Réponse à : Bug avec mon script     Posté le 13/09/2004 à 19:16
sky
Administrateur
Avatar
Site perso
4188 posts
Inscrit le : 13/08/2003
Pour l'insertion des données, je préfère cette version (plus sur) :


Voici un exmeple de requete qui est facile à comprendre, et à corriger :


<?php
$db
=mysql_connect("$host""$user""$pass");
if(!
$db){ print "erreur connection $db<br>"; exit; }

if(!
mysql_select_db("$base",$db)){
print 
"erreur ".mysql_error()."<br>";
mysql_close($db);
exit;
}

$sql"SELECT sid, title, time, hometext, bodytext, DATE_FORMAT(time,'%d/%m/%Y') AS datefr FROM nuke_stories";

   
$result mysql_query($sql);
$a=0;

while (
$row mysql_fetch_array($result)) {
   
$id_news $row['sid'];
   
$dateNews $row['datefr'];
   
$titreNews $row['title'];
   
$newshome $row['hometext'];
   
$newsbody $row['bodytext'];
   
$texteNews "$newshome$newsbody";
   
$ordreNews $row['time'];
   
$id_autnews "1";

$requete "INSERT INTO aphp_news SET

         id_news='$id_news' ,
         dateNews='$dateNews' ,
         titreNews='$titreNews' ,
         texteNews='$texteNews' ,
         id_autnews='$id_autnews' ,
         ordreNews='$ordreNews'"
;

$resultat mysql_query ($requete) or or die ("erreur : ".mysql_error()."");
echo 
'OK pour la reference : '.$id_news.'<br>';
}

echo 
'<br><br><b>Insertion fini :)</b>';
?>



Il faudrai que tu vérifie bien le nom de tes champ...


Sky

_______________________
Graphiks : Cours PHP
Image
=> à quoi sert internet explorer ?
=> à télécharger firefox
 
Réponse à : Bug avec mon script     Posté le 13/09/2004 à 19:59
Malouk
Moderateur
Avatar
Site perso
227 posts
Inscrit le : 0/00/0000
Ta méthode m'a donné un message d'erreur, ce qui m'a fait comprendre d'où venait le problème smiley

C'est des caractéres dans le contenu de certaines news qui faisait planter la requête.

Avec un stripslashes et un petite fonction reprise de nuke qui nettoie le code, ça passe sans problème smiley

Merci pour ton aide smiley

_______________________
Informatique-Facile
 
Réponse à : Bug avec mon script     Posté le 13/09/2004 à 20:00
sky
Administrateur
Avatar
Site perso
4188 posts
Inscrit le : 13/08/2003
Ha oui lol smiley
Avais oublier ça mdr smiley

lol

Sky

_______________________
Graphiks : Cours PHP
Image
=> à quoi sert internet explorer ?
=> à télécharger firefox
 
Vous n'est pas connecté en temps que membre, parceque j'en ai marre du spam, SEUL les membres peuvent poster des messages sur le forum.

Nous  -  Plan du site  -  Informations légale  -  Contact  -  © Graphiks.net