Bienvenu(e)! Identification Créer un nouveau profil

Recherche avancée

Rentrer des données d'un tableau dans une table

Envoyé par Lola 
Rentrer des données d'un tableau dans une table
samedi 24 août 2002 16:37:56
Bonjour,

Je souhaite rentrer des données d'un tableau à deux dimensions dans une table. Mon tableau s'appelle tab.

Voici ma requête :

"INSERT INTO bibliography (authors) VALUES ($tab[0]['Author'])"

Manque't'il quelquechose ?

Merci
Re: Rentrer des données d'un tableau dans une table
samedi 24 août 2002 17:31:47
salut,
éventuellement si problème il y a essaye avec les quotes dans les parenthèses de values...

"INSERT INTO bibliography (authors) VALUES ('$tab[0]['Author']')";
Re: Rentrer des données d'un tableau dans une table
samedi 24 août 2002 18:13:44
j'ai mis les quotes et maintenant j'ai l'erreur suivante:

Wrong parameter count for mysql() à la ligne
$verif2=mysql($requete) or die ("Erreur MySQL : ".mysql_error());

Voici l'allure de mon fichier :

Reference Type: Book section
Record Number: 9
Author: Fields, P.;Kuronic, Z.; Fleurat-Lessard, F.
Year: 2000
Title: Contrôle des insectes
Editor: machin
Book title:
ity:
Publisher:
Pages: 265-276.


Reference Type: Conference proceedings
record Number: 18
Author: (auteur2)
Year: 1998
Title: New quality
Editor:blabla
Conference Name:
Volume: II
Pages: 1617-1624
Date:14-19 Oct. 98

Reference Type:
etc...

voici mon code :

<?



$fd1=fopen("Endnote.txt", "r"winking smiley;

#j'isole les noms des auteurs dans un tableau 2D
$tab;
$i=0;
while($line = $content=fgets($fd1,4096)) {
#parcours d'une section
while($line != "\n"winking smiley {

$tmptab=split(':',$line);
if ($tmptab[0]=="Author"winking smiley
$tab[$i][$tmptab[0]]=$tmptab[1];
$line = $content=fgets($fd1,4096);
}
#lit le n suplementaire
$i++;
$line = $content=fgets($fd1,4096);
}


print_r($tab);

#j'insère les noms des auteurs extrait du fichier dans
une table
//Connexion à la base
$connexion=@mysql_connect("localhost","root",""winking smiley or die ("Impossible de se connecter"winking smiley;
@mysql_select_db("ecostar"winking smiley or die ("Pas possible de trouver la base"winking smiley;


$requete="INSERT INTO bibliography (authors) VALUES ('$tab[0]['Author']')";
echo $requete;
$verif2=mysql($requete) or die ("Erreur MySQL : ".mysql_error());
if($verif2)
{echo "l'insertion a réussi";}
else
{echo "l'insertion a ratée";}



mysql_close($connexion);


fclose($fd1);


Quel est le pb ? Merci
Re: Rentrer des données d'un tableau dans une table
samedi 24 août 2002 20:29:26
remplace $verif2=mysql($requete) or die ("Erreur MySQL : ".mysql_error());

par

$verif2 = mysql_query("$requete",$id_connexion);
Re: Rentrer des données d'un tableau dans une table
samedi 24 août 2002 20:30:20
zut, tu enlèveras les quotes à $requete
donc

$verif2 = mysql_query($requete,$id_connexion);
Re: Rentrer des données d'un tableau dans une table
samedi 24 août 2002 20:39:32
bon remoi, désolé je suis à la fois sur 3 forums différents en train de défendre mon livre d'or contre des ***** qui savent pas lire le français................

pour les quotes de $requete, essaye avec et sans, tu verras bien.
Re: Rentrer des données d'un tableau dans une table
dimanche 25 août 2002 20:00:47
J'ai fait un copier coller du code que j'ai mis chez toi hier (24/08) à 18h13
et qui marchait bien, et ça fait la même erreur. Donc ce n'est pas dû à une modif à ce niveau là, et je suis presque certaine de ne pas avoir touché le code ailleurs puisque ce matin je voulais rajouter le _query qui manquait et depuis...ça merdouille...
Re: Rentrer des données d'un tableau dans une table
lundi 26 août 2002 00:45:44
dis-moi, je suis en train de "bosser" sur ton script et j'ai une question......
quand tu dis " j'isole les noms des auteurs dans un tableau 2D" je voudrais savoir pourquoi 2D ??? quand par exemple, dans Author il y a 3 auteurs (Fields, P.;Kuronic, Z.; Fleurat-Lessard, F.), tu considère ces 3 noms comme 3 auteurs distincts ou comme un seul et unqiue auteur ("collectif"winking smiley ???
Re: Rentrer des données d'un tableau dans une table
lundi 26 août 2002 09:48:23
Je considère les 3 auteurs Fields, P.;Kuronic, Z.; Fleurat-Lessard, F. comme un seul et unique auteur.
Mon tableau est en 2D car j'ai non seulement besoin d'extraire les noms des auteurs de chaque section mais également le titre, l'année etc...
J'ai donc en colonne "auteur", "titre", "année",.. et en ligne les valeurs correspondantes.
Le script fonctonnait bien jusqu'à avant-hier, ça me donnait bien un tableau 2D
avec en tab[0]['Author'] les valeurs Fields, P.;Kuronic, Z.; Fleurat-Lessard, F
puis en tab[1]['Author'] la valeur auteur 2.
Ensuite je voulais insérer ces valeurs dans ma table et depuis que j'ai voulu rajouter le _query qui manquait, je sais pas ce qui s'est passé, mais j'ai ce pb.
Re: Rentrer des données d'un tableau dans une table
lundi 26 août 2002 11:02:39
salut,
quand tu fais echo $tab[0]['Author'];
tu obtiens quoi ???

ton fichier ce sont des données rentrées à l'aide d'un formulaire ou pas ?? car tu perds et de la mémoire et du temps pour les extraire.....
Voici ton fichier :

Reference Type: Book section
Record Number: 9
Author: Fields, P.;Kuronic, Z.; Fleurat-Lessard, F.
Year: 2000
Title: Contrôle des insectes
Editor: machin
Book title:
ity:
Publisher:
Pages: 265-276.

au lieu de ça, ton fichier gagnerait en rapidité et octets s'il ressemblait à ça :

Book section: 9: Fields, P.;Kuronic, Z.; Fleurat-Lessard, F.: 2000: Contrôle des insectes: machintongue sticking out smileyenguin: 265-276

et à l'extraction, tu ne t'embêtes plus avec un tableau 2D..... :

<?
$ouvre=fopen("bibli.txt","r"winking smiley;
$lit=fread($ouvre,filesize("bibli.txt"winking smiley);
$enregistrement=explode("\n",$lit);
$total=count($enregistrement)-1;
for ($i=0;$i<=$total-1;$i++)
{
$lignes=explode(":",$enregistrement[$i]);
echo "reference = $lignes[0]<br>";
echo "record = $lignes[1]<br>";
echo "auteur = $lignes[2]<br>";
echo "year = $lignes[3]<br>";
etc etc................................
}
fclose($ouvre);
?>
Re: Rentrer des données d'un tableau dans une table
lundi 26 août 2002 13:34:27
Avant qu'il ne m'affiche l'erreur des 30 secondes, il m'affichait
Fields, P.;Kuronic, Z.; Fleurat-Lessard, F. quand je faisais echo $tab[0]['Author']; ce qui est normal.

Mon fichier ne contient pas de données rentrées dans un formulaire, c'est un fichier qui est trouvé par l'utilisateur grâce à un bouton parcourir et qui provient de l'extérieur.

Finalement en mettant des print un peu partout il s'avère qu'il fait une boucle à l'infini, et ce doit être au niveau du
while( $content=fgets($fd1,4096)) que ça boucle à l'infini je pense.
Re: Rentrer des données d'un tableau dans une table
lundi 26 août 2002 13:59:53
ouais, pour la boucle (je t'avais prévenu yawning smiley))
essaye ça...

while (!feof($fdl)){
$content=fgets($fdl,4096);
.......................}
Re: Rentrer des données d'un tableau dans une table
lundi 26 août 2002 14:46:23
Ca tourne tjs en boucle à l'infini.....
Re: Rentrer des données d'un tableau dans une table
lundi 26 août 2002 14:55:23
pourquoi tu fais ça deux fois dans un même script ???????

while($line = $content=fgets($fd1,4096)) { // premiere fois
#parcours d'une section
while($line != "\n"winking smiley {

$tmptab=split(':',$line);
if ($tmptab[0]=="Author"winking smiley
$tab[$i][$tmptab[0]]=$tmptab[1];
$line = $content=fgets($fd1,4096);
}
#lit le n suplementaire
$i++;
$line = $content=fgets($fd1,4096); // deuxième fois
}
Re: Rentrer des données d'un tableau dans une table
lundi 26 août 2002 15:13:31
Je t'avoue que c'est pas moi qui l'ait écrit. Qu'un m'a dit essaye ça, et ça a marché, et j'étais tellement contente de pouvoir enfin avancer que j'ai pas trop cherché à comprendre car j'ai déjà bcq perdu de temps. Mais finalement
ça bug...
Re: Rentrer des données d'un tableau dans une table
lundi 26 août 2002 15:20:34
ben à mon avis, s'il y a une boucle, ça pourrait bien venir de là .. vire le doublon en fin de script.
Re: Rentrer des données d'un tableau dans une table
lundi 26 août 2002 15:25:24
j'ai déjà essayé, et ça boucle tjrs
Re: Rentrer des données d'un tableau dans une table
lundi 26 août 2002 15:34:16
Maintenant j'ai un pb différent

En applicant ce code :

$fd1=fopen("Endnote.txt", "r"winking smiley;

#j'isole les noms des auteurs dans un tableau 2D
$tab;
$i=0;

while($content=fgets($fd1,4096)) {
#parcours d'une section



while($content != "\n"winking smiley {


//echo $content;
$tmptab=split(':',$content);
//echo $tmptab[0];
if ($tmptab[0]=="Author"winking smiley
$tab[$i][$tmptab[0]]=$tmptab[1];
print_r($tab);
$content=fgets($fd1,4096);
}
#lit le n suplementaire
$i++;

}


j'obtiens ceci :

Array ( [0] => Array ( [Author] => Fields, P.;Kuronic, Z.; Fleurat-Lessard, F. ) ) Array ( [0] => Array ( [Author] => Fields, P.;Kuronic, Z.; Fleurat-Lessard, F. ) ) Array ( [0] => Array ( [Author] => Fields, P.;Kuronic, Z.; Fleurat-Lessard, F. ) ) Array ( [0] => Array ( [Author] => Fields, P.;Kuronic, Z.; Fleurat-Lessard, F. ) ) Array ( [0] => Array ( [Author] => Fields, P.;Kuronic, Z.; Fleurat-Lessard, F. ) ) Array ( [0] => Array ( [Author] => Fields, P.;Kuronic, Z.; Fleurat-Lessard, F. ) ) Array ( [0] => Array ( [Author] => Fields, P.;Kuronic, Z.; Fleurat-Lessard, F. ) ) Array ( [0] => Array ( [Author] => Fields, P.;Kuronic, Z.; Fleurat-Lessard, F. ) ) Array ( [0] => Array ( [Author] => Fields, P.;Kuronic, Z.; Fleurat-Lessard, F. ) ) Array ( [0] => Array ( [Author] => Fields, P.;Kuronic, Z.; Fleurat-Lessard, F. ) ) Array ( [0] => Array ( [Author] => Fields, P.;Kuronic, Z.; Fleurat-Lessard, F. ) [2] => Array ( [Author] => (auteur2) ) ) Array ( [0] => Array ( [Author] => Fields, P.;Kuronic, Z.; Fleurat-Lessard, F. ) [2] => Array ( [Author] => (auteur2) ) ) Array ( [0] => Array ( [Author] => Fields, P.;Kuronic, Z.; Fleurat-Lessard, F. ) [2] => Array ( [Author] => (auteur2) ) ) Array ( [0] => Array ( [Author] => Fields, P.;Kuronic, Z.; Fleurat-Lessard, F. ) [2] => Array ( [Author] => (auteur2) ) ) Array ( [0] => Array ( [Author] => Fields, P.;Kuronic, Z.; Fleurat-Lessard, F. ) [2] => Array ( [Author] => (auteur2) ) ) Array ( [0] => Array ( [Author] => Fields, P.;Kuronic, Z.; Fleurat-Lessard, F. ) [2] => Array ( [Author] => (auteur2) ) ) Array ( [0] => Array ( [Author] => Fields, P.;Kuronic, Z.; Fleurat-Lessard, F. ) [2] => Array ( [Author] => (auteur2) ) ) Array ( [0] => Array ( [Author] => Fields, P.;Kuronic, Z.; Fleurat-Lessard, F. ) [2] => Array ( [Author] => (auteur2) ) ) INSERT INTO bibliography (authors) VALUES ('Array['Author']')Erreur MySQL : Something is wrong in your syntax près de 'Author']')' à la ligne 1
Re: Rentrer des données d'un tableau dans une table
lundi 26 août 2002 15:40:12
mais ça ne tourne plus indéfiniment en boucle ce qui est déjà bien
Re: Rentrer des données d'un tableau dans une table
lundi 26 août 2002 15:59:41
avec.........

<?
$fd1=fopen("Endnote.txt", "r"winking smiley;
$tab;
$i=0;
$lit=fread($fd1,filesize("Endnote.txt"winking smiley);
$enregistrement=explode("\n",$lit);
$total=count($enregistrement)-1;
for ($i=0;$i<=$total-1;$i++)
{
$tmptab=split(':',$enregistrement[$i]);
//echo $tmptab[0];
if ($tmptab[0]=="Author"winking smiley
$tab[$i][$tmptab[0]]=$tmptab[1];
echo $tmptab[1];
}
?>

ça donne quoi.......
Seuls les utilisateurs enregistrés peuvent poster des messages dans ce forum.

Cliquez ici pour vous connecter