Radio Button VS Form
Üdv
Már két hasonló témában írtam ide, most egy másik projektben akadtam falba. Kutakodtam idefönn, de csak selectes témákba futottam sorra, ami hasonló témával foglalkozott. Tehát... adva vagyon egy msyql /mi más? :)/ adattábla, amiből lekérdezek és While-al szépen táblázatba rendezve kiírom őket. Minden rekordhoz tartozik egy allowed nevű cella, melynek értéke N vagy Y. A lekérdezésben szerepel 2db radio button is, melyek értéke a cellában lévő két értékkel azonos.
A kérdésem az lenne,hogy tudom megadni neki normálisan és egyszerűen, hogy a cellában lévő értékkel megfelelő radio button legyen checked kiíráskor?
Ez maga az érintett rész a listázás kis magántáblázatában:Ez pedig a lekérdezés, ami nem igazán akar összejönni (a ... helyén van a while rész, kiszedtem, nehogy valakit beavarjon):Az a bajom, hogy így minden egyes sorban a Y érték lessz bejelölve. Valaki már csinált ilyet, vagy futott bele hasonló gondba?
C.
■ Már két hasonló témában írtam ide, most egy másik projektben akadtam falba. Kutakodtam idefönn, de csak selectes témákba futottam sorra, ami hasonló témával foglalkozott. Tehát... adva vagyon egy msyql /mi más? :)/ adattábla, amiből lekérdezek és While-al szépen táblázatba rendezve kiírom őket. Minden rekordhoz tartozik egy allowed nevű cella, melynek értéke N vagy Y. A lekérdezésben szerepel 2db radio button is, melyek értéke a cellában lévő két értékkel azonos.
A kérdésem az lenne,hogy tudom megadni neki normálisan és egyszerűen, hogy a cellában lévő értékkel megfelelő radio button legyen checked kiíráskor?
Ez maga az érintett rész a listázás kis magántáblázatában:
<form name="adm-gform" method="post" action="">
<span class="Y">
<input type="radio" value="Y" id="allowed" name="allowed" '.$checked1.'> Igen</span>
<span class="N">
<input type="radio" value="N" id="allowed" name="allowed" '.$checked2.'> Nem</span>
</form>
$sql = "SELECT * FROM $tbl_name ORDER by ID";
$result = mysql_query($sql);
$sor = mysql_fetch_array($result);
$allapot = $sor[5];
...
$checked1 = '';
$checked2 = '';
if ($allapot == 'Y') { $checked1 = 'checked'; }
if ($allapot == 'N') { $checked2 = 'checked'; }
C.
Mindig a ciklus a hibás
Részigazság
Itt az eredeti kódrészlet, a teljesség igénye nélkül:
dupla fetch
Azért hagy ki minden második sort, mert kétszer van a ciklusban mysql_fetch_array() hívás. A másodikat töröld, és használd a While-ban kapott $rows-t, vagy nevezd át $sor-ra!
Üdv: Norbi
Azt hiszem megvan
While
while
-t hiszen pont az, ami bekavar.Kis update
C.
$_POST és a tömbök
$_POST['allowed[]']
helyett$_POST['allowed']
tömb értékei. Nem tudom, mennyi értéke van, mindenesetre a$_POST['allowed']
egy tömb lesz, azért annak kell kivenni az elemeit, mondjuk$_POST['allowed'][0]
vagy végigmehetsz rajtaforeach
-csel.tömbök
Markup
$_POST['ID']
értéket mindenféle előszűrés vagy feldolgozás nélkül, mivel nem tudhatod, mi jön benne. Ezért vagy számmá kellene előbb alakítani intval-lal, ha számot várunk, vagy megfelelően escapelni, például mysql_real_escape_string-gel.Update
Frissítés:
Igen, működött, köszönöm Poetro :)
Azért íme az általam használt kód: