Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 08/03/2010, 15h13   #1
Invité de passage
 
haja ikalangita
Inscription : mars 2010
Messages : 8
Détails du profil
Informations personnelles :
Nom : haja ikalangita

Informations forums :
Inscription : mars 2010
Messages : 8
Points : 0
Points : 0
Par défaut update base de donnée à partir d'un fichier texte

Bonjour,

Je suis en train de mettre à jour une base de donnée de bible, cette dernière est en langue française et je voudrais la traduire en une autre langue dont je possède déjà la traduction dans un fichier texte.
dans le fichier texte chaque verset est sur chaque ligne, dans la base de donnée c'est le même dont chaque ligne a son identifiant.

J'ai le code suivant pour mettre à jour la base de donnée, cela marche sauf que le contenu du champ est remplacé par Array[0] .... Array[n].

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?PHP
class fichier
{
  var $fichier;
  var $handle;
  function fichier($chaine)
  {
    $this->fichier = $chaine;
  }
  function open()
  {
    $this->handle = @fopen($this->fichier,"r" );
  }
  function recupLigne()
  {
    $buffer = fgets($this->handle, 4096);
    return $buffer;
  }
  function stock()
  {
    $this->open("r" );
    if ($this->handle)
    {
      $tab = array();
      while (!feof($this->handle))
      {
        $ligne = $this->recupLigne();
        $tab[] = $this->traitement($ligne);
      }
      //$this->close();
      return $tab; 
    }
  }
  function traitement($chaine)
  {
    // fonction éventuelle de traitement
    return $chaine;
  }   
}
$monfichier = new fichier("Genesisy-1.txt" );
 
$montableau = $monfichier->stock();
$host="localhost";
$login="root";
$pass="";
$db="bible";
 
$connexion = mysql_connect($host,$login,$pass);
$connexion = mysql_select_db($db);
//$requette  = mysql_query("SELECT * FROM versets WHERE id='01O' AND ch=1");
 
for ($i=0;$i<=30;$i++){
$resultat = $montableau[$i];
echo $montableau [$i].'<br/>===========<br/>';
$requette = mysql_query("UPDATE versets SET LSG=$resultat WHERE vst='$i' AND ch='1' AND id='01O'");
 
 
}
 
?>
A noter que l'identifiant qui différencie les champs c'est vst.
Est ce que quelqu'un peut m'aider svp? merci
ikalangitahaja est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2010, 16h14   #2
Invité de passage
 
haja ikalangita
Inscription : mars 2010
Messages : 8
Détails du profil
Informations personnelles :
Nom : haja ikalangita

Informations forums :
Inscription : mars 2010
Messages : 8
Points : 0
Points : 0
Par défaut fichier texte

Citation:
Envoyé par ikalangitahaja Voir le message
Bonjour,

Je suis en train de mettre à jour une base de donnée de bible, cette dernière est en langue française et je voudrais la traduire en une autre langue dont je possède déjà la traduction dans un fichier texte.
dans le fichier texte chaque verset est sur chaque ligne, dans la base de donnée c'est le même dont chaque ligne a son identifiant.

J'ai le code suivant pour mettre à jour la base de donnée, cela marche sauf que le contenu du champ est remplacé par Array[0] .... Array[n].

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?PHP
class fichier
{
  var $fichier;
  var $handle;
  function fichier($chaine)
  {
    $this->fichier = $chaine;
  }
  function open()
  {
    $this->handle = @fopen($this->fichier,"r" );
  }
  function recupLigne()
  {
    $buffer = fgets($this->handle, 4096);
    return $buffer;
  }
  function stock()
  {
    $this->open("r" );
    if ($this->handle)
    {
      $tab = array();
      while (!feof($this->handle))
      {
        $ligne = $this->recupLigne();
        $tab[] = $this->traitement($ligne);
      }
      //$this->close();
      return $tab; 
    }
  }
  function traitement($chaine)
  {
    // fonction éventuelle de traitement
    return $chaine;
  }   
}
$monfichier = new fichier("Genesisy-1.txt" );
 
$montableau = $monfichier->stock();
$host="localhost";
$login="root";
$pass="";
$db="bible";
 
$connexion = mysql_connect($host,$login,$pass);
$connexion = mysql_select_db($db);
//$requette  = mysql_query("SELECT * FROM versets WHERE id='01O' AND ch=1");
 
for ($i=0;$i<=30;$i++){
$resultat = $montableau[$i];
echo $montableau [$i].'<br/>===========<br/>';
$requette = mysql_query("UPDATE versets SET LSG=$resultat WHERE vst='$i' AND ch='1' AND id='01O'");
 
 
}
 
?>
A noter que l'identifiant qui différencie les champs c'est vst.
Est ce que quelqu'un peut m'aider svp? merci
Personne n'a une solution? oups c'est dommage alors ... :-(

Dernière modification par ikalangitahaja ; 08/03/2010 à 16h15. Motif: personne
ikalangitahaja est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2010, 13h42   #3
Invité de passage
 
haja ikalangita
Inscription : mars 2010
Messages : 8
Détails du profil
Informations personnelles :
Nom : haja ikalangita

Informations forums :
Inscription : mars 2010
Messages : 8
Points : 0
Points : 0
Par défaut uregent

---

Dernière modification par ikalangitahaja ; 10/03/2010 à 11h40.
ikalangitahaja est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 17h54.


 
 
 
 
Partenaires

Hébergement Web