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

Langage PHP Discussion :

[Tableaux] XML parsing en PHP


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 29
    Points : 16
    Points
    16
    Par défaut [Tableaux] XML parsing en PHP
    Hello,

    J'essaye de "parser" ma librairie iTunes (que j'ai copiée dans le même dossier) avec le code suivant :

    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
    36
    37
    38
    39
    40
     
    <?php
    function cmp ($a, $b) {
    	$sort = !empty($_GET["sort_by"]) ? $_GET["sort_by"] : "Artist";
    	return strcmp($a[$sort], $b[$sort]);
    }
    usort($songs, "cmp");
     
    function array_to_table($array, $printable) {
    	//expects multi-dimensional array, all with the same keys
    	$first_time=TRUE;
    	$str = "<table border='1'>\n";
    	$str .= "<tr>\n";
    	foreach($array as $elem_key => $element) {
    			if($first_time) {
    				$header_items=array_keys($element);
    					foreach($header_items as $header) {
    						if(in_array($header, $printable)) {
    							$str .= "<th><a href='" . $_SERVER["PHP_SELF"]
    								. "?sort_by=" . urlencode($header) . "'>" . $header
    								. "</a></th>\n";
    						}
    					}
    				$str .= "</tr>\n";
    				$first_time=FALSE;
    			}
    			$str .= "<tr>\n";
    			foreach($element as $k => $v) {
    				if(in_array($k, $printable)) {
    					$str .= "<td>" . $v . "</td>\n";
    				}
    			}
    			$str .= "</tr>\n";
    	}
    	$str .= "</table>";
    	return $str;
    }
    $printable= array("Name", "Artist", "Album", "Size");
    echo array_to_table($songs, $printable);
    ?>
    Pour tout résultats j'ai

    Warning: usort() [function.usort.html]: The argument should be an array in /Library/WebServer/Documents/XML_parsing/itunes/dom_parse_itunes.php on line 4

    Warning: Invalid argument supplied for foreach() in /Library/WebServer/Documents/XML_parsing/itunes/dom_parse_itunes.php on line 9
    et un écran blanc dessous...

    Relu le code 10 fois, rien.

    Merci.

  2. #2
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Points : 2 498
    Points
    2 498
    Par défaut
    où est-ce que tu déclares ta variables $songs? Parce que d'après l'erreur ce ta variable n'est pas un array d'ou l'erreur dans le usort et le foreach.

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/02/2008, 09h46
  2. [DOM XML] Parse XML DOM avec PHP
    Par ®om dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 27/01/2007, 16h58
  3. Réponses: 5
    Dernier message: 01/10/2006, 16h55
  4. XML Parsing Error: not well-formed
    Par localhost dans le forum Valider
    Réponses: 5
    Dernier message: 16/06/2005, 14h20
  5. Réponses: 14
    Dernier message: 25/10/2004, 21h33

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