Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > SimpleXML
SimpleXML Forum d'entraide pour l'extension SimpleXML, qui permet de manipuler des documents XML en PHP (approche DOM).
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 23/06/2006, 20h29   #1
Invité régulier
 
Inscription : juin 2006
Messages : 77
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 77
Points : 7
Points : 7
Par défaut [SimpleXML] prendre une partie

Salut,

tout d'abord mon objectif : arriver a prendre un certains nombre de message suivant le premier message a afficher et ne nombre de messages par page.

Ensuite mon code actu :

Code :
1
2
3
4
5
6
7
8
9
10
11
<?php
class mess {
  function aff_mess($premierMess, $nbr_messPage) {
    $mess = simplexml_load_file('inc/messages.xml'); 
    foreach($mess->message as $message) {
    ?> <p id="infos_auteur">Par <?php echo utf8_decode($message['name']); ?>, note donnée : <?php echo utf8_decode($message['note']); ?></p>
    <p id="text"><?php echo utf8_decode($message); ?></p> <?php
    }
  }
}
?>
J'utilise la fonction simplexml, php5 uniquement

Donc voilà j'espère que vous aurez compris ...
zuxion est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2006, 23h44   #2
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

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

Informations forums :
Inscription : novembre 2004
Messages : 2 126
Points : 2 602
Points : 2 602
Citation:
tout d'abord mon objectif :
parfait !!

Citation:
Ensuite mon code actu :
cool, et avec les balises code !!

Citation:
Donc voilà j'espère que vous aurez compris ...
bah pas vraiment la question !!
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur.
Mon espace Développez : mes Créations.


Rencontre & Carte des Membres de Developpez.com, version 3.0
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2006, 08h49   #3
Invité régulier
 
Inscription : juin 2006
Messages : 77
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 77
Points : 7
Points : 7
Ben non mais j'aimerais arriver a mon objectif
Donc il faudrais m'aider pour y arriver.

Si c'est la formulation de mon message qui dérange voici une question : comment prendre un certain nombre de message a partir d'un nombre donné ?

Ces 2 facteurs sont les 2 paramètres de la fonction
zuxion est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2006, 12h45   #4
Membre régulier
 
Inscription : mars 2004
Messages : 201
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 201
Points : 72
Points : 72
Salut,

Voilà une fonction qui fait ce que tu demandes: (à adapter à tes besoins au niveau des balises, j'ai mis rss et channel vu que tu n'as pas posté ton rss ;)

Code :
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
41
42
43
44
45
46
47
48
49
 
function aff_mess($premierMess, $nbr_messPage) {
 
	$file = 'inc/messages.xml';
 
	// Balises de départ du flux: à remplacer par celles qui conviennent
	$str = "<rss>\r\n";
	$str .= "<channel>\r\n";
 
	$fp = @fopen($file, "r");
 
	$count = 0;
 
	// On parcourt le flux jusqu'au premier élément voulu
	while ($count < $premierMess) {
		$current_line = @fgets($fp, 8192);
 
		if (preg_match("/<message>/", $current_line)) {
			$count++;
		}
	}
 
	$str .= $current_line;
 
	$count = 0;
 
	// On construit le flux à partir du premier élément
	while ($count < $nbr_messPage) {
		$current_line = @fgets($fp, 8192);
 
		$str .= $current_line;
 
		if (preg_match("/<\/message>/", $current_line)) {
			$count++;
		}
	}
 
	@fclose($fp);
 
	$str .= "</channel>\r\n";
	$str .= "</rss>\r\n";
 
	$mess = simplexml_load_string($str);
 
	foreach($mess->message as $message) {
		?> <p id="infos_auteur">Par <?php echo utf8_decode($message['name']); ?>, note donnée : <?php echo utf8_decode($message['note']); ?></p>
		<p id="text"><?php echo utf8_decode($message); ?></p> <?php
	}
}
Le mieux c'est quand même que ça soit geré du coté du XML étant donné qu'on est obligés de récupérer tout le début du fichier sans s'en servir :/ mais j'avoue que le plus souvent c'est ainsi malheureusement...
hush est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h30.


 
 
 
 
Partenaires

Hébergement Web