|
|
|
อยากทราบว่า เวลาแก้ไขข้อมูล จะให้ checked ใน checkbox ที่เคยเลือกไว้ยังไงครับ |
|
|
|
|
|
|
|
เอาค่าที่ได้จากฟิวล์ EVTL_Role_Admin มา explode ด้วยคอมม่า (,) ตามที่คุณ implode เข้าไป
มันจะคืนค่ากลับมาเป็น array คุณก็เอาค่านั้นไปเช็คต่ออีกที
|
|
|
|
|
Date :
2015-08-27 10:14:24 |
By :
WiTT |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เช็คเงื่อนไขไงครับ
Code (PHP)
if(true){echo"checked";}
Code (PHP)
<input type="checkbox" name="ccc1" <?php if($val1 == 1){ echo "checked"; } ?> value="1" />
|
|
|
|
|
Date :
2015-08-27 10:15:28 |
By :
CasanovaKung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?
$sql2 = "select EVTL_Role_Admin from EVTL_Member where EVTL_Username = '$EVTL_Username'";
mysql_query("SET NAMES UTF8");
$Results = mysql_query($sql2);
$Num_Rows = mysql_num_rows($Results);
$num_Row = mysql_fetch_array($Results);
$EVTL_Role_Admin = $num_Row['EVTL_Role_Admin'];
$data = explode(",",$EVTL_Role_Admin);
$sql = "select * from EVTL_Dept Order By EVTL_Dept_No";
$dbquery = mysql_db_query(EVTL, $sql);
$num_rows = mysql_num_rows($dbquery);
$i=0;
while ($i < $num_fields)
{
$field_name[$i] = mysql_field_name($dbquery, $i);
echo "<Td bgcolor=skyblue>".$field_name[$i]."</Td>";
$i++;
}
$i=0;
while ($i < $num_rows)
{
$result = mysql_fetch_array($dbquery);
$EVTL_Dept_No = $result[EVTL_Dept_No];
$EVTL_Dept_Name = $result[EVTL_Dept_Name];
?>
<input type='checkbox' name='EVTL_Role_Admin[]'<? if($data[$i] == $$EVTL_Dept_No){
echo "checked";} ?> value='<? $EVTL_Dept_No ?>'> <? echo $EVTL_Dept_Name;?> <br>
<? $i++;
}
?>
|
ประวัติการแก้ไข 2015-08-27 15:41:21 2015-08-27 15:41:40
|
|
|
|
Date :
2015-08-27 15:20:25 |
By :
insawasd |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?
$sql2 = "select EVTL_Role_Admin from EVTL_Member where EVTL_Username = '$EVTL_Username'";
mysql_query("SET NAMES UTF8");
$Results = mysql_query($sql2);
$Num_Rows = mysql_num_rows($Results);
$num_Row = mysql_fetch_array($Results);
$EVTL_Role_Admin = $num_Row['EVTL_Role_Admin'];
$data = explode(",",$EVTL_Role_Admin);
$sql = "select * from EVTL_Dept Order By EVTL_Dept_No";
$dbquery = mysql_db_query(EVTL, $sql);
$num_rows = mysql_num_rows($dbquery);
$i=0;
while ($i < $num_fields)
{
$field_name[$i] = mysql_field_name($dbquery, $i);
echo "<Td bgcolor=skyblue>".$field_name[$i]."</Td>";
$i++;
}
$i=0;
while ($i < $num_rows)
{
$result = mysql_fetch_array($dbquery);
$EVTL_Dept_No = $result[EVTL_Dept_No];
$EVTL_Dept_Name = $result[EVTL_Dept_Name];
?>
<input type='checkbox' name='EVTL_Role_Admin[]'<? if($data[$i] == $EVTL_Dept_No){
echo "checked";} ?> value='<? $EVTL_Dept_No ?>'> <? echo $EVTL_Dept_Name;?> <br>
<? $i++;
}
?>
เกือบได้แล้วครับ แต่ยังไม่ครบครับ
|
|
|
|
|
Date :
2015-08-27 15:40:26 |
By :
insawasd |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$data[0] = 123, $data[1] = 456;
ซึ่งมันจะตรงกับ $EVTL_Dept_No เฉพาะตัวแรกเท่านั้นครับ
เพราะตัวต่อมาของค่า $EVTL_Dept_No คือ 234
Code (PHP)
<input type='checkbox' name='EVTL_Role_Admin[]'<? if(in_array($EVTL_Dept_No, $data)){echo "checked";} ?> value='<? $EVTL_Dept_No ?>'>
|
|
|
|
|
Date :
2015-08-27 15:51:50 |
By :
WiTT |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอา ข้อมูลที่เก็บมาแยกเป็น array
แล้วใช้ in_array ในการตรวจสอบครับ
// น่าจะใช้ได้ผล
Example =>
Code (PHP)
<?php
$arr = [
'123' => 'ทดสอบ1',
'234' => 'ทดสอบ2',
'345' => 'ทดสอบ3',
'456' => 'ทดสอบ4',
];
$data = '123,456';
foreach($arr as $arrK => $arrV) {
$newArr = explode(",", $data);
if(in_array($arrK, $newArr)){
$checked = "checked";
}
else {
$checked = "";
}
echo '<input type="checkbox" name="checkbox_'.$arrK.'" value="'.$arrK.'" '.$checked.' />'.$arrV.'<br />';
}
|
|
|
|
|
Date :
2015-08-27 15:57:29 |
By :
CasanovaKung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หรือ preg_match ตามคห3 ก็ได้
|
|
|
|
|
Date :
2015-08-27 16:16:17 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|