Login mot de passe
Installation et test php4WX [forum - Accès natifs]

Parcourir ce sujet :   1 Utilisateur(s) anonymes





Installation et test php4WX
SQLManagerX Team
Inscrit:
2004/7/1 12:49
De Grenoble (38)
Messages: 2154
Hors Ligne
Bonjour,

pour installer et tester php4WX voici les etapes

telechargez la derniere version 
http://www.sqlmanagerx.com/telechargements-acces-alter-natifs


deposez les fichier connect.php et php4WD.php sur votre espace web (wamp, ou un acces réel ovh ou autre un espace web ayant acces a la base de données

modifier le fichier connect.php pour la partie connection les lignes en haut du fichier. la cle de cryptage doit etre la meme dans le script et dans le programme windev (on verra cela un peu plus loin
<?php
/****************************************************************************************************************************/                                                                  
/* PHP4WX 9.2.0.15   du 25/06/2019
/* Createur : EMPRIN Frédéric @ 2003
/* email : emprin.frederic@emidev.fr
/* www.emidev.fr / www.SQLManagerX.com                                                                                          
/****************************************************************************************************************************/

$PublicKey 'TestWINDEV';

/*******************************************************************
* CONNEXION ACTIVE        ------------------------------------------
********************************************************************/
$serv '127.0.0.1';
$user 'root';
$pass '';
$base 'tests';


editez le fichier php4wd.php et cherchez la partie test

/***********************************************************************************************/
/* pour test du fichier en ligne de commande a mettre en commentaire avant passage a windev    */
/***********************************************************************************************/
if($_GET['test']=='OUI'){ 
    
error_reporting($e & (E_ALL -E_WARNING -E_NOTICE));
    
$typeBase    'PDOMySQL';
     
    
//***************************************************************************************
    // test pour les langues arabes et autres ou il faut faire un set ou pas suivant le serveur
    // il faudra aussi le faire dans windev mais la c'est simple un mySQLexec 1 seule fois 
    // en debut de projet
    //***************************************************************************************
    
if ($modeUTF8Sortie=="OUI"){
        
$cmds[]     = "SET CHARACTER SET 'UTF8'";
        
$cmds[]     = "SET NAMES UTF8";
    }
    
//***************************************************************************************
    // requete test Pour afficher en mode navigateur et voir le test
    //***************************************************************************************
    
$cmds[]     = "select * from contacts    ";
    
    echo 
'<meta http-equiv="Content-Type" content="text/html; charset='.$charSet.'" />';
    echo 
"version script : <b>".$ScriptVersion."</b><br>";
    echo 
"version php : <b>".phpversion()."</b><br><br>";
}
/***********************************************************************************************/


modifier le type de base et la requete pour voir si cela fonctionne en ligne depuis le script (avant de passer sous windev il EST IMPORTANT QUE CETTE ETAPE FONCTIONNE
ouvez ensuite un navigateur et lancer la commande avec le test : http://127.0.0.1/php4wd.php/?test=OUI
vous devez avoir un resultat avec votre base

version script 
: <strong>PHP4WX 9.2.0.15   du 25/06/2019</strong><br>version php : <b>5.6.25</b><br><br>--DEBUTSQL--PHP4WDSEPidContactPHP4WDSEPnomPHP4WDSEPprenomPHP4WDSEPadressePHP4WDSEPdateNaissancePHP4WDSEP--LIGNES--PHP4WDSEP1PHP4WDSEPEMPRINPHP4WDSEPPhilippePHP4WDSEPtest d'adressePHP4WDSEP1968-07-29PHP4WDSEP2PHP4WDSEPKIRIKOUPHP4WDSEPtitiPHP4WDSEPvallée du lyon
38130 EchirollesPHP4WDSEP2000-10-25PHP4WDSEP3PHP4WDSEPEMPRINPHP4WDSEPfredericPHP4WDSEPchez lui bien au chaudPHP4WDSEP1967-02-03PHP4WDSEP4PHP4WDSEPtestPHP4WDSEPprenom du testPHP4WDSEPrue du test imaginairePHP4WDSEP2001-01-24PHP4WDSEP--BINDVARIABLE--PHP4WDSEP--FINSQL--PHP4WDSEP


une fois que cela fonctione vous pouvez passer sous windev
dans le code du projet definissez l'acces

MonAcces est un c_Php4WX
MonAcces
:TypeBase "PDOMySQL"
MonAcces:CleCryptage "TestWINDEV"
MonAcces:CryptRetour Faux
MonAcces
:CrypteReq Vrai

MonAcces
:methodeZip=Faux
MonAcces
:dataHexa Faux
MonAcces
:modeUTF8Entree Vrai
MonAcces
:modeUTF8Sortie Faux

MonAcces
:charset "utf-8"
MonAcces:alphabet alphabetUTF8
SI PAS EnModeTest
() ALORS MonAcces:PocketPC=Vrai

SI PAS MonAcces
:mySQLConnecte("http://clients.emidev.fr/emidev/php4wd.php","","","TESTS"ALORS
    Erreur
(MonAcces:ErreurText)
    
FinProgramme()
FIN


ensuite vous pouvez executer des requetes
requetes Select et remplissage d'une table

vrequete est une chaîne 
"select nom,prenom,dateNaissance,adresse  from contacts"
vindice est un entier
ZoneRépétéeSupprimeTout
(ZR_contacts)
SI MonAcces:mySQLExec(vrequete,1ALORS
    TANTQUE MonAcces
:mySQLFetch(1)
        
// sur chaque ligne action a faire 
        
vindice ZoneRépétéeAjouteLigne(ZR_contacts)
        
SI vindice>0 ALORS
            ZR_contacts
[vindice].LBL_NOM            MonAcces:mySQLLitColParNom(1,"nom")
            
ZR_contacts[vindice].LBL_PRENOM            MonAcces:mySQLLitColParNom(1,"prenom" )
            
ZR_contacts[vindice].LBL_DATENAISSANCE    MonAcces:mySQLLitColParNom(1,"dateNaissance" )
            
ZR_contacts[vindice].LBL_ADRESSE        MonAcces:mySQLLitColParNom(1,"adresse" )
            
ZR_contacts[vindice].imgClient             ""
        
FIN
    FIN
SINON
    Erreur
(MonAcces:mySQLGetErrorMessage())    
FIN


requete insert pour mise a jours des données

vRequete est une chaîne
vretour est un booléen

vRequete 
=  "INSERT INTO PartieJeux SET "
vRequete += "libellePartie    ="+accesbase:mySQLEscapeString(SAI_NOMpartie)
vRequete += ",nbjoueur        ="+POT_NBJOUEUR
vRequete 
+= ",NBCarteJoueur    ="+SAI_NBcarteparjoueur
vRequete 
+= ",JockerActif     ="+int_jocker
vRequete 
+= ",CouleurJoueur    ="+int_couleur
vRequete 
+= ",TirageUnique    ="+int_tirage
vRequete 
+= ",TirageCarte    =''"
vRequete += ",datePartie    ="+accesbase:mySQLEscapeString(DateSys())
vRequete += ",heurePartie    ="+accesbase:mySQLEscapeString(HeureVersChaîne(HeureSys(),"HHMMSS"))


vretour accesbase:mySQLExec(vRequete,1)
accesbase:mySQLFerme(1)
SI PAS vretour ALORS Info(accesbase:mySQLGetErrorMessage())
SI vretour ALORS Info("Enregistrement effectué")


pour inserer une image

vimage est un Buffer 
fChargeTexte("G:\EMIDEV\Commercial\logo\yeux.png")
    
SI vimage<> "" ALORS
        vimage
"0x"+Remplace(Remplace(BufferVersHexa(vimage),RC,"")," ","")
        
vrequete est une chaîne "UPDATE contacts SET "
        
vrequete += "imgClient     ="+vimage
        SI PAS  MonAcces
:mySQLExec(vrequete,1ALORS Erreur(MonAcces:mySQLGetErrorMessage())    
        
afficheZR()        
    
FIN


pour lire une image en passant pas hex

vindice est un entier
vrequete est une chaîne 
"select nom,prenom,dateNaissance,adresse,hex(imgClient) as imgClient  from contacts "
SI pwhere <> "" ALORS vrequete+=" where adresse like '%"+pwhere+"%'"


ZoneRépétéeSupprimeTout(ZR_contacts)
SI MonAcces:mySQLExec(vrequete,1ALORS
    TANTQUE MonAcces
:mySQLFetch(1)
        
// sur chaque ligne action a faire 
        
vindice ZoneRépétéeAjouteLigne(ZR_contacts)
        
SI vindice>0 ALORS
            ZR_contacts
[vindice].LBL_NOM            MonAcces:mySQLLitColParNom(1,"nom")
            
ZR_contacts[vindice].LBL_PRENOM            MonAcces:mySQLLitColParNom(1,"prenom" )
            
ZR_contacts[vindice].LBL_DATENAISSANCE    MonAcces:mySQLLitColParNom(1,"dateNaissance" )
            
ZR_contacts[vindice].LBL_ADRESSE        MonAcces:mySQLLitColParNom(1,"adresse" )
            
ZR_contacts[vindice].imgClient             HexaVersBuffer(MonAcces:mySQLLitColParNom(1,"imgClient" ))
        
FIN
    FIN
SINON
    Erreur
(MonAcces:mySQLGetErrorMessage())    
FIN


les differents type bases possible :

//--------------------------------------
// MySQL
//--------------------------------------
MonAcces:TypeBase="MYSQL"
MonAcces:TypeBase="MYSQLI"
MonAcces:TypeBase="PDOMySQL"


//--------------------------------------
// SQL Server
//--------------------------------------
MonAcces:TypeBase="PDOSQLSRV"
MonAcces:TypeBase="MSSQL":

//--------------------------------------
// PostGreSQL
//--------------------------------------
MonAcces:TypeBase="POSTGRESQL"

//--------------------------------------
// SQLite
//--------------------------------------
MonAcces:TypeBase="SQLITE"

//--------------------------------------
// FireBird
//--------------------------------------
MonAcces:TypeBase="FB"

//--------------------------------------
// Oracle
//--------------------------------------
MonAcces:TypeBase="ORACLE"

//--------------------------------------
// ODBC
//--------------------------------------
MonAcces:TypeBase="ODBC"

//--------------------------------------
// ADO
// il faut aussi remplir :typeBaseADO
// valeur possible :"MSSQL","PDOMYSQL","PDOSQLSRV","MYSQLI"
//--------------------------------------
MonAcces:TypeBase="ADO"
MonAcces::typeBaseADO "MSSQL"



ATTENTION pour IOS vos chaines doivent etre des chaine ansi
vRequete est une chaine ansi

sinon cela risque de ne pas fonctionner

cdlt

Posté le : 2019/5/7 10:43

Edité par Firetox sur 23/5/2019 22:07:19
Edité par Firetox sur 29/7/2019 17:54:21
Edité par Firetox sur 29/7/2019 17:54:45
Edité par Firetox sur 9/10/2019 21:12:39
Edité par Firetox sur 9/10/2019 21:17:03
Edité par Firetox sur 9/10/2019 21:18:09
Edité par Firetox sur 9/10/2019 21:19:44
_________________
----------
Firetox
8 rue Georges Méliès
38130 ECHIROLLES
..............................
http://emidev.fr
http://www.teecod.fr/web/Informatique/accueil
Transférer la contribution vers d'autres applications Transférer

Sujet Auteurs Dernières réponses
     Installation et test php4WX Firetox 2019/5/7 10:43





[Recherche avancée]