JeuxOnLineForumsPlusConnectés : 542 (sites) | 1145 (forums)Créer un compte
Dark Age of Camelot
Technique et Automatisation
Les forums JOL > Dark Age of Camelot > DAoC - Technique et Automatisation > TOUT sur les XML, C'est par ici ! RSS
   
Répondre
Partager Outils Rechercher
Avatar de Gryndel
Gryndel [CDD]
Alpha & Oméga
 
Avatar de Gryndel
 
pour ma part je fais XML->php/mysql->Image
mais la pour te dire comment faire a partir directement du xml, je pense que ça serait lourd comme tache (surtout si ça fais appel a ce script a chaque fois que l'image est générée)
__________________

Lien direct vers le message - Vieux
Kaich GramatoN
Dauphin
 
vi, faut que je trouve un truc simple quand meme et qui mette a jour a chaque fois
Lien direct vers le message - Vieux
Avatar de Cored
Cored
Alpha & Oméga
 
Avatar de Cored
 
Pour les images en PHP :
Petit lien facil (aide)

Pour recuperer les informations, utilise le Parser... toujours le meme procede... enfin peut-etre d'autres solutions mais c'est celle qui me vient a l'esprit
Lien direct vers le message - Vieux
Avatar de Nymfe
Nymfe [LG]
Reine
 
Avatar de Nymfe
 
voici le code que j'utilise sur mes chroniques, fait par Leandri (qui a poster plus haut)

Code PHP:
include("fiche_perso2.php");

    
$fontfile "fonts/verdana.ttf";
    
$fontfile2 "fonts/ariblk.ttf";
    
$imgFnd "images/fnd_nre.png";
    
$colR    255;
    
$colG    255;
    
$colB   255;

  
$im imagecreatefrompng($imgFnd);

  
$textcolor imagecolorallocate($im$colR$colG$colB);
  
imagettftext ($im8012423$textcolor$fontfile"Nom : " utf8_decode($name));
  
imagettftext ($im8012435$textcolor$fontfile2utf8_decode($guilde_name));
  
imagettftext ($im8012447$textcolor$fontfile"Race : " $race);
  
imagettftext ($im8012459$textcolor$fontfile"Classe : " $classe);
  
imagettftext ($im8012471$textcolor$fontfile"Level : $lvl - Pr : $rp");
  
imagettftext ($im8012483$textcolor$fontfile$realm_title " de $server (" $realm_lvl ")");

imagepng($im); 
Malheureusement je n'ai pas ce qu'il faut pour récuperer et intégrer l'embleme sur cette image dynamique...

si ton fichier (contenant ce code) s'appel par exemple signature.php, pour afficher la signature d'une personne suffit de mettre ceci comme url : signature.php?server=NomDuServeur&guilde=ChiffreDeLaGuilde&name=NomDuPerso

Dans ce code il y a un include (ici c'est par exemple la page fiche_perso2.php qui est appelée)
Le code de cette page c'est tout simplement le code que tu utilises pour afficher les infos d'une guilde, sauf que dans cette page tu ne fais pas afficher les infos recupérer... en gros ça donne un truc du genre : *** Edit *** : oublie de précision de ma part :P c'est le code qui affiche les membres d'une guilde, avec une petite modif qui permet de filtrer et de n'afficher que les infos d'une personne, définie par $name = $_GET['name']; et par if ($name == $value["name"]) { *** Fin de l'edit ***

Code PHP:
$name $_GET['name'];
    foreach (
$gu as $key=>$value){
        if (
$name == $value["name"])
        {
        
$name  $value['name'];
        
$race $value['race'];
        
$classe $value['class'];
        
$lvl trim($value['level']);
        
$gRank guildrank($value['guildrank']);
        
$rp number_format($value['rp'], 0'.'' ');
        
$lwrp number_format($value['lastweekrp'], 0'.'' ');
        
$realm_lvl realmlevel($value['rp']);
        
$realm_title realmtitle($value['rp']);
        
$connex connexion($value['laston']);
        
$forge $value['Forge'];
        
$armurerie $value['Armurerie'];
        
$couture $value['Couture'];
        
$empennage $value['Empennage'];
        
$arcanes $value['Arcanes'];
        
$alchimie $value['Alchimie'];
        }
        } 
et après tu utilises les valeurs que t'as envie.. comme tu peux voir j'ai préparé pleinnes de valeur au cas où j'aurais envie de faire des signatures plus complete, ou si un jour je sois moi nul et que je soit capable de proposer des choix que la personne fait pour afficher ce qu'elle veut sur sa signature (heu... j'ai l'impression que j'explique d'une façon très... bordélique... désolé )

( ça donne ceci : (là avec quelque modif spéciale pour ma guilde) ou encore ceci : (aspet general) )

Pour l'emblème, et ben c'est la deuxième question "aide" que je n'ai pas encore posé ici, vu que je patoge tjs dans la gadoue avec ce foutu code pour afficher les liste de guildes d'un serveur dont je parle quelque message plus haut ( )

voili voilou

Edit : tiens apparement je ne sais pas utiliser la fonction "[img]" de ce forum grrrr
Lien direct vers le message - Vieux
Kaich GramatoN
Dauphin
 
ca decone
Warning: Invalid argument supplied for foreach() in /home/sites/site16/web/fiche_perso2.php on line 3

PS: on ma dit que yavait une histoire de parser, c'est ca qu'il manque a ton code
Lien direct vers le message - Vieux
Avatar de Nymfe
Nymfe [LG]
Reine
 
Avatar de Nymfe
 
j'ai pas mis tout le code de la page fiche_perso2.php
il ne s'agit que d'un exemple...

fais une copie de ta page actuelle qui affiche la liste des membres d'une guilde, et enlève les options qui font afficher les données... il faut juste que le parser recupère les données qui seront traité dans l'autre page (appelée dans l'exemple "signature.php") et affichées...
Lien direct vers le message - Vieux
Kaich GramatoN
Dauphin
 
en fait voila le code que j'ai pour le moment, bon ya un peut du trafic de partout :/

Code PHP:

$name  
$value['name'];
$race $value['race'];
$classe $value['class'];
$lvl trim($value['level']);
$rp number_format($value['rp'], 0'.'' ');
$lwrp number_format($value['lastweekrp'], 0'.'' ');


$fontfile "arial.ttf";
$fontfile2 "arial.ttf";
$imgFnd "test.png";
$colR 255;
$colG 255;
$colB 255;

$im imagecreatefrompng($imgFnd);

$textcolor imagecolorallocate($im$colR$colG$colB);
imagettftext ($im1506045$textcolor$fontfile"Nom : " utf8_decode($name));
imagettftext ($im806050$textcolor$fontfile2utf8_decode($guilde_name));
imagettftext ($im806060$textcolor$fontfile"Race : " $race);
imagettftext ($im806070$textcolor$fontfile"Classe : " $classe);
imagettftext ($im806080$textcolor$fontfile"Level : $lvl - Pr : $rp");
imagettftext ($im806090$textcolor$fontfile$realm_title " de $server (" $realm_lvl ")");

imagepng($im);

$xml_parser xml_parser_create();
xml_set_element_handler($xml_parseur"ouverture""fermeture"); 
xml_set_character_data_handler($xml_parseur"texte"); 
xml_set_default_handler($xml_parseur,"defaut"); 
$fp fopen("http://www.camelot-europe.com/herald/servers/Broceliande/guilds/2961.xml""r") or die("Fichier introuvable. L'analyse a ete suspendue"); 
while (
$fdata fread($fp2048)){ 
xml_parse($xml_parseur$fdatafeof($fp)) or die( 
sprintf("Erreur XML : %s à la ligne %d\n"
xml_error_string(xml_get_error_code($xml_parseur)), 
xml_get_current_line_number($xml_parseur)) 
); 

http://www.b-benera.com/test.php?name=keach

et voila ce que ca me donne, kkun peut m'expliquer la je suis encore perdu

en mysql je dirait qu'il faudrait un petit:

SELECT * WHERE $name='name';

mais en XML je sait pas comment on traduit ca
Lien direct vers le message - Vieux
Avatar de Gryndel
Gryndel [CDD]
Alpha & Oméga
 
Avatar de Gryndel
 
visiblement il manque une partie du code ou tu demande au parser d'aller chercher les infos du perso

Tu devrais regarder l'exemple au dessus de ton post

Moi j'ai fait différemment puisque j'ai une base de donnée complete de tous les persos sur les serveurs français lol

Citation:
Pour l'emblème, et ben c'est la deuxième question "aide" que je n'ai pas encore posé ici, vu que je patoge tjs dans la gadoue
hop hop un lien de camelotherald avec les images de tous les emblemes et de tous les "fonds" clickez ici
Lien direct vers le message - Vieux
Kaich GramatoN
Dauphin
 
Citation:
Provient du message de Ryusenshi HellAngel
visiblement il manque une partie du code ou tu demande au parser d'aller chercher les infos du perso
exactement oui, tu aurait ce code?
Lien direct vers le message - Vieux
Avatar de Gryndel
Gryndel [CDD]
Alpha & Oméga
 
Avatar de Gryndel
 
ptit problème d'hebergement, j'ai décidé de bloquer les signatures dynamiques sur JoL ça me bouffe trop de bp et je suis limité
__________________

Lien direct vers le message - Vieux
Avatar de Nymfe
Nymfe [LG]
Reine
 
Avatar de Nymfe
 
kaich, pour le code qui analyse et récupère les donnée, j'ai utilisé celui de Glenfiddich, qui se trouve ici

il te suffit simplement de remplacer :

Code PHP:
foreach ($gu as $key=>$value){ 
par
Code PHP:
$name $_GET['name']; // récupère le nom dans l'url
    
foreach ($gu as $key=>$value){
        if (
$name == $value["name"])
        { 
ce qui te permet de récupérer que les infos uniquement du perso dont le nom sera $name = $_GET['name']
puis remplacer :
Code PHP:
$content_output .= '<td>'.$value['name'].'</td> 
par (par exemple)
Code PHP:
$name  $value['name']; 
et bien verifier qu'il n'y ai plus rien qui s'affiche sur la page...
ceci constitue une page, par exemple guilde.php, ou le nom que tu veux...

ensuite, dans une autre page tu met le code qui va recup les données de la page ci-dessus et créer une image, ce qui donne ceci, par exemple :

Code PHP:
include("guilde.php"); // va chercher les données recuperer par le parser

$fontfile "arial.ttf";
$fontfile2 "arial.ttf";
$imgFnd "test.png";
$colR 255;
$colG 255;
$colB 255;

$im imagecreatefrompng($imgFnd);

$textcolor imagecolorallocate($im$colR$colG$colB);
imagettftext ($im1506045$textcolor$fontfile"Nom : " utf8_decode($name));
imagettftext ($im806050$textcolor$fontfile2utf8_decode($guilde_name));
imagettftext ($im806060$textcolor$fontfile"Race : " $race);
imagettftext ($im806070$textcolor$fontfile"Classe : " $classe);
imagettftext ($im806080$textcolor$fontfile"Level : $lvl - Pr : $rp");
imagettftext ($im806090$textcolor$fontfile$realm_title " de $server (" $realm_lvl ")");

imagepng($im); 
Imaginons que tu appelles cette page signature.php, et ben pour avoir la signature d'un personnage bien précis, suffit de mettre (par exemple, car tu peux choisir d'autre terme)

signature.php?server=NomDuServeur&guild=NumeroDeLaGuilde&name=NomDuPerso
Lien direct vers le message - Vieux
Avatar de Nymfe
Nymfe [LG]
Reine
 
Avatar de Nymfe
 
et j'ai oublié de préciser que dans le code "parser" de Glenfi, il ne fais pas oublier de changer ceci :

Code PHP:
$guild->xml_file "http://www.camelotherald.com/guilds/Merlin/47.xml"
par :
Code PHP:
$guild->xml_file "http://www.camelot-europe.com/herald/servers/NomDuServeur/guilds/NumeroDeLaGuilde.xml"
Lien direct vers le message - Vieux
Avatar de Nymfe
Nymfe [LG]
Reine
 
Avatar de Nymfe
 
sinon, pour mon problème d'adaptation du code de Glenfi pour la liste des guildes, je ne m'en sort pas

je met quoi dans cette fonction ??? :

Code PHP:
function characterData($parser$data) { 
sinon, ça ne pose pas de porblème particulier le fait que le tag de fin soit /> au lieu d'un truc du style </guild> ?
Lien direct vers le message - Vieux
Avatar de Gryndel
Gryndel [CDD]
Alpha & Oméga
 
Avatar de Gryndel
 
normalement rien, puisque ya pas de tags dans le style <guild>nom de ma guilde</guild>

cette fonction permet uniquement de soustirer du texte entre un tag d'ouverture et un tag de fermeture

sinon le /> ne t'en souci pas
Lien direct vers le message - Vieux
Kaich GramatoN
Dauphin
 
j'ai un problème avec cette ligne:

Code PHP:

        
if (!($fp fopen($this->xml_file"r"))) { 
            die(
"could not open XML input"); 
Warning: fopen("", "r") - Inappropriate ioctl for device in /home/sites/site16/web/test.php on line 167
could not open XML input

voila ce que ca me dit a cette ligne
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Dark Age of Camelot > DAoC - Technique et Automatisation > TOUT sur les XML, C'est par ici !
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Dark Age of Camelot RSS
Les critiques de Dark Age of Camelot RSS
Thème visuel : Fuseau horaire GMT +1. Il est actuellement 11h16.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite