Accueil > Forum > > > > php et hyperfile, est-ce possible?
php et hyperfile, est-ce possible?
vendredi 6 février 2004 à 10:10:51 |
php et hyperfile, est-ce possible?

adeath
|
En premier lieu bonjour et merci à ceux qui lirons ce message. Je voudrais développer un site internet en exploitant une BDD hyperfile. >Est-il possible d'attaquer cette BDD avec php ou faut-il absolument avoir Webdev? >Si quelq'un à la solution cela m'interresserait car je ne connait absolument pas l'environnement WinDev.
|
|
vendredi 6 février 2004 à 10:38:26 |
Re : php et hyperfile, est-ce possible?

fmazoue
|
par odbc c peut etre possible non ? renseigne toi dessus ! NIARF
|
|
mercredi 10 mars 2004 à 14:46:13 |
php et hyperfile, c'est possible !

arnal69130
|
Je confirme, attaquer une BD hyperfile en php c'est tout à fait possible. Il faut effectivement utiliser un driver ODBC.
Il faut avoir le driver odbc hyperfile (installé avec windev). Il est nécessaire d'avoir le fichier de l'analyse (.wdd). Restriction : l'accès par odbc est en lecture seule !
J'ai développé un module intranet de consultation qui vient se greffer sur une application windev existante. ça marche bien !
bon dev.// Arnaud
|
|
jeudi 6 janvier 2005 à 09:17:04 |
Re : php et hyperfile, est-ce possible?

Big Broder
|
Salut ! Arnal ? J'ai besoin d'extraire des données d'une base hyperfile, j'ai donc fait mon lien odbc, de ce côté la, pas de problème. Mais je suis une buse en programmation et j'ai un peu de mal à décoller avec le php/sql. Pourrais tu me donner un exemple (ou plusieurs !!) de code ?? Merci d'avance !! Big Brother 
|
|
jeudi 6 janvier 2005 à 11:42:16 |
Re : php et hyperfile, est-ce possible?

arnal69130
|
Bonjour BigBrother, Pour commencer avec PHP, tu peux faire un fichier index.php tout simple, qui n'utilise pas de BDD du genre : <?php echo "bonjour"; ?>
Ensuite, pour afficher le contenu d'une table de ta base, tu peux faire un truc du genre : <?php //connexion à ton DSN : $connexion = odbc_connect("NomDSN","","")) or die("echec connexion");
//Requête de sélection : $requete="SELECT * FROM TABLE;"; $resultat = odbc_exec($connexion,$requete);
//affichage du résultat : odbc_result_all($resultat); ?>
Pour plus d'info, vas voir sur www.php.net et regardes toutes les fonctions qui commence par odbc_...().
Voilà, j'espère t'avoir un peu éclairé. Si tu veux plus de précisions sur un point particulier, n'hésites pas.
Bonne journée Arnaud
|
|
jeudi 3 février 2005 à 13:02:32 |
Re : php et hyperfile, est-ce possible?

Big Broder
|
Bonjour, Est ce que par hasard tu saurais formater des dates via odbc? parce que je récupère des données mais les dates ne passent pas.. je les ai quand je fais un result_all mais pas autrement.Hors je veux inscrire toutes les données de ma table dans un fichier texte. Ces dates sont au format date (float 8) sous la forme jj/mm/aaaa dans la table mais il les renvoit dans le result_all sous la forme aaaa-mm-jj. Je suppose qu'il y a donc un problème de format et de compatibilité mais je ne sais comment le corriger..meme pcsoft souffre.. Autre problème : je crois savoir que l'odbc ne gère pas la fonction LIMIT pour afficher un certain nombre de resultats. J'ai entendu parler de TOP mais sans plus.. Connaitrais tu un moyen de faire ce genre de chose?? Voili voila , merci d'avance de ton aide ! Big Brother 
|
|
jeudi 3 février 2005 à 13:13:02 |
Re : php et hyperfile, est-ce possible?
|
lundi 7 février 2005 à 09:08:46 |
Re : php et hyperfile, est-ce possible?

arnal69130
|
En fait, il y a un réel bug dans le driver ODBC HyperFile, quant à la lecture des dates ! Pour contourner ce problèmes, 1. j'exécute ma requête en triant par date, 2. j'utilise la redirection de la sortie standard (si tu ne connais pas, regarde l'aide sur les fonctions qui commencent pas ob...), 3. "j'affiche" tout le résultat de la requête, et 4. dans la fonction de callback, je découpe le tableau-résultat (html) afin d'obtenir une variable tableau (php) contenant le résultat ma requête.
C'est peut-être un peu compliqué, mais je n'ai pas trouvé mieux ! Voici un exemple :
<?php //Définition de la fonction de callback qui sera appelée dans ob_start() function callback($buffer) { Global $tableau; $tableau=array(); $tab=explode("</tr>",$buffer); array_pop($tab);
$entete=explode("</th>",substr($tab[0],11)); array_pop($entete); foreach($entete as $numcol => $nomcol) { $entete[$numcol]=substr($nomcol,4); }
array_shift($tab); foreach($tab as $numligne => $ligne) { $ligne=explode("</td>",substr($ligne,5)); array_pop($ligne); foreach($ligne as $numcol => $cellule) { $tableau[$numligne][$entete[$numcol]]=htmlentities(substr($cellule,4)); } } }
Global $tableau; //requête : $req = "SELECT ... FROM ... ORDER BY ChampDate DESC;"; $res = odbc_exec($_SESSION['connexion'],$req);
//redirection de la sortie standard : ob_start("callback"); odbc_result_all($res); ob_end_flush(); ob_implicit_flush(0);
//le résultat de ta reqête est dans la variable $tableau ! ?>
Je suis sur qu'ensuite tu es capable de formater les dates comme tu veux ! Si tu veux écrire les dates dans un fichier texte, tu peux directement le faire dans la fonction de callback. Pour la clause LIMIT, je ne me suis jamais penché sur le pb, je ne peux pas t'aider.
En espérant t'avoir permis d'avancer, Arnaud
|
|
lundi 7 février 2005 à 13:20:51 |
Re : php et hyperfile, est-ce possible?

Big Broder
|
Salut ! Merci de ta réponse Arnaud, mais je t'avoue ne pas trop comprendre ce que tu as écrit... je vais me pencher sur la question, car il semble que ca resolve mon problème mais il me faut essayer de traduire tout ca ;-) en effet je pensais à un truc de ce style là, traiter mes dates à part et les réinsérer ensuite. Big Brother 
|
|
mercredi 9 février 2005 à 11:49:32 |
Re : php et hyperfile, est-ce possible?

arnal69130
|
Je vais essayer d'être un peu plus clair, ou au moins de détailler un peu plus.
Comme tu l'avais constaté, les dates "passent" correctement quand on fait un odbc_result_al(). Le problème, c'est que cette fonction affiche directement le résultat à l'écran, et que nous on veut pas les afficher, mais les mettre dans une variable (ou dans un fichier texte). => Donc il faut rediriger ce flux de données destiné à l'affichage (c'est la sortie standard) vers une fonction appelée fonction de callback. Cette fonction prend en paramètre ce flux de données destiné initialement à l'affichage. Dans l'exemple ci-dessus, c'est la variable $buffer de la procédure callback(). Il est inutile de préciser le paramètre lors de l'appel de la procédure callback() Voila en gros ce qu'on appelle la redirection de la sortie standard (enfin, ce que j'en ai compris ;o))
Ensuite, dans la fonction de callback, si tu veux tu peux directement écrire tout le contenu de la variable $buffer dans un fichier texte : function callback($buffer) { $fp=fopen("fichier.txt","w"); fwrite($fp,$buffer); fclose($fp); }
Le buffer contient donc toutes les instructions html nécessaires à l'affichage du tableau de résultat de ta requête, y compris les balises <table>, <tr>, etc... Je ne sais pas pourquoi tu veux utiliser un fichier texte, si c'est uniquement pour "traiter les dates à part et les réinsérer ensuite", c'est à mon avis inutile, tu peux le faire directement dans la fonction de callback. Toutefois, le fait d'écrire le buffer dans un fichier texte te permettra de voir à quoi il ressemble.
Personnellement, j'ai choisi de découper ce buffer afin de récuper toutes les données du résultat de la requête dans un tableau php.
Si tu veux plus d'explications, n'hésite pas à me dire précisemment ce que tu ne comprends pas. Arnaud
|
|
Cette discussion est classée dans : php, possible, bdd, hyperfile
Répondre à ce message
Sujets en rapport avec ce message
Est il possible de remplacer un java script par php pour un lien... [ par AxL ]
Est il possible de remplacer un java script par php pour faire un lien qui ouvre une nouvelle fenetre sans les menus, les resize, la barre de titre ..
créer un dossier en PHP [ par Scorpyo ]
Salut, je voudrais savoir s'il est possible au travers d'un script de créer un dossier portant le nom d'une variable, je sais très bien créer un fichi
Php & MySql ??? [ par nova85 ]
Je voudrai savoir si il est possible de realiser un site assez important juste avec une BDD mysql , si c'est capable de resister , et surtout savoir s
Limiter le nombre de clics [ par Trigun222 ]
Salut,est il possible de php d'empecher une personne de cliquer plus de 5 fois dans une journée sur le même lien , fait avec javascript ou redirigeant
Surf anonyme en php possible? [ par paprikarmasutra ]
Savez-vous s'il est possible de créer un script en php pour surfer anonymement? Par exemple, au lieu d'avoir mon IP, ça donne l'IP du site où est hébe
HHHHHHEEEEELLLLLLLPPPPPPPP [ par Scepo ]
Je suis entraint de faire un truc de recherche en PHP.Je voudrais qu'il m'affiche que 20 résultat par page...En PHP -> MySQL, c'est possible... Mais e
Eviter un proxy [ par Dionysos33 ]
Bonjour à tous,J'aimerais savoir s'il est possible de faire un page en php qui afficherait un autre site.Je m'explique : au boulot on a un proxy qui b
extensions de fichiers et PHP [ par gergalp ]
Quelqu'un saurait si c'est possible de faire en sorte que PHP interprète des fichiers avec d'autres extensions que .php, et savoir quelle commande il
classe PHP pour accés BDD [ par cuicui ]
Bonjour,Je recherche des classes en PHP qui perùet d'acceder à des des bases de données tel que INTERBASE ou MySQL.Merci à touscuicui...
server php sous dos [ par abdoulax ]
Salut je fais mes début en php , j'ai installé un server php sur ma machine ms c en mode gui .Moi je cherche un mini server php sous dos le plus petit
Livres en rapport
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : SONDAGE..RE : SONDAGE.. par phpAnonyme
Cliquez pour lire la suite par phpAnonyme RE : SONDAGE..RE : SONDAGE.. par TychoBrahe
Cliquez pour lire la suite par TychoBrahe
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|