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 24/01/2010, 18h46   #1 (permalink)
Invité de passage
 
Date d'inscription: janvier 2010
Messages: 2
Par défaut Insertion de données xml dans bdd mysql

bonjour tout le monde.

J'ai un petit souci et je me tourne vers vous pour savoir si cela est déjà arrivé à quelqu'un ou si un de vous pourrais m'aider.

Voilà, je souhaite insérer des données récupérées automatiquement dans des fichiers xml distants (en entrant l'URL du fichier).

Ma procédure est simple en soit :
1) je récupère le fichier
2) pour chaque article je récupère les infos que je veux (avec foreach)
3) je les transfère chacunes dans des variables
4) je fais un INSERT dans ma bdd avec toutes les variables

Le problème est que, lorsque j'affiche seulement les variables, tout marche normalement, mais à partir du moment où je veux les insérer, cela me bloque.

Je vous met le code, j'espère que quelqu'un pourra m'orienter vers une solution, parce que ca fait un moment que je cherche et je n'y arrive pas...

Merci d'avance.

Le code :

Code :
if (isset($_GET['url']))
		{
			$files = $_GET['url'];
	
		$produit = simplexml_load_file($files);
		$carac = $produit->children();
		foreach ($carac as $car)
			{
			$nom = $car->nom;
			$marque = $car->marque;
			$desc = $car->descriptif;
			$lien = $car->url;
			$prix = $car->prix;
			$devise = $car->prix['monnaie'];
			switch ($devise) {
			case "euro": $devise = '€'; break;
			}
			$img = $car->imgorig;
			if ($img=='')
			{
				$img= $car->image400;
			}
			echo "<tr><td><img src=".$img." width=50></td><td>".$nom."</td><td>".$marque."</td><td>".$prix." ".$devise."</td>
				<td>
					<SELECT name='famille'>
									<option value=''></option>
									<option value='accessoire'>Accessoire</option>
									<option value='bijoux'>Bijoux</option>
									<option value='chaussures'>Chaussures</option>
									<option value='coussin'>Coussin</option>
									<option value='idcadeau'>Idée Cadeau</option>
									<option value='lingedelit'>Linge de lit</option>
									<option value='lingedetable'>Linge de table</option>
									<option value='luminaire'>Luminaire</option>
									<option value='petitmobilier'>Petit mobilier</option>
									<option value='rangement'>Rangement</option>
									<option value='sac'>Sac</option>
									<option value='objet'>Objet</option>
									<option value='vetement'>Vêtement</option>
									</select>
				</td>
			</tr>";
			$reqinsert = "INSERT INTO `produit` (`numprod`,`nomprod`,`createur`,`prix`,`devise`,`desc`,`adrimg`,`adrlien`,`famille`,`tag`,`comperso`,`visible`)
	VALUES (
	NULL , '$nom', '$marque', '$prix', '$devise', '".addslashes($desc)."', '$img', '$lien', '', '', '', 'x')";
			$query = mysql_query($reqinsert) or die("Erreur d'insertion");
			}
		
			
		}
		
	else {echo "Pas de source sélectionnée";}

Dernière modification par sabotage ; 24/01/2010 à 19h30.
mathcanto est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/01/2010, 10h23   #2 (permalink)
Membre éclairé
 
Avatar de RunCodePhp
 
Date d'inscription: janvier 2010
Localisation: Ile De La Réunion
Messages: 392
Par défaut

Salut

Citation:
Le problème est que, lorsque j'affiche seulement les variables, tout marche normalement, mais à partir du moment où je veux les insérer, cela me bloque.
C'est quoi qui te bloc ?
Aucune insertion dans la BDD ?
Il y a des insertions mais du contenu non attendu, non conforme ?

As tu un message d'erreur ? S'il n'y a pas d'insertion alors que tu vois les données affichées, tu devrais justement avoir un message d'erreur.
Regarde dans tes logs d'erreurs Php (php_error.log).
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 28/01/2010, 10h56   #3 (permalink)
Invité de passage
 
Date d'inscription: janvier 2010
Messages: 2
Par défaut

Salut.

en fait, je me suis mal exprimé, les enregistrements ne se faisaient pas dans la table.

Mais je viens de résoudre le souci, c'était un problème de ponctuation entre ma requête dans le code et les informations qui transitaient.

Dans les infos que je voulais faire passer, il y avait des apostrophes et j'ai du remplacer les apostrophes de mon code par des guillemets... Des heures de prise de tête pour ça...

Enfin ça marche ! Merci quand même pour l'interêt porté à ma question !
mathcanto est déconnecté   Envoyer un message privé Réponse avec citation
NEWS PHPFAQ PHPCours PHPSources PHPLivres PHPScripts PHPOutils PHPComparatifsZend Framework

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 09h09.


Vos questions techniques : forum d'entraide PHP - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.