Débutant en Php, je suis en train de me prendre la tête avec un bout de code
qui devrait
à priori être pourtant simple ?
Voici ce que je veux faire... Dans une BDD, j'ai un champ "Actif ou pas" 1
pou oui, ou 0 pour
non... que l'on renseigne via un formulaire de saisie ou un autre de
modification, via des cases
à cocher !
C'est la modification qui me pose problème...
Je voudrais en effet, que dans le form de modification d'une fiche, la case
correspondante à
l'état actuel de la variable $active soit précochée (checked)... Mais je ne
parviens pas
à mes fins... Sans doute à cause de problèmes de syntaxe...
Qui saura m'aider ?
Voici mon code pour le form de modif (il est situté dans une cellule de
tableau)
Il te manque les "" autour de value, il vaut mieux mettre checked="checked" pour une bonne compatibilité. Et en délimitant ton echo par des quotes simples, il y a des chances pour que $myrow["active"] ne soit pas interprété. As-tu regardé la source générée ?
elseif(@$active == 0 )
Pourquoi pas un simple else ? Si par un quelconque hasard ton champ était mal rempli (valeur NULL par exemple), tu aurais un affichage par défaut.
Il te manque les "" autour de value, il vaut mieux mettre
checked="checked" pour une bonne compatibilité. Et en délimitant ton
echo par des quotes simples, il y a des chances pour que
$myrow["active"] ne soit pas interprété. As-tu regardé la source générée ?
elseif(@$active == 0 )
Pourquoi pas un simple else ? Si par un quelconque hasard ton champ
était mal rempli (valeur NULL par exemple), tu aurais un affichage par
défaut.
Il te manque les "" autour de value, il vaut mieux mettre checked="checked" pour une bonne compatibilité. Et en délimitant ton echo par des quotes simples, il y a des chances pour que $myrow["active"] ne soit pas interprété. As-tu regardé la source générée ?
elseif(@$active == 0 )
Pourquoi pas un simple else ? Si par un quelconque hasard ton champ était mal rempli (valeur NULL par exemple), tu aurais un affichage par défaut.
-- Réseau IRC Francophone: http://www.zeolia.net Aide et astuces : http://www.g33k-zone.org Communauté Francophone sur les Eggdrops: http://www.eggdrop.fr
Pascal
Epicurien a écrit :
Je voudrais en effet, que dans le form de modification d'une fiche, la case correspondante à l'état actuel de la variable $active soit précochée (checked)...
Bonjour,
Déjà, même si PHP le permet, je trouve suspect la présence de l'opérateur d'erreur silencieuse '@' derrière la variable '$active'. Vu les tests et le HTML qui suit, il vaut mieux être sûr que cette variable est bien renseignée.
Donc, admettons qu'elle le soit, et qu'elle arrive avec le bon type (entier ou booléen), le reste ne devrait pas poser problème.
Par contre, erreur classique, les chaînes délimitées par des guillemets simples n'interprètent pas les variables. Pourtant facile à vérifier, en regardant le code source sur le client HTTP, qui doit produire '<input ... value=$myrow["active"] ...>' ou encore '<input ... value="active" ...>' s'il n'arrive pas à comprendre l'emplacement des guillemets doubles. Mais, de toute façon, je ne vois pas l'intérêt d'utiliser une variable à cet endroit, puisqu'on connait la valeur !
Enfin, comme le résultat de la saisie ne peut être que 'oui' ou 'non', il serait plus logique d'utiliser des boutons type 'radio', plutôt que 'checkbox'.
Il y a d'autres façons de l'écrire, mais la logique serait la même.
Cordialement, Pascal
Epicurien a écrit :
Je voudrais en effet, que dans le form de modification d'une fiche, la case
correspondante à
l'état actuel de la variable $active soit précochée (checked)...
Bonjour,
Déjà, même si PHP le permet, je trouve suspect la présence de
l'opérateur d'erreur silencieuse '@' derrière la variable '$active'.
Vu les tests et le HTML qui suit, il vaut mieux être sûr que cette
variable est bien renseignée.
Donc, admettons qu'elle le soit, et qu'elle arrive avec le bon type
(entier ou booléen), le reste ne devrait pas poser problème.
Par contre, erreur classique, les chaînes délimitées par des guillemets
simples n'interprètent pas les variables.
Pourtant facile à vérifier, en regardant le code source sur le client
HTTP, qui doit produire '<input ... value=$myrow["active"] ...>' ou
encore '<input ... value="active" ...>' s'il n'arrive pas à comprendre
l'emplacement des guillemets doubles.
Mais, de toute façon, je ne vois pas l'intérêt d'utiliser une variable à
cet endroit, puisqu'on connait la valeur !
Enfin, comme le résultat de la saisie ne peut être que 'oui' ou 'non',
il serait plus logique d'utiliser des boutons type 'radio', plutôt que
'checkbox'.
Je voudrais en effet, que dans le form de modification d'une fiche, la case correspondante à l'état actuel de la variable $active soit précochée (checked)...
Bonjour,
Déjà, même si PHP le permet, je trouve suspect la présence de l'opérateur d'erreur silencieuse '@' derrière la variable '$active'. Vu les tests et le HTML qui suit, il vaut mieux être sûr que cette variable est bien renseignée.
Donc, admettons qu'elle le soit, et qu'elle arrive avec le bon type (entier ou booléen), le reste ne devrait pas poser problème.
Par contre, erreur classique, les chaînes délimitées par des guillemets simples n'interprètent pas les variables. Pourtant facile à vérifier, en regardant le code source sur le client HTTP, qui doit produire '<input ... value=$myrow["active"] ...>' ou encore '<input ... value="active" ...>' s'il n'arrive pas à comprendre l'emplacement des guillemets doubles. Mais, de toute façon, je ne vois pas l'intérêt d'utiliser une variable à cet endroit, puisqu'on connait la valeur !
Enfin, comme le résultat de la saisie ne peut être que 'oui' ou 'non', il serait plus logique d'utiliser des boutons type 'radio', plutôt que 'checkbox'.
Si je puis me permettre, il faut faire la différence entre les standards HTML et XHTML : - HTML est le domaine du Web, il reste et restera compréhensible par tous les clients Web, sauf avis contraire du W3C. Il se suffit donc à lui-même pour produire du contenu standard. - XHTML n'est qu'une extension de HTML qui, grâce à de légères modifications de syntaxe, permet de rendre un contenu HTML compatible avec le standard XML. Ce n'est donc pas un remplaçant de HTML (sinon il n'y aurait pas de version 5 en vue).
Pour l'exemple donné, on a le choix entre :
- la syntaxe HTML '<input ... checked>' - et la syntaxe XHTML '<input ... checked="checked"/>'
Ceci à condition que tout le reste du document suive le même standard, y compris le 'DOCTYPE' qui est souvent oublié, alors que déterminant pour la liberté d'interprétation du client HTTP !
Cordialement, Pascal
PS: je place mon intervention à ce niveau de la discussion pour un souci d'ordre chronologique, mais elle est plus destinée à Epicurien, qui se déclare débutant, qu'à CrazyCat, que je crois plus confirmé.
Si je puis me permettre, il faut faire la différence entre les standards
HTML et XHTML :
- HTML est le domaine du Web, il reste et restera compréhensible par
tous les clients Web, sauf avis contraire du W3C. Il se suffit donc à
lui-même pour produire du contenu standard.
- XHTML n'est qu'une extension de HTML qui, grâce à de légères
modifications de syntaxe, permet de rendre un contenu HTML compatible
avec le standard XML. Ce n'est donc pas un remplaçant de HTML (sinon il
n'y aurait pas de version 5 en vue).
Pour l'exemple donné, on a le choix entre :
- la syntaxe HTML '<input ... checked>'
- et la syntaxe XHTML '<input ... checked="checked"/>'
Ceci à condition que tout le reste du document suive le même standard, y
compris le 'DOCTYPE' qui est souvent oublié, alors que déterminant pour
la liberté d'interprétation du client HTTP !
Cordialement,
Pascal
PS: je place mon intervention à ce niveau de la discussion pour un souci
d'ordre chronologique, mais elle est plus destinée à Epicurien, qui se
déclare débutant, qu'à CrazyCat, que je crois plus confirmé.
Si je puis me permettre, il faut faire la différence entre les standards HTML et XHTML : - HTML est le domaine du Web, il reste et restera compréhensible par tous les clients Web, sauf avis contraire du W3C. Il se suffit donc à lui-même pour produire du contenu standard. - XHTML n'est qu'une extension de HTML qui, grâce à de légères modifications de syntaxe, permet de rendre un contenu HTML compatible avec le standard XML. Ce n'est donc pas un remplaçant de HTML (sinon il n'y aurait pas de version 5 en vue).
Pour l'exemple donné, on a le choix entre :
- la syntaxe HTML '<input ... checked>' - et la syntaxe XHTML '<input ... checked="checked"/>'
Ceci à condition que tout le reste du document suive le même standard, y compris le 'DOCTYPE' qui est souvent oublié, alors que déterminant pour la liberté d'interprétation du client HTTP !
Cordialement, Pascal
PS: je place mon intervention à ce niveau de la discussion pour un souci d'ordre chronologique, mais elle est plus destinée à Epicurien, qui se déclare débutant, qu'à CrazyCat, que je crois plus confirmé.
Mihamina Rakotomandimby
09/20/2009 12:10 AM, Pascal:
Il y a d'autres façons de l'écrire
D'ailleurs, Epicurien pourrait, des le debut, s'orienter du coté d'un systme de templates du genre de smarty...
Ca peut porter ses fruits dans le futur...
09/20/2009 12:10 AM, Pascal:
Il y a d'autres façons de l'écrire
D'ailleurs, Epicurien pourrait, des le debut, s'orienter
du coté d'un systme de templates du genre de smarty...
D'ailleurs, Epicurien pourrait, des le debut, s'orienter du coté d'un systme de templates du genre de smarty...
Ca peut porter ses fruits dans le futur...
Bruno Desthuilliers
Mihamina Rakotomandimby a écrit :
09/20/2009 12:10 AM, Pascal:
Il y a d'autres façons de l'écrire
D'ailleurs, Epicurien pourrait, des le debut, s'orienter du coté d'un systme de templates du genre de smarty...
Ou comment écrire un langage de template dans un langage de template (ce qu'est, avant tout, PHP...). Et imposer à l'OP d'apprendre encore un langage en plus... :-/
Ca peut porter ses fruits dans le futur...
Tu me permettra d'être en désaccord. PHP *est* un langage de template, pourquoi se faire ch... (et surcharger le serveur) en en remettant une couche ???
Mihamina Rakotomandimby a écrit :
09/20/2009 12:10 AM, Pascal:
Il y a d'autres façons de l'écrire
D'ailleurs, Epicurien pourrait, des le debut, s'orienter
du coté d'un systme de templates du genre de smarty...
Ou comment écrire un langage de template dans un langage de template (ce
qu'est, avant tout, PHP...). Et imposer à l'OP d'apprendre encore un
langage en plus... :-/
Ca peut porter ses fruits dans le futur...
Tu me permettra d'être en désaccord. PHP *est* un langage de template,
pourquoi se faire ch... (et surcharger le serveur) en en remettant une
couche ???
D'ailleurs, Epicurien pourrait, des le debut, s'orienter du coté d'un systme de templates du genre de smarty...
Ou comment écrire un langage de template dans un langage de template (ce qu'est, avant tout, PHP...). Et imposer à l'OP d'apprendre encore un langage en plus... :-/
Ca peut porter ses fruits dans le futur...
Tu me permettra d'être en désaccord. PHP *est* un langage de template, pourquoi se faire ch... (et surcharger le serveur) en en remettant une couche ???
Epicurien
> Enfin, comme le résultat de la saisie ne peut être que 'oui' ou 'non', il serait plus logique d'utiliser des boutons type 'radio', plutôt que 'checkbox'.
Merci... C'est ce que je me suis résigné à faire... Mais parce que mon cahier des charges a changé depuis... Initialement OUI et NON pouvaient être cochés simultanément.... Cela était lié a l'appli en elle même...
Bref, problème résolu ;)
Merci à tous
> Enfin, comme le résultat de la saisie ne peut être que 'oui' ou 'non',
il serait plus logique d'utiliser des boutons type 'radio', plutôt que
'checkbox'.
Merci... C'est ce que je me suis résigné à faire... Mais parce que mon
cahier des
charges a changé depuis... Initialement OUI et NON pouvaient être cochés
simultanément.... Cela était lié a l'appli en elle même...
> Enfin, comme le résultat de la saisie ne peut être que 'oui' ou 'non', il serait plus logique d'utiliser des boutons type 'radio', plutôt que 'checkbox'.
Merci... C'est ce que je me suis résigné à faire... Mais parce que mon cahier des charges a changé depuis... Initialement OUI et NON pouvaient être cochés simultanément.... Cela était lié a l'appli en elle même...
Bref, problème résolu ;)
Merci à tous
Christophe
On 19 sep, 23:10, Pascal wrote:
Enfin, comme le résultat de la saisie ne peut être que 'oui' ou 'non', il serait plus logique d'utiliser des boutons type 'radio', plutôt que 'checkbox'.
Quelle drôle d'idée, les checkbox sont justement destinées à des reponses booleenes (true/false, oui/non...)
On 19 sep, 23:10, Pascal <poncet.pas...@gmail.com> wrote:
Enfin, comme le résultat de la saisie ne peut être que 'oui' ou 'non',
il serait plus logique d'utiliser des boutons type 'radio', plutôt que
'checkbox'.
Quelle drôle d'idée, les checkbox sont justement destinées à des
reponses booleenes (true/false, oui/non...)
Enfin, comme le résultat de la saisie ne peut être que 'oui' ou 'non', il serait plus logique d'utiliser des boutons type 'radio', plutôt que 'checkbox'.
Quelle drôle d'idée, les checkbox sont justement destinées à des reponses booleenes (true/false, oui/non...)
Christophe
On 29 sep, 12:33, Christophe wrote:
On 19 sep, 23:10, Pascal wrote:
> Enfin, comme le résultat de la saisie ne peut être que 'oui' ou 'non', > il serait plus logique d'utiliser des boutons type 'radio', plutôt que > 'checkbox'.
Quelle drôle d'idée, les checkbox sont justement destinées à des reponses booleenes (true/false, oui/non...)
Désolé, je viens de comprendre. La drôle d'idée venait surtout de vouloir mettre deux checkbox en fait. Mais puisque Epicurien semblait avoir une étrange raison venant de son cahier des charges... Ca n'empêche pas que je ne comprend absolument pas comment l'exemple du début peut donner quelque-chose de cohérent puisqu'il va afficher deux checkbox ayant le même attribut name.
On 29 sep, 12:33, Christophe <christophe.mere...@gadz.org> wrote:
On 19 sep, 23:10, Pascal <poncet.pas...@gmail.com> wrote:
> Enfin, comme le résultat de la saisie ne peut être que 'oui' ou 'non',
> il serait plus logique d'utiliser des boutons type 'radio', plutôt que
> 'checkbox'.
Quelle drôle d'idée, les checkbox sont justement destinées à des
reponses booleenes (true/false, oui/non...)
Désolé, je viens de comprendre. La drôle d'idée venait surtout de
vouloir mettre deux checkbox en fait. Mais puisque Epicurien semblait
avoir une étrange raison venant de son cahier des charges...
Ca n'empêche pas que je ne comprend absolument pas comment l'exemple
du début peut donner quelque-chose de cohérent puisqu'il va afficher
deux checkbox ayant le même attribut name.
> Enfin, comme le résultat de la saisie ne peut être que 'oui' ou 'non', > il serait plus logique d'utiliser des boutons type 'radio', plutôt que > 'checkbox'.
Quelle drôle d'idée, les checkbox sont justement destinées à des reponses booleenes (true/false, oui/non...)
Désolé, je viens de comprendre. La drôle d'idée venait surtout de vouloir mettre deux checkbox en fait. Mais puisque Epicurien semblait avoir une étrange raison venant de son cahier des charges... Ca n'empêche pas que je ne comprend absolument pas comment l'exemple du début peut donner quelque-chose de cohérent puisqu'il va afficher deux checkbox ayant le même attribut name.
Pascal
Christophe a écrit :
On 19 sep, 23:10, Pascal wrote:
Enfin, comme le résultat de la saisie ne peut être que 'oui' ou 'non', il serait plus logique d'utiliser des boutons type 'radio', plutôt que 'checkbox'.
Quelle drôle d'idée, les checkbox sont justement destinées à des reponses booleenes (true/false, oui/non...)
Sauf quand on veut faire apparaître les deux réponses possibles, ce qui semblait être le cas de notre ami.
Christophe a écrit :
On 19 sep, 23:10, Pascal <poncet.pas...@gmail.com> wrote:
Enfin, comme le résultat de la saisie ne peut être que 'oui' ou 'non',
il serait plus logique d'utiliser des boutons type 'radio', plutôt que
'checkbox'.
Quelle drôle d'idée, les checkbox sont justement destinées à des
reponses booleenes (true/false, oui/non...)
Sauf quand on veut faire apparaître les deux réponses possibles, ce qui
semblait être le cas de notre ami.
Enfin, comme le résultat de la saisie ne peut être que 'oui' ou 'non', il serait plus logique d'utiliser des boutons type 'radio', plutôt que 'checkbox'.
Quelle drôle d'idée, les checkbox sont justement destinées à des reponses booleenes (true/false, oui/non...)
Sauf quand on veut faire apparaître les deux réponses possibles, ce qui semblait être le cas de notre ami.
Mickael Wolff
Christophe wrote:
Quelle drôle d'idée, les checkbox sont justement destinées à des reponses booleenes (true/false, oui/non...)