Aller au contenu

[PHP] insertion données depuis un fichier .SQL


dtom

Messages recommandés

bonjour à tous,

J'ai créer une table nommée (x_world ) qui est prete a recueillir les données ici http://s11.travian.fr/map.sql

mais je ne sais pas comment insérer les données, j'ai essayé ca... mais je pense qu'il faut mettre quelque chose de "spécial".

<?php

include "config/config.php";

//Verifie si on peut se connecter a la base sql
$connect=mysql_connect($host,$user,$pass) or die ("Impossible de se connecter");
mysql_select_db($base, $connect) or die ("Impossible de selectionner la base de donnees");

$sql = include "http://s11.travian.fr/map.sql";

EDIT : j'ai trouvé un super script (wget) qui réduit donc le probléme à la simple importation depuis un fichier sur le site web.

merci d'avance :)

Lien vers le commentaire
Partager sur d’autres sites

héhé,

j'ai un bout de réponse, je pose mon code qui pourra te guider un peu.

le code dans le fichier principal

if(@fopen('http://'.$travian_serveur['adresse'].'/map.sql', 'r')){ // verification de la présence du fichier
$content = file('http://'.$travian_serveur['adresse'].'/map.sql');// lecture du fichier, résultat dans un tableau
} else {
$content = false;
}// if
$result = $class_travian->updateMap($travian_serveur['numero'], $content);// appel de la methode de la classe

voici un bout de ma classe dans laquelle j'ai la mise à jour des données

	function updateMap($serveur, $content){
	global $db; // classe de requete mysql
	if($content != false){// on ne fait rien si fichier inexistant
		$sql = "TRUNCATE TABLE `site_travian_map_$serveur`";// on vide la table
		if ( !($db->sql_query($sql)) ){// requete mysql
			$error = $db->sql_error();
			echo $error["message"];
			return false;
		}// if
		for($debut = 0; $debut < count($content); $debut++){// boucle sur le tableau de donnée
		$sql2 = str_replace ("x_world", "site_travian_map_$serveur", $content[$debut]);// on change la table pour les données
			if ( !($db->sql_query($sql2)) )
			{
				$error = $db->sql_error();
				echo $error["code"].":".$error["message"];
				return false;
			}
		}
	}//if
	$this->updateMapDate($serveur);
	return true;
}

donc pour le fichier vérifie bien ca présence sinon ca finira par foutre le bordel.

la lecture du fichier le met dans un tableau ou chaque ligne de map.sql correspond à une ligne du fichier dans notre cas à chaque village.

voili voilou

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...