IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

php génération xml


Sujet :

PHP & Base de données

  1. #1
    Invité(e)
    Invité(e)
    Par défaut php génération xml
    Bonjour, j'ai un problème concernant mon script génération fichier xml je ne vois pas le problème pouvez vous m'aider merci

    l'erreur: Warning: mysql_fetch_array() expects parameter 1 to be resource, string given in C:\wamp\www\catalogue\index.php on line 12

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <?php
     
    $bdd = mysql_connect("localhost", "root", "") or die("Erreur : ".mysql_error());
    			mysql_select_db("ss", $bdd) or die("Erreur : ".mysql_error());
     
    $q = "SELECT c.Id, c.nom, c.description, c.Designer, c.prix2, cp.Photo
    			FROM produits c
    			INNER JOIN photos cp
    			ON c.Id=cp.Id";
     
    $xml = '<?xml version="1.0" encoding="ISO-8859-1"?>'.'<catalogue>';
    		while ($row = mysql_fetch_array($q)) {
    			$xml .= '<produit>';
    			$xml .= '<identifiant>'.$row['Id'].'</identifiant>';
    			$xml .= '<nom>'.$row['nom'].'</nom>';
    			$xml .= '<marque>'.$row ['Designer'].'</marque>';
    			$xml .= '<prix_ttc>'.$row ['Prix2'].'</prix_ttc>';
    			$xml .= '<descriptif_court>'.$row['description'].'</descriptif_court>';
     
     
    			$xml .= '</produit>';
    		}
    		$xml .= '</catalogue>';
     
    		$fp = fopen("catalogue.xml", 'w+');
    		fputs($fp, $xml);
    		fclose($fp);
     
    		echo 'Export XML effectue !<br><a href="catalogue.xml">Voir le fichier</a>';
     
     
     
     
    ?>

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    t'as pas fait de mysql_query

  3. #3
    Membre habitué Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Points : 197
    Points
    197
    Par défaut
    t'as oublié d'executer la requete : $q=mysql_query($q);

  4. #4
    Invité(e)
    Invité(e)
    Par défaut
    Oui merci j'ai vu cela,
    cela fonctione sauf que sa boucle toujour sur la mm ligne, je ne comprend pas


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    $bdd = mysql_connect("localhost", "root", "") or die("Erreur : ".mysql_error());
    			mysql_select_db("ss", $bdd) or die("Erreur : ".mysql_error());
     
    $q = "SELECT c.Id, c.nom, c.description, c.Designer, c.prix2 pprix, cp.Photo pphoto, s.Quantite
    			FROM produits c
    			INNER JOIN Photos cp
    			ON c.Id=cp.IdProduit
    			INNER JOIN  stock s 
    			ON c.Id=s.IdProduit
    			WHERE s.Quantite !=0
    			ORDER BY c.Id
    			LIMIT 0,30
    			";
     
    echo '<?xml version="1.0" encoding="ISO-8859-1"?>'.'<catalogue>';			
    while ($row = mysql_fetch_array(mysql_query($q))) {
     
    	echo '<produit>';
    			echo '<identifiant>'.$row['Id'].'</identifiant>';
    			echo '<nom>'.$row['nom'].'</nom>';
    			echo '<marque>'.$row['Designer'].'</marque>';
    			echo '<prix_ttc>'.$row['pprix'].'</prix_ttc>';
                        echo'<moyenne_image>'.$row['pphoto'].'</moyenne_image>';
    			echo '<descriptif_court>'.$row['description'].'</descriptif_court>';
    	echo '</produit>';
     
     
     
     
     
     
    }

  5. #5
    Invité(e)
    Invité(e)
    Par défaut
    c'est bon j'ai trouvé c'était par rapport ou j'avais placé mon mysql_query

    Avant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ($row = mysql_fetch_array(mysql_query($q)))
    apparament cela ne fonctione pas comme cela



    Aprés:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    bdd = mysql_connect("localhost", "root", "") or die("Erreur : ".mysql_error());
    			mysql_select_db("ss", $bdd) or die("Erreur : ".mysql_error());
     
    $q = mysql_query("SELECT c.Id, c.nom, c.description, c.Designer, c.prix2 pprix, cp.Photo pphoto, s.Quantite
    			FROM produits c
    			INNER JOIN Photos cp
    			ON c.Id=cp.IdProduit
    			INNER JOIN  stock s 
    			ON c.Id=s.IdProduit
    			WHERE s.Quantite !=0
    			ORDER BY c.Id
    			LIMIT 0,30
    			");
     
    echo '<?xml version="1.0" encoding="ISO-8859-1"?>'.'<catalogue>';			
    while ($row = mysql_fetch_array($q)) {
     
    	echo '<produit>';
    			echo '<identifiant>'.$row['Id'].'</identifiant>';
    			echo '<nom>'.$row['nom'].'</nom>';
    			echo '<marque>'.$row['Designer'].'</marque>';
    			echo '<prix_ttc>'.$row['pprix'].'</prix_ttc>';
                        echo'<moyenne_image>'.$row['pphoto'].'</moyenne_image>';
    			echo '<descriptif_court>'.$row['description'].'</descriptif_court>';
    	echo '</produit>';
     
    		echo '</catalogue>';
     
     
     
     
    }

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    active ton mysql.trace_mode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ini_set('mysql.trace_mode', true);

Discussions similaires

  1. [XSL] Génération menu dynamique d'un site : PHP & XSL & XML
    Par kaboume dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 24/11/2009, 17h48
  2. [XML] PHP et XML : remplacer les < et >
    Par firejocker dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 11/03/2006, 12h53
  3. [MySQL] Projet PHP : Génération de numéro de Références et Stockage
    Par Jimmy_S dans le forum PHP & Base de données
    Réponses: 136
    Dernier message: 27/10/2005, 16h22
  4. [Wamp] Cherche plateforme pour développer en php, mysql, xml, xsl
    Par ibtisss dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 10
    Dernier message: 18/10/2005, 17h31
  5. PHP dans XML ou XSL
    Par mathieu dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 31/08/2003, 21h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo