Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Probleme checkbox & initFromDao()

Posted by LouisS on 04/23/2010 09:13

Bonjour,

Voila, j'ai remarqué un possible bug lors des initFromDao() en ce qui concerne les checkbox.

Je réalise actuellement un projet sur la version 1.1 de Jelix et lorsque j'utilise l'initFromDao pour éditer une jform déjà créée, toutes les checkbox sont cochées (même celles qui se trouve être à 0 en BDD).

Après une petite recherche j'ai vu qu'au niveau du fichier de contrôle jFormsControlCheckbox.class.php (line 59) la condition :

" if($value == 'TRUE'|| $value == 't'|| $value == '1'|| $value == true) "

me semble mal interprétée lorsque $value est égal à (int)0.

Le patch du ticket #757 (qui semble être le même problème) est présent sur mon projet mais l'erreur aussi . . .

Merci d'avance

  [Opened] Probleme checkbox & initFromDao()

Reply #1 Posted by laurentj on 04/25/2010 13:59

Bonjour,

en effet, il y a bug à ce niveau là. Par contre, je ne comprend pas pourquoi la valeur que tu as est un entier, et non pas une chaine. Toutes les valeurs renvoyés par les API de base de données de PHP renvoient exclusivement des chaines PHP, et ne font pas de convertions, en tout cas , pas mysql ni postgresql.

À moins que tu utilises une base particulière ? ou pdo ? ou ça a changé dans une version récente de php ? quelle version utilise-tu, quelle base, et quel driver jdb ?

  [Opened] Probleme checkbox & initFromDao()

Reply #2 Posted by laurentj on 04/25/2010 15:32

bug corrigé http://developer.jelix.org/ticket/1092

  [Opened] Re: Probleme checkbox & initFromDao()

Reply #3 Posted by LouisS on 04/26/2010 10:56

Merci pour ce patch rapide :) Cela fonctionne parfaitement.

Pour te répondre (on est pas des bêtes. . .) je travail sur une base mssql ... avec un driver réalisé par un programmeur sur le projet (il te l'a fait parvenir afin de l'integrer à jelix, mais il nécessite encore un patch). Il reste encore quelques efforts à faire sur le limit qui n'est pas gérer par sql server.

Encore merci.

  [Opened] Probleme checkbox & initFromDao()

Reply #4 Posted by laurentj on 04/26/2010 12:07

ah interessant, cela voudrait donc dire que l'api mssql de php converti les données dans le type correspondant PHP...

  [Opened] Probleme checkbox & initFromDao()

Reply #5 Posted by Yann.L on 04/26/2010 17:32

Je pense que c'est le fait que le type booléen n'existe pas sur SQL Server.

L'équivalent sur SQL Server est le type bit qui renvoi 0 ou 1, donc un entier.

 
Page
  1. Probleme checkbox & initFromDao()