Aller au contenu

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

Featured Replies

Posté(e)

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 :)

Posté(e)

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

Archivé

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