[php et mysql] Petit souci de checked actif

Bonjour,

J’ai un petit souci pour l’affichage du checked correspondant à la bonne variable.

Lorsque je récupére ma variable $row[2], et que le choix soit oui ou non selon, c’est toujours le même checked qui est actif. (?)

Pourtant,lorsque je vérifie avec mon test en fin de ligne, la variable est pourtant bien modifiée dans ma table.
Merci à vous si vous avez une idée sur le truc.
cordialement
[cpp]

print ( “OUI<input type=“radio” name=“vdr” value=“oui” if($row[2]==“oui”) checked=” CHECKED">

NON<input type=“radio” name=“vdr” value=“non” if($row[2]=="$non") checked=" CHECKED" ");

// Test ?)

print("$row[2]");

// Test ok

[/cpp]

Heu… Je ne m’y connais peut-être pas assez… mais est-ce normal que tu mette un if(…) dans l’argument de ton print ?

De plus, ligne 2, tu as if($row[2]=="$non"), peut-être faudrait-il plutôt if($row[2]==“non”) (sans le “$” à “$non”) ?

Non, c’est pas normal le $, c’est une erreur en recopiant les lignes.

Ma ligne réelle comprend bien :

if($row[2]==“non”)

Mais celà n’explique pas pourquoi c’est toujours le même checked qui est coché, alors que le changement de variable est bien effectué sur ma base. :??:

Et pour le if dans le print ?

  1. Soit tu sors le code html du php, soit tu utilises les singles quotes.

echo 'oui ';

ou:

oui

  1. pour ton cas, utilise des radio (type=“radio”), ça t’éviteras de pouvoir choisir Oui ET Non.

  2. Pour finir, ça marchera jamais. PHP n’analyse pas les chaînes (avec double quote) pour y trouver des instructions. Pour ce que tu veux c’est ça :

oui <input type=“checkbox”<?php echo $truc == $machin ? ' checked="checked"':''; ?> />

  1. vérifie ta source html si tu me crois pas (eg: ce que php t’affiche)