Login mot de passe
Problème dans PHP4WD [forum - Accès natifs]

Parcourir ce sujet :   1 Utilisateur(s) anonymes





Re: Problème dans PHP4WD
SQLManagerX Team
Inscrit:
2004/7/1 12:49
De Grenoble (38)
Messages: 2149
Hors Ligne
bonjour,

oui je l'avais deja changer.
comme je suis en train de reprendre la methode pour la partie zip je l'ai un peu simplifier et controler et donc effectivement cette ligne empechait la recup des colonne vide donc j'ai changer cela et ca marche mieux

simplement la partie retour en zip ne fonctionne plus. ce sera plus simple a partir de maintenant il suffira de recuperer le zip et de le dezipper au debut en 1 ou 2 lignes et le code ne changera pas apres


FONCTION mySQLExec
(sqlQueryrequestNumber)

LOCAL    
    v_nbfois         est un entier  
= :MysqlNbFois
    
    v_ligne             est une chaîne
    ResLancement     est un booléen
    v_chaineResult     est une chaîne 
    
    v_indiceBind     est un entier
    
    retCode         est un entier
    v_indice         est un entier 
1
    v_colonne         est un entier 
0
    
myRequestNumber     est un entier
v_mySQL             est une chaîne

IF (requestNumber > :myMaxRequestNumberTHEN
    Erreur
("Le numéro de requête doit être compris entre 0 et " NumériqueVersChaîne(:myMaxRequestNumber) + "...""Veuillez corriger votre code.")
    
RENVOYER (False)
END

myRequestNumber 
requestNumber+1
sqlQuery 
= :ExecLimit(sqlQuery)

:
myOldQuery sqlQuery

SI 
:UTF8Mode         ALORS v_mySQL = :CrypteURL(ChaîneVersUTF8(sqlQuery))
SI PAS :UTF8Mode     ALORS v_mySQL = :CrypteURL(sqlQuery)

HTTPCréeFormulaire("FORM")

HTTPAjouteParamètre("FORM""requete",           ChaîneVersUTF8(v_mySQL))
HTTPAjouteParamètre("FORM""typeBase",      ChaîneVersUTF8(:TypeBase))
HTTPAjouteParamètre("FORM""tNomBase",     ChaîneVersUTF8(:myBase))
HTTPAjouteParamètre("FORM""bind",           ChaîneVersUTF8(:bind))
HTTPAjouteParamètre("FORM""bindLen",         ChaîneVersUTF8(:BindLen))
HTTPAjouteParamètre("FORM""bindVal",         ChaîneVersUTF8(:bindVal))
HTTPAjouteParamètre("FORM""bindType",     ChaîneVersUTF8(:BindType))

SI :methodeZip ALORS     HTTPAjouteParamètre("FORM""methode"ChaîneVersUTF8("zip"))    SINON HTTPAjouteParamètre("FORM""methode"ChaîneVersUTF8("NON"))
SI :CryptRetour ALORS     HTTPAjouteParamètre("FORM""crypteretour"ChaîneVersUTF8("OUI")) SINON HTTPAjouteParamètre("FORM""crypteretour"ChaîneVersUTF8("NON"))

HTTPTimeOut(76000000)
ResLancement HTTPEnvoieFormulaire("FORM", :URL)
SI ResLancement Vrai ALORS
    
    
//On récupère un fichier zip crypté
    
SI :PocketPC ALORS
        v_chaineResult 
AnsiVersUnicode(HTTPDonneRésultat(),:alphabet)
    
SINON
        SI PAS 
:UTF8Mode     ALORS v_chaineResult AnsiVersUnicode(HTTPDonneRésultat(httpRésultat),:alphabet)
        
SI :UTF8Mode         ALORS v_chaineResult =  HTTPDonneRésultat()
    
FIN
    
//-----------------------------------------------------------------------------------------------------------
    // Gestion des erreurs 
    // soit la chaine est vide et on recupere l'entete
    // soit elle ne contient pas les separateur et donc le Exec c'est mal passé
    //-----------------------------------------------------------------------------------------------------------
    
SI Taille(v_chaineResult) = 0 ALORS
        
:ErreurText HTTPDonneRésultat(httpEntête)
        
RENVOYER Faux
    FIN
    SI Position
(v_chaineResult,"--DEBUTSQL--PHP4WDSEP") = 0 ALORS 
        
:ErreurText HTMLVersTexte(v_chaineResult)
        
RENVOYER(Faux)
    
FIN
    
//-----------------------------------------------------------------------------------------------------------
    
    
v_chaineResult ExtraitChaîne(ExtraitChaîne(v_chaineResult,2,"--DEBUTSQL--PHP4WDSEP"),1,"--FINSQL--")     
SINON
    RENVOYER Faux
FIN

:ligne[myRequestNumber] = 0
:colonne[myRequestNumber] = 0
retCode 
Vrai

v_indCar est un entier 
1
v_indCour est un entier 
1

BOUCLE
    Multitâche
(-1)
    
// extraction de la valeur des colonnes
    
v_indCar Position(v_chaineResult,"PHP4WDSEP",v_indCour)
    
v_ligne v_chaineResult [ [ v_indCour A v_indCar-1]  ]
    
    
SI v_indCar =0 ALORS SORTIR 
    
    v_indCour 
v_indCour+Taille(v_ligne)+9
    v_indCar
+= v_indCour
    
    
// on a pas d'erreur php donc on continue il y a un
    // resultat a stocker
    
SI :CryptRetour ALORS v_ligne = :URLDecrypte(v_ligne)
    
    
SI v_ligne "--BINDVARIABLE--" ALORS SORTIR
    
// traitement des valeur a recuperer la premiere fois on mettra les 
    // indice et nom de colonne ensuite on prend les valeur des lignes
    
SI v_ligne "--LIGNES--" ALORS 
        
:colonne[myRequestNumber] = v_colonne
        
:ligne[myRequestNumber] = 0
    SINON
        v_ligne 
Remplace(v_ligne,"Ø","")  
        
SI DateValide(Remplace(v_ligne [ [ A 10  ] ],"-","")) ALORS 
            v_ligne 
Remplace(v_ligne,"-","")
            
v_ligne Remplace(v_ligne," ","")
            
v_ligne Remplace(v_ligne,":","")
        
FIN
        v_colonne 
++
        :
ligne[myRequestNumber] ++
        
SELON myRequestNumber
            CAS 1 
Dimension(:Resultat1,Dimension(:Resultat1)+1);:Resultat1[:colonne[myRequestNumber]+:ligne[myRequestNumber]] = v_ligne    
            CAS 2 
Dimension(:Resultat2,Dimension(:Resultat2)+1);:Resultat2[:colonne[myRequestNumber]+:ligne[myRequestNumber]] = v_ligne    
            CAS 3 
Dimension(:Resultat3,Dimension(:Resultat3)+1);:Resultat3[:colonne[myRequestNumber]+:ligne[myRequestNumber]] = v_ligne    
            CAS 4 
Dimension(:Resultat4,Dimension(:Resultat4)+1);:Resultat4[:colonne[myRequestNumber]+:ligne[myRequestNumber]] = v_ligne    
            CAS 5 
:    Dimension(:Resultat5,Dimension(:Resultat5)+1);:Resultat5[:colonne[myRequestNumber]+:ligne[myRequestNumber]] = v_ligne                
        FIN
    FIN
FIN

// recuperation des variable bind dans le tableau
v_indiceBind=0
BOUCLE
    v_indCar 
Position(v_chaineResult,"PHP4WDSEP",v_indCour)
    
v_ligne v_chaineResult [ [ v_indCour A v_indCar-] ]
    
SI v_indCar =0 ALORS SORTIR 
    
    v_indCour 
v_indCour+Taille(v_ligne)+9
    v_indCar
+= v_indCour
    SI 
:CryptRetour ALORS v_ligne = :URLDecrypte(v_ligne)

    
v_indiceBind++    
    
Dimension(:bindres,Dimension(:bindres)+1)
    :
bindres[v_indiceBind] = v_ligne
FIN

SI 
:ligne[myRequestNumber] > 0 ET :colonne[myRequestNumber] > 0 ALORS 
    
:ligne[myRequestNumber] = :ligne[myRequestNumber] / :colonne[myRequestNumber]
    :
indiceEncour[myRequestNumber] = 1
SINON
    
:mySQLEnDehors Vrai
FIN
:indiceEncour[myRequestNumber]=0
RENVOYER 
(retCode)


je l'ai mise dans les telechargements les liens n'ont pas changer encore mais les zip sont a jour

Posté le : 2017/6/3 18:24
_________________
----------
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
     Problème dans PHP4WD JMDGFR 2017/6/3 17:41
       Re: Problème dans PHP4WD Firetox 2017/6/3 18:24
       Re: Problème dans PHP4WD Firetox 2017/6/4 21:01





[Recherche avancée]