begin process at 2012 05 27 19:12:51
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Xml

 > MANGATEQUE ADMINISTRABLE SANS BDD, UTILISATION DE SIMPLEXML

MANGATEQUE ADMINISTRABLE SANS BDD, UTILISATION DE SIMPLEXML


 Information sur la source

Note :
6,25 / 10 - par 4 personnes
6,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Xml Classé sous :mangateque, manga, xml, simplexml Niveau :Débutant Date de création :05/01/2007 Date de mise à jour :10/01/2007 20:07:51 Vu / téléchargé :5 801 / 499

Auteur : nacedo57400

Ecrire un message privé
Site perso
Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Cette mangateque vous permet de gérer votre colection de manga.
Elle est utilisable sans aucune Base de Données puisqu'elle utilise un fichier XML.
L'utilisation du fichier XML est faite grace à la classe SimpleXML, pour cela le serveur doit accepter le PHP5 (d'où les extension .php5).
Entre autre option, on apprend ici à ouvrir-créer un XML et y ajouter-éditer-supprimer un noeud, le tout avec PHP.

--version mono--
Vous remarquerez que le XML contient d'autres infos, elles serviront à terme pour une gestion multi-utilisateurs.

--version multi--
n'importe qui peut visualiser l'ensemble des mangateques, mais seul le créateur d'une mangateque peut la modifier, il peut également uploader un CSS pour modifier ça mise en forme
-> il suffit de lancer le fichier install.php

Source

  • <?
  • echo "tout est dans le ZIP";
  • //exemple de sauvegarde d'un fichier XML
  • // \n --> Nouvelle ligne (linefeed, LF ou 0x0A (10) en ASCII)
  • // \r --> Retour à la ligne (carriage return, CR ou 0x0D (13) en ASCII)
  • // \t --> Tabulation horizontale (HT ou 0x09 (9) en ASCII)
  • $contenu = "<?xml version='1.0' encoding=\"ISO-8859-1\" standalone='yes'?>\r\n";
  • $contenu .= "<animes>\r\n";
  • $contenu .= "\t<option>\r\n";
  • $contenu .= "\t\t<title>".$xml->option[0]->title."</title>\r\n";
  • $contenu .= "\t\t<name>".$xml->option[0]->name."</name>\r\n";
  • $contenu .= "\t\t<img>".$xml->option[0]->img."</img>\r\n";
  • $contenu .= "\t\t<css>".$xml->option[0]->css."</css>\r\n";
  • $contenu .= "\t</option>\r\n";
  • $classe = 0;
  • foreach ($xml->xpath('//anime') as $anime) {
  • if ($classe <> $id) { //on compare la variable incrémenté $classe à la position de la ligne à supprimer $id
  • $contenu .= "\t<anime>\r\n";
  • $contenu .= "\t\t<nom>".$anime->nom."</nom>\r\n";
  • $contenu .= "\t\t<episodes>".$anime->episodes."</episodes>\r\n";
  • $contenu .= "\t\t<total>".$anime->total."</total>\r\n";
  • $contenu .= "\t</anime>\r\n";
  • } else {
  • //on n'additionne pas la valeur, elle est donc supprimer
  • }
  • $classe++;
  • }
  • $contenu .="</animes>";
  • @unlink($fichier); //on supprime l'ancien fichier
  • $fp = fopen($fichier,"w"); //on créé le nouveau fichier
  • fseek($fp,0); //on se met au debut du fichier
  • fwrite($fp,$contenu); //on met la nouvelle valeur
  • fclose($fp); //on ferme le fichier.
  • ?>
<?
echo "tout est dans le ZIP";

//exemple de sauvegarde d'un fichier XML
// \n --> Nouvelle ligne (linefeed, LF ou 0x0A (10) en ASCII) 
// \r --> Retour à la ligne (carriage return, CR ou 0x0D (13) en ASCII) 
// \t --> Tabulation horizontale (HT ou 0x09 (9) en ASCII)
	$contenu = "<?xml version='1.0' encoding=\"ISO-8859-1\" standalone='yes'?>\r\n";
	$contenu .= "<animes>\r\n";
	$contenu .= "\t<option>\r\n";
	$contenu .= "\t\t<title>".$xml->option[0]->title."</title>\r\n";
	$contenu .= "\t\t<name>".$xml->option[0]->name."</name>\r\n";
	$contenu .= "\t\t<img>".$xml->option[0]->img."</img>\r\n";
	$contenu .= "\t\t<css>".$xml->option[0]->css."</css>\r\n";
	$contenu .= "\t</option>\r\n";
	
	$classe  = 0;
	foreach ($xml->xpath('//anime') as $anime) {
		if ($classe <> $id) { //on compare la variable incrémenté $classe à la position de la ligne à supprimer $id
			$contenu .= "\t<anime>\r\n";
			$contenu .= "\t\t<nom>".$anime->nom."</nom>\r\n";
			$contenu .= "\t\t<episodes>".$anime->episodes."</episodes>\r\n";
			$contenu .= "\t\t<total>".$anime->total."</total>\r\n";
			$contenu .= "\t</anime>\r\n";
		} else {
			//on n'additionne pas la valeur, elle est donc supprimer
		}
		$classe++;
	}
	$contenu .="</animes>";
	@unlink($fichier);				//on supprime l'ancien fichier
	$fp = fopen($fichier,"w");		//on créé le nouveau fichier
	fseek($fp,0);					//on se met au debut du fichier
	fwrite($fp,$contenu);			//on met la nouvelle valeur
	fclose($fp);					//on ferme le fichier.

?>

 Conclusion

faites <? phpinfo(); ?> pour connaitre la version de PHP sur votre serveur

la version multi-utilisateur est opérationelle sur http://mangateque.nacedo.eu/

merci à http://www.php.net/manual/fr/ref.simplexml.php

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

06 janvier 2007 23:48:35 :
ajout de la version multi-utilisateur
09 janvier 2007 20:12:50 :
installation "automatique", chaque utilisateur peut entièrement personaliser sa mangatèque (CSS, titre de page...), création d'image dynamique pour les forums
10 janvier 2007 19:06:00 :
rajout du zip oublié
10 janvier 2007 20:07:51 :
...

 Sources du même auteur

Source avec Zip Source avec une capture GESTIONNAIRE DE CONTACTS LOCALISÉS SUR UNE CARTE GOOGLE MAP
Source avec Zip Source avec une capture EUROCODE, DIMENSIONNEMENT DE POTEAUX MÉTALIQUES, XML, CSS3 &...
Source avec Zip Source avec une capture AVATAR PERSONNALISÉ POUR FORUM

 Sources de la même categorie

Source avec Zip JEU FRISE CHRONOLOGIQUE EN XML par mldvb
OBTENIR LES TAUX DE CHANGE DU JOUR EN EUROS par oallais
Source avec Zip AFFICHER LES FILM EN SALLE par slhuilli
Source avec Zip Source avec une capture MINI-PROCESSEUR XPROC (PIPELINE XML) par ordiman85
Source avec Zip Source avec une capture XML MAPPING TO CLASS OBJECTS / CHARGEMENT / PARSING / MODIFI... par aKheNathOn

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture VOIR QUI VISITE VOTRE SITE par Dariumis
BIBLIOTHÈQUE POLYVALENTE par Nort0n
Source avec Zip AFFICHER LES FILM EN SALLE par slhuilli
GÉNÉRATEUR DE MENU MULTILANGUE AVEC CONTROLE DU NIVEAU D'ACC... par lilippx
Source avec Zip Source avec une capture EUROCODE, DIMENSIONNEMENT DE POTEAUX MÉTALIQUES, XML, CSS3 &... par nacedo57400

Commentaires et avis

Commentaire de Tokuna le 05/01/2007 23:44:47

Tient !
C'est une source peu ordinaire.. je vais tester :)

Commentaire de Tokuna le 05/01/2007 23:53:46

Donc, de ce que j'ai vu.

- edit.php5?id=
On parle de manga, ou d'anime ?
Manga = tome (= livre)
Anime = épisode (=mini-film de 20 min).

De plus "épisodes totaux" et non "totals" non ?

- add.php5
Ici tu parles d'anime.. mais c'est une mangathèque non ?

De plus, aucun système de modération, n'importe qui peut tout supprimer.

Donc, conseils:
- différencie bien manga et anime (c'est con à dire, mais pour les fans -comme moi-, rien de pire que de voir des gens confondre).
- fait attention à ton orthographe.

Pour moi, cette source ne vaut pas grand chose telle qu'elle.. mais je salue l'initiative.
Si tu comptes l'améliorer, je serai là pour tester et te dire ce qui va pas (mais également ce qui va).

Commentaire de nacedo57400 le 06/01/2007 10:27:18

- actuelement la difference entre anime et manga papier n'est pas faite, mais cela est prevu sous peut avec 2 tableaux l'un à coté de l'autre pour bien séparer.

- la terme de mangateque m'est venu comme ça.... de toute façon je trouve que animeteque ça sonne moins bien.

- pour se qui est de l'orthographe j'ai corrigé une bonne partie de mon code.
$total vient du fait que je considere cette variable comme le "total" des épisodes.

- je n'avais tout simplement pas mis de moderation dans mon code car ce n'était pas le but rechercher, chacun est capable de la rajouter.
Par contre sur la nouvelle version multi-utilisateur, j'ai bien été obliger de mettre en place une moderation.
tout ceci est visualisable sur || http://nacedo.eu/mangateque/index.php ||

Commentaire de Tokuna le 06/01/2007 14:03:23

"- pour se qui est de l'orthographe j'ai corrigé une bonne partie de mon code.
$total vient du fait que je considere cette variable comme le "total" des épisodes."

Je ne parlais pas du tout du code, je parlais de la page d'édition.
"Anime :  Episode actuel :  Episodes totals :   " Moi j'aurai mis "Episodes totaux".

De ce que je suis avec ton principe de tableaux, ce qui pourrait être sympa de faire est de pouvoir créer des catégories.
Après, en haut de la page, tu places des boutons pour passer de catégories en catégories.
(Manga - Anime - OAV - Film - OST....)
Quitte à rajouter une place pour un commentaire "coffret collector limité à 5 000 exemplaires"... :)

Après, laissez n'importe-qui créer sa mangathèque... ça pourrait être sympa de le désactiver (c'est ce que j'ai fait pour www.keichi*.fr/agenda par exemple).

Voilà, et bonne continuation :)

Commentaire de nacedo57400 le 06/01/2007 23:57:30

Tokuna, tes idées sont plutôt sympa
j'vais penser à metre en place des catégories dès que j'aurai un peut plus de temps.
par contre je pense garder le principe de la libre création.

et sinon pour ceux qui se posent la question le mot de passe et le login pour la version multi du zip sont tous les deux "test"

Commentaire de dragonal42 le 10/01/2007 11:11:54

marche po en multi ....
le fichier install n exite pas ...

il faut modifier certains fichiers pour arriver à le fair tourner ....

peux tu le modifier pour que ça fonctionne du premier coup car c est vraiement une bonne idée !!

ciao

Commentaire de nacedo57400 le 10/01/2007 19:11:12

voila le nouveau ZIP contenant la version final a été ré-uploader, j'aivais du l'oublier.
pour ce qui est de l'installation vous constaterez que cela est nétement plus aisé grâce au fichier install.php.
sinon j'suis en cours de validation W3C, ça fait toujours un peut mieux...

Par contre est-ce que quelqu'un serai comment trier un XML pour l'afficher dans l'ordre croissant??? merci

Commentaire de webdeb le 14/01/2007 23:54:39

1/ Les balises PHP c'est <?php et pas <?
2/ On ne met pas de @ devant une fonction. Quand il y'a une erreur on la traite mais on ne la masque pas. A quoi sert le débugger sinon ?
3/ C'est quoi cette mode en ce moment à ne pas vouloir utiliser de BDD ? C'est fait pour ça, alors utilise-les. C'est bien plus performant. Comment vas-tu faire quand il y'aura 20 000 enregistrements ? Ca va pas être un peu la galère à gérer ?
4/ Apparemment tu utilises des attributs publiques, c'est moche ! Normalement dans une classe, les attributs devraient être privés.

Commentaire de nacedo57400 le 15/01/2007 19:34:12

webdeb
- j'ne suis que débutant donc je ne comprend pas tous se que tu dit, mais y a t'il une réelle différence entre <?php et <? ???
- pour le @ cela vient d'un exemple trouvé sur le net que j'ai mis à ma sauce. le @ masque les erreurs???
- pour se qui est des BdD, j'm'en passe car j'avais envi de tester quelque chose d'autre, et de toute façon je n'ai pas la prétention d'avoir 20000 utilisateurs.
- pour se qui est des classes et attributs je n'y comprends pas grand chose, donc si quelqu'un a un exemple concret, j'suis preneur.

Commentaire de Tokuna le 15/01/2007 19:46:10

- j'ne suis que débutant donc je ne comprend pas tous se que tu dit, mais y a t'il une réelle différence entre <?php et <? ???
Si je ne me trompe pas <? est utilisé dans un autre langage, donc <?php marque bien le fait que c'est du php et pas autre chose.

- pour le @ cela vient d'un exemple trouvé sur le net que j'ai mis à ma sauce. le @ masque les erreurs???
Effectivement, le @ n'affiche pas les erreurs.

Voilà de ce que je sais ^^'

Commentaire de webdeb le 15/01/2007 21:58:32

1/ En fait <? est ce que l'on appelle un short tag. Ces short tags peuvent être désactivés dans la configuration de PHP grâce à la ligne short_open_tags placée à la valeur Off. De plus, si tu as en entête de ton fichier XHTML, cette ligne là :

<?xml version="1.0" encoding="UTF-8" ?>

Pour plus d'informations, je te conseille de lire le billet ci dessous et les autres réalisés par le même auteur sur ce site.

http://www.expreg.com/fred_article.php?art=balise_courte

2/ Oui l'arobase masque les erreurs. Mais c'est une mauvaise pratique de les masquer. Il faut toujours traiter les erreurs que le serveur te retourne, ça fait partie des bonnes pratiques de programmation.

3/ Pour les classes et attributs, regarde du côté de PHPDebutant.org et sur AZ-PHP je crois pour comprendre les principes de la POO.

++

Commentaire de nacedo57400 le 16/01/2007 00:34:02

merci pour toutes ces informations
pff il y a tellement de chose de je ne connais pas...
mais c'est toujours plus facile quand on me l'explique. merci encor

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

SimpleXML [ par fabienfs ] Bonsoir, Je débute avec SimpleXML et j'ai du mal à lire la syntaxe de mon XML. Voici mon XML : [code=xml] PLAYLIST <item ui Lecture XML via simplexml_load_file() génère une erreur "Input is not proper UTF-8, indicate encoding !" [ par karpediem ] Bonjour @ toutezéatous,J'ai un petit pb lorsque j'essaie de lire un fichier XML qui m'est transmis par un prestataire. C'est ma première expérience de Erreur xml [ par ouzb ] Bonjour a tous les developpeurs: J'envoi des données d'une chaine xml sur mon serveur.Mais j'ai ces fenres d'erreurs : [color=red]Warning: simplexml_ Php extraction de donnée [ par isiselo ] Bonjour, Voilà je vous explique mon problème J'ai un outil sur lequel sont stockés des données xml,je dois récupérer automatiquement ses données XML XML/PHP utilisation du nodeName [ par babou54 ] Bonjour, XML et moi on est pas très copain  J'ai un petit problème que je comprend pas et j'aurais besoin d'aide ------------------------------------- Melange PHP et JavaScript [ par khattary ] Error convertoring HTML to XHTML: System.ArgumentException: The empty string '' is not a valid name. at System.Xml.XmlTextWriter.ValidateName(Strin Melange PHP et JavaScript [ par khattary ] Error convertoring HTML to XHTML: System.ArgumentException: The empty string '' is not a valid name. at System.Xml.XmlTextWriter.ValidateName(Strin aide sur les problemes de xsl [ par jobnet ] j'ai suivi les étapes de configuration du xsl et quelque chose de sablot mais le problèmes est le même 'Call to undefined function xslt_create()voila probleme avec flash& xml, joomla et base de donné [ par la_flibuste ] bonjour a tousmon problème : j'ai un site sous joomla, pour un club sportif....je voudrais que mon flash galerie qui fonctionne avec un fichier xml ex EXTRAIRE XML de la base mysql [ par mastraze ] Bonjour tout le monde,J ai trouvé ce bout de code en php qui permet de générer un fichier xml à partir d'une table MySQL . ***************************


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales