recuperer un xml dans un blob

recuperer un xml dans un blob - PHP - Programmation

Marsh Posté le 03-07-2006 à 11:16:16    

bonjour
je cherche a recuperer un xml qui est dans un blob, je n'ai jamais utiliser ce genre d'objet bianaire avant mais au taf je suis obligé...
j'ai fait une recherhe niveau du forum et je n'ai trouvé que laa gestion d'images dans le blob
j'ai trouvé quelque script sur internet mais sans resultat
voila le debut de mon code, si qq1 pouvez m'aiguillez la suite, je ne suis pas tres calé en php jsuis flasheur :/
 
$rq="SELECT  ID_TYPE_EXERCICE, xmlflash FROM exercices WHERE $id=ID_EXERCICE ";
$result=mysql_query($rq);
 
while($exo = mysql_fetch_row($result))
             {
 
 
              echo $exo[0];
 
              $xml= ifx_get_blob($exo[1]);
               echo $xml ;
 
 
             }
ca affiche le $exo[0] mais la suite je n'y connais vraiment rien  
le blob est contenu dans xmlflash
 
merci d avance

Reply

Marsh Posté le 03-07-2006 à 11:16:16   

Reply

Marsh Posté le 03-07-2006 à 11:18:43    

que ce soit des images du XML ou n'importe quoi d'autre, c'est un peu débile de stocker des fichiers entiers dans mysql. Pourquoi ne pas stocker l'adresse des fichiers. :o
 
Bref, encore du travail de champion (ou de pauvre, sachant que des mecs contourne la limitation en Mo de leur hébergement comme ça). :o

Reply

Marsh Posté le 03-07-2006 à 11:23:03    

j'y suis pour rien :'(
 
moi mon role c est de faire des players flash pour les xml....

Reply

Marsh Posté le 03-07-2006 à 11:47:17    

Beh, t'as déjà posé le code qui te permet de récupérer le contenu de ton XML, de quoi tu te plains ? :??:

Reply

Marsh Posté le 03-07-2006 à 11:49:49    

bah ce code est cencé fonctionné?
parceque le echo $xml;  n'affiche rien :s

Reply

Marsh Posté le 03-07-2006 à 11:52:10    

romdr a écrit :

bah ce code est cencé fonctionné?
parceque le echo $xml;  n'affiche rien :s


 
et $exo[0]; ?  :o  
 
sinon :
 
http://perso.orange.fr/utp/images/La%20boule%20de%20cristal.jpg

Reply

Marsh Posté le 03-07-2006 à 11:54:35    

romdr> Rassure moi, ta bdd c'est bien informix? Si c'est pas le cas pourquoi tu utilises les fonctions informix ifx_*? Si c'est le cas pourquoi tu utilises les fonctions mysql mysql_*?
Si tu utilises mysql, tu peux directement faire un print [strike]$xml[strike] $exo[1].
 
Hermes> Je ne serais pas aussi catégorique que toi, il y a des cas ou il peut être interessant d'avoir des blobs contenant les fichiers, entre autre pour eviter la lecture/ecriture de fichier, ou pour faciliter des recherches. C'est une solution comme une autre avec ces avantages et ces défauts.
 
edit: par ailleurs tu es sur de ta requete? Je demande ça parce que ta condition est un peu écrite "à l'envers"! Si tu la printes ça affiche quoi?

Message cité 1 fois
Message édité par anapajari le 03-07-2006 à 11:56:59
Reply

Marsh Posté le 03-07-2006 à 11:56:57    

anapajari a écrit :

romdr> Rassure moi, ta bdd c'est bien informix? Si c'est pas le cas pourquoi tu utilises les fonctions informix ifx_*? Si c'est le cas pourquoi tu utilises les fonctions mysql mysql_*?
Si tu utilises mysql, tu peux directement faire un print $xml.
 
Hermes> Je ne serais pas aussi catégorique que toi, il y a des cas ou il peut être interessant d'avoir des blobs contenant les fichiers, entre autre pour eviter la lecture/ecriture de fichier, ou pour faciliter des recherches. C'est une solution comme une autre avec ces avantages et ces défauts.


 
pour éviter la lecture/écriture, ya les droits, les protections htaccess, les fichiers index.php par exemple dans les dossiers... C'est pas ce qui manque...
 
Et pour ce qui est des recherches, moué, éventuellement... :/

Reply

Marsh Posté le 03-07-2006 à 11:58:38    

Hermes le Messager a écrit :

pour éviter la lecture/écriture, ya les droits, les protections htaccess, les fichiers index.php par exemple dans les dossiers... C'est pas ce qui manque...
Et pour ce qui est des recherches, moué, éventuellement... :/


Je parlais plus des "temps" de lecture/ecriture des fichiers physiquement sur le DD.
 

Reply

Marsh Posté le 03-07-2006 à 11:59:23    

anapajari->alors le coup de informix jsais pas j avais trouvé ca quelque part sur un tuto j'ai testé =)
 
Hermes le  Messager-> exo[0] m'affiche ID_TYPE_EXERCICE
 
et exo[1] m'affiche rien :/

Reply

Marsh Posté le 03-07-2006 à 11:59:23   

Reply

Marsh Posté le 03-07-2006 à 11:59:52    

anapajari a écrit :

Je parlais plus des "temps" de lecture/ecriture des fichiers physiquement sur le DD.


 
Ben une bdd ça écrit aussi sur les DD. Je suis pas sûr que ce soit bcp plus rapide que des fopen. :/

Reply

Marsh Posté le 03-07-2006 à 12:01:27    

romdr a écrit :

anapajari->alors le coup de informix jsais pas j avais trouvé ca quelque part sur un tuto j'ai testé =)
 
Hermes le  Messager-> exo[0] m'affiche ID_TYPE_EXERCICE
 
et exo[1] m'affiche rien :/


 
c'est quoi ta BDD ? [:itm] (nan, parce que mine de rien, c'est intéressant de le savoir pour te répondre).
 
Ensuite, utilise un outil pour parcourir ta BDD pour voir si déjà elle contient quelque chose.  :o  

Reply

Marsh Posté le 03-07-2006 à 12:04:38    

c est une bdd mysql
et sous phpmyadmin quand je pose  
SELECT  ID_TYPE_EXERCICE, xmlflash FROM exercices WHERE 3=ID_EXERCICE  
 
il me sort mon blob...
 
euh quoi dire d'autre..
jsuis vraiment désolé de n'etre pas plus precis, je ne sais quelles autres éléments il vous faut.
 
merci beaucoup déjà pour vos reponses

Reply

Marsh Posté le 03-07-2006 à 12:11:18    

romdr a écrit :

anapajari->alors le coup de informix jsais pas j avais trouvé ca quelque part sur un tuto j'ai testé =)
Hermes le  Messager-> exo[0] m'affiche ID_TYPE_EXERCICE
et exo[1] m'affiche rien :/


J'adore le concept de "Je sais pas ce que ça fait, je sais pas à quoi ça sert mais on va essayer ça va surement résoudre mon problème" ... Donc comme tu le redemandes Hermes, es-tu sur d'avoir quelque chose dans ta base de données???
 

Hermes le Messager a écrit :

Ben une bdd ça écrit aussi sur les DD. Je suis pas sûr que ce soit bcp plus rapide que des fopen. :/


Oui mais non :o
Regarde j'ai une tableau "Articles" qui contient des ... articles. Dans un cas je stocke ces articles chacun dans un fichier, dans l'autre dans des blobs de ma base.
Maintenant je souhaite générer un fichier contenant la liste des articles publiés sur une période de 12 mois ( disons 200).
Avec les fichiers "physiques", j'en suis quitte pour une requete et 100 ouvertures, lectures et fermeture de fichier.
Avec des blobs, je fais juste une requête [:spamafote]
Mais encore une fois, je ne défends pas particulièrement cette solution, je dis juste que dans certains cas spécifiques, elle est adaptée;
 

Reply

Marsh Posté le 03-07-2006 à 12:14:44    

Evidement tu as répondu entre temps :o
Quand tu dis "ça s'affiche pas" c'est à l'écran mais tu es sur que le code n'est pas balourdé dans le source de la page html, ayant elle-même des headers, si bien que ton navigateur comprends plus rien?

Reply

Marsh Posté le 03-07-2006 à 12:15:24    

anapajari a écrit :

J'adore le concept de "Je sais pas ce que ça fait, je sais pas à quoi ça sert mais on va essayer ça va surement résoudre mon problème" ... Donc comme tu le redemandes Hermes, es-tu sur d'avoir quelque chose dans ta base de données???
 
 
Oui mais non :o
Regarde j'ai une tableau "Articles" qui contient des ... articles. Dans un cas je stocke ces articles chacun dans un fichier, dans l'autre dans des blobs de ma base.
Maintenant je souhaite générer un fichier contenant la liste des articles publiés sur une période de 12 mois ( disons 200).
Avec les fichiers "physiques", j'en suis quitte pour une requete et 100 ouvertures, lectures et fermeture de fichier.
Avec des blobs, je fais juste une requête [:spamafote]
Mais encore une fois, je ne défends pas particulièrement cette solution, je dis juste que dans certains cas spécifiques, elle est adaptée;


 
et beh il est où le problème ? [:dawa]
 
Dans ta BDD t'as un champ timestamp où tu as pris la précaution de stocker la date de parution de tes articles. [:dawa]
 
Et pis les blogs ou les systèmes de news ça devrait même pas utiliser de BDD d'abord. [:dawa]
 
Un parcours du dossier avec la récup de la dernière écriture sur les fichiers et c'est bon. [:dawa] (bon, ok, là je pousse un peu...)  :D  

Reply

Marsh Posté le 03-07-2006 à 12:16:53    

dans ma bdd au niveau du champ xmlflash j ai ca :  [BLOB - 8.4 KB]

Reply

Marsh Posté le 03-07-2006 à 12:23:10    

anapajari->"Quand tu dis "ça s'affiche pas" c'est à l'écran mais tu es sur que le code n'est pas balourdé dans le source de la page html, ayant elle-même des headers, si bien que ton navigateur comprends plus rien?"
 
1000 merci!!!
ca s'affiche dans le source de la page...
ca devait etre ca depuis le debut
 
merci beaucoup d'avoir pris du temps pour me repondre

Reply

Marsh Posté le 03-07-2006 à 12:23:24    

Est-ce que tu peux donner le "source" de la page html généré dans laquelle tu fais ton echo $exo[1]...
 

Hermes le Messager a écrit :

et beh il est où le problème ? [:dawa]
Dans ta BDD t'as un champ timestamp où tu as pris la précaution de stocker la date de parution de tes articles. [:dawa]
Et pis les blogs ou les systèmes de news ça devrait même pas utiliser de BDD d'abord. [:dawa]
Un parcours du dossier avec la récup de la dernière écriture sur les fichiers et c'est bon. [:dawa] (bon, ok, là je pousse un peu...)  :D


 [:kains]  
Je corrige ma phrase,  
Maintenant je souhaite générer un fichier contenant la liste la concaténation du contenu des articles publiés sur une période de 12 mois.  
Dans un cas tu es obligé d'ouvrir 100 fichiers, dans l'autre non ...
 

Reply

Marsh Posté le 03-07-2006 à 12:29:35    

anapajari a écrit :

Est-ce que tu peux donner le "source" de la page html généré dans laquelle tu fais ton echo $exo[1]...
 
 
 [:kains]  
Je corrige ma phrase,  
Maintenant je souhaite générer un fichier contenant la liste la concaténation du contenu des articles publiés sur une période de 12 mois.  
Dans un cas tu es obligé d'ouvrir 100 fichiers, dans l'autre non ...


 
ouai [ [:dawa] qui fait [:spamafote] ]


Message édité par Hermes le Messager le 03-07-2006 à 12:29:59
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed