creation de sites web :

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

annonces immobilieres de particuliers
Autres messages sur des sujets similaires :
Obtenir la dernière valeur de la clé primaire d'une table
afficher une page HTML à partir d'un tableau
insertion dans table
Fichiers et bases de données en JS
CSS pour un tableau ?
Cours HTML / Javascript / PHP disponibles :
Créer des tableaux en HTML



 Retour Site Honolulu  |  Nouveau sujet  |  Retour aux sujets  |  Chercher  |  Connexion    
 Rentrer des données d'un tableau dans une table
Auteur: Lola
(--.bordeaux.inra.fr)
Date: 24-08-2002 16:37
 messages postés sur  la création de sites web [ msg ]
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

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: honolulu
((---.free.fr)
Date: 24-08-2002 17:31
 messages postés sur  la création de sites web [ msg ]
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']')";

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: Lola
(--.bordeaux.inra.fr)
Date: 24-08-2002 18:13
 messages postés sur  la création de sites web [ msg ]
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");

#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") {

$tmptab=split(':',$line);
if ($tmptab[0]=="Author")
$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","") or die ("Impossible de se connecter");
@mysql_select_db("ecostar") or die ("Pas possible de trouver la base");


$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

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: honolulu
((---.free.fr)
Date: 24-08-2002 20:29
 messages postés sur  la création de sites web [ msg ]
remplace $verif2=mysql($requete) or die ("Erreur MySQL : ".mysql_error());

par

$verif2 = mysql_query("$requete",$id_connexion);

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: honolulu
((---.free.fr)
Date: 24-08-2002 20:30
 messages postés sur  la création de sites web [ msg ]
zut, tu enlèveras les quotes à $requete
donc

$verif2 = mysql_query($requete,$id_connexion);

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: honolulu
((---.free.fr)
Date: 24-08-2002 20:39
 messages postés sur  la création de sites web [ msg ]
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.

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: Lola
(--.bordeaux.inra.fr)
Date: 25-08-2002 20:00
 messages postés sur  la création de sites web [ msg ]
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...

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: honolulu
((---.free.fr)
Date: 26-08-2002 00:45
 messages postés sur  la création de sites web [ msg ]
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") ???

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: Lola
(--.bordeaux.inra.fr)
Date: 26-08-2002 09:48
 messages postés sur  la création de sites web [ msg ]
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.

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: honolulu
((---.free.fr)
Date: 26-08-2002 11:02
 messages postés sur  la création de sites web [ msg ]
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: machin:Penguin: 265-276

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

<?
$ouvre=fopen("bibli.txt","r");
$lit=fread($ouvre,filesize("bibli.txt"));
$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);
?>

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: lola
(--.bordeaux.inra.fr)
Date: 26-08-2002 13:34
 messages postés sur  la création de sites web [ msg ]
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.

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: honolulu
((---.free.fr)
Date: 26-08-2002 13:59
 messages postés sur  la création de sites web [ msg ]
ouais, pour la boucle (je t'avais prévenu :o))
essaye ça...

while (!feof($fdl)){
$content=fgets($fdl,4096);
.......................}

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: Lola
(--.bordeaux.inra.fr)
Date: 26-08-2002 14:46
 messages postés sur  la création de sites web [ msg ]
Ca tourne tjs en boucle à l'infini.....

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: honolulu
((---.free.fr)
Date: 26-08-2002 14:55
 messages postés sur  la création de sites web [ msg ]
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") {

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

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: Lola
(--.bordeaux.inra.fr)
Date: 26-08-2002 15:13
 messages postés sur  la création de sites web [ msg ]
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...

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: honolulu
((---.free.fr)
Date: 26-08-2002 15:20
 messages postés sur  la création de sites web [ msg ]
ben à mon avis, s'il y a une boucle, ça pourrait bien venir de là .. vire le doublon en fin de script.

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: Lola
(--.bordeaux.inra.fr)
Date: 26-08-2002 15:25
 messages postés sur  la création de sites web [ msg ]
j'ai déjà essayé, et ça boucle tjrs

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: Lola
(--.bordeaux.inra.fr)
Date: 26-08-2002 15:34
 messages postés sur  la création de sites web [ msg ]
Maintenant j'ai un pb différent

En applicant ce code :

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

#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") {


//echo $content;
$tmptab=split(':',$content);
//echo $tmptab[0];
if ($tmptab[0]=="Author")
$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

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: Lola
(--.bordeaux.inra.fr)
Date: 26-08-2002 15:40
 messages postés sur  la création de sites web [ msg ]
mais ça ne tourne plus indéfiniment en boucle ce qui est déjà bien

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: honolulu
((---.free.fr)
Date: 26-08-2002 15:59
 messages postés sur  la création de sites web [ msg ]
avec.........

<?
$fd1=fopen("Endnote.txt", "r");
$tab;
$i=0;
$lit=fread($fd1,filesize("Endnote.txt"));
$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")
$tab[$i][$tmptab[0]]=$tmptab[1];
echo $tmptab[1];
}
?>

ça donne quoi.......

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: lola
(--.bordeaux.inra.fr)
Date: 26-08-2002 16:10
 messages postés sur  la création de sites web [ msg ]
Ca donne ça :

Array ( [2] => Array ( [Author] => Fields, P.;Kuronic, Z.; Fleurat-Lessard, F. ) [14] => Array ( [Author] => (auteur2) ) )

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: lola
(--.bordeaux.inra.fr)
Date: 26-08-2002 16:13
 messages postés sur  la création de sites web [ msg ]
C'est bcq mieux !

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: lola
(--.bordeaux.inra.fr)
Date: 26-08-2002 16:25
 messages postés sur  la création de sites web [ msg ]
je mets quoi dans le values du insert into ?

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: honolulu
((---.free.fr)
Date: 26-08-2002 17:01
 messages postés sur  la création de sites web [ msg ]
réessaye définitivement ce code-ci (modifié) , la réponse y est :o))

<?
$fd1=fopen("Endnote.txt", "r");
$tab;
$i=0;
$lit=fread($fd1,filesize("Endnote.txt"));
$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"){
$tab[$i][$tmptab[0]]=$tmptab[1];
echo $tmptab[1];
}
}
?>

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: Lola
(--.bordeaux.inra.fr)
Date: 26-08-2002 17:37
 messages postés sur  la création de sites web [ msg ]
dans $tmptab j'ai bien mes deux valeurs :

Fields, P.;Kuronic, Z.; Fleurat-Lessard, F.
auteur2

mais je ne sais toujours pas koi mettre ds le Values du insert into.
J'ai fais pleins de tentatives en vain...

merci d'avance

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: honolulu
((---.free.fr)
Date: 26-08-2002 17:51
 messages postés sur  la création de sites web [ msg ]
!??!!

ben tu mets
$requete="INSERT INTO bibliography (authors) VALUES ('$tmptab[1]')";
ça devrait marcher... à condition
1) de te connecter à mysql avant d'ouvrir le fichier texte
2) de mettre ta requête dans la boucle ! pour qu'à chaque fois qu'il y a un auteur il l'insère et aussi pour que la valeur de $tmptab[1] soit reconnue (en dehors de la boucle ça n'est pas forcément le cas........)

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: Lola
(--.bordeaux.inra.fr)
Date: 26-08-2002 17:59
 messages postés sur  la création de sites web [ msg ]
Oui j'avais trouvé finalement.
Il fallait mettre la requête dans le if et dans le for.

Merci mille fois pour ton aide et ta patience

Répondre à ce message
 
 Re: Rentrer des données d'un tableau dans une table
Auteur: honolulu
((---.free.fr)
Date: 26-08-2002 18:10
 messages postés sur  la création de sites web [ msg ]
je t'en prie :o)
tiens, un petit cadeau, ton code dépouillé de ce dont il n'a pas vraiment besoin :o)) il sera plus léger......

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

Répondre à ce message
 Retour Site Honolulu  |  Liste des Forums    

 Liste des Forums  |  Nouvel utilisateur ? Enregistrez-vous ici 
 Connexion
 Nom d'utilisateur:
 Mot de passe:
 Enregistrer mon profil:
   
 Mot de passe perdu ?
Écrivez votre adresse Email ou votre Identifiant ci-dessous et un nouveau mot de passe sera envoyé sur l'Email lié à votre profil.
phorum.org
Honolulu : créateur de site internet à Annecy et sur le web !