b_medamine
Messages postés69Date d'inscriptionmardi 21 juin 2005StatutMembreDernière intervention 4 décembre 2007 28 nov. 2005 à 13:49
Mais je vois que vous n'avez pas compris ce que je cherche .... Je ne
contredit pas qu'il s'agit d'un tableau associatif ... Je cherche une
méthode que à partir de ce tableau ( quelque soit) de me retourner
'int' qs c une valeur numérique, et un string quand c une chaine de
caractère ...
je comprend que $var= "256"; est une chaine et pas un entier .... mais je ch à la rendre une valuer numérique
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 28 nov. 2005 à 14:02
Là tu demandais comment détecter le type...:
" Y a t-il une fonction en PHP qui permet de me donner le type d'un champ. "
Et cela marche très bien. Tu n'as que des chaînes dans ton tableau,
donc, il renvoie toujours que tu as une chaîne pour chaque entrée de
ton tableau.
Pour convertir :
tu as settype();
ou bien :
$var = '265';
$var = (int) $var;
Maintenant ton problème vient à la base d'une mauvaise gestion des types dans ton code.
Si tu construisais ton tableau correctement (avec des int quand tu veux
un int, des booléens quand tu veux un booléen), tu n'aurais pas ce
problème de n'avoir que des chaînes que tu doives ensuite convertir.
b_medamine
Messages postés69Date d'inscriptionmardi 21 juin 2005StatutMembreDernière intervention 4 décembre 2007 28 nov. 2005 à 14:10
Y a aucune mauvaise gestion des types, c'est juste question que je ne
voulais pas écrire une centaine de lignes pr expliquer mon problème
.... J'essaye à chaque fois de réduire la problématique pr qu'elle soit
aussi ouverte et interssante pr non pr mon cas, pour tt les utils
!!
Il s'agit d'un moteur de recherche multi critères .... J'ai 4 listes
déroulantes liées ... les trois premières marchent bien, mais je
cherchais à ce que lorsqu'on chosit un élement de la troisième liste, y
a soit un champ de texte ( pr un texte), soit une case à cocher ( pour
un booleén), et aussi pour que je gère bien les erreurs ...
la base au début est construite avec des champs text ... donc je
ne pouvais pas vie mysql_field_type d'extraire le type .... je me suis
dis si jamais je trouve le type de l'élement de la troisième liste, je
pourrai facilement donner le bon champ ds la 4ème colonne au lieu de
laisser à l'utilisateur de rentrer n'importe quelle valeur ...
la je suis entrain d'implémenter autre solution : je me connecvte à ma
base, et je fais un select distinct pour chaque colonne ... si la
colonne prend que des valeurs numériques ( is_numeric) je met un champ
de texte , si elle prend ( false ou true) je met une case à cocher , et
si c un string ( je génère une liste déroulante ( like, = , != ...)