ให้ checkbox ติ๊ก ตามข้อมูลที่มีอยู่ใน DB ทำไงคับ (PHP)
คือผมจะเขียนระบบ edit ข้อมูลอ่ะครับ คือตอนรับเข้าไปเนี่ย มันจะมีส่วนนึง ที่รับข้อมูลจาก checkbox เข้าไปเก็บ
แต่พอจะ edit ข้อมูลในส่วนที่เป็น cechbox มันจะไม่โชว์อะครับ ผมพยายามเขียนให้มันดึงข้อมูลขึ้นมาโชว์ แต่มันไม่ขึ้น ไม่รู้ผมเขียนผิดตรงไหนยังไงรบกวนช่วยดูหน่อยนะครับ...ขอบคุณครับ
<?
include ("../inc/functiondb.php");
mysql_connect($hostname, $username, $password) or die("ไม่สามารถติดต่อได้");
mysql_select_db("$dbName") or die("ไม่สามารถเปิดฐานข้อมูลได้");
mysql_query("SET CHARACTER SET tis620");
$sql_select="SELECT * FROM document where doc_id='3930'";
$result1=mysql_db_query("$dbName",$sql_select);
$row = mysql_fetch_array($result1);
$Lid= $row[doc_id];
$action= $row[action];
$sql_select="SELECT * FROM action order by list";
$result1=mysql_db_query("$dbName",$sql_select);
$number = mysql_num_rows($result1);
$i=0;
$x=0;
$j = $number;
$EXaction=explode(",","$action");
$no_action=count($EXaction);
while ( $x < $no_action){
while ($j > $i) {
$row = mysql_fetch_array($result1);
$id= $row[Id];
$action_code= $row[action_code];
$action_name= $row[action_name];
if($action_code==$EXaction[$x]){
?>
<tr>
<td width="5%" bgcolor="#DEDEDE"><input name="docAction[<?=$j?>]" type="checkbox" id="docAction[<?=$j?>]" value="<?=$action_code?>" checked /></td>
<td bgcolor="#DEDEDE"><?=$action_name?></td>
</tr>
<?
}else{
?>
<tr>
<td width="5%" bgcolor="#DEDEDE"><input name="docAction[<?=$j?>]" type="checkbox" id="docAction[<?=$j?>]" value="<?=$action_code?>" /></td>
<td bgcolor="#DEDEDE"><?=$action_name?></td>
</tr>
<?
}$j--;
}$x++;
}
?>
แต่พอจะ edit ข้อมูลในส่วนที่เป็น cechbox มันจะไม่โชว์อะครับ ผมพยายามเขียนให้มันดึงข้อมูลขึ้นมาโชว์ แต่มันไม่ขึ้น ไม่รู้ผมเขียนผิดตรงไหนยังไงรบกวนช่วยดูหน่อยนะครับ...ขอบคุณครับ
<?
include ("../inc/functiondb.php");
mysql_connect($hostname, $username, $password) or die("ไม่สามารถติดต่อได้");
mysql_select_db("$dbName") or die("ไม่สามารถเปิดฐานข้อมูลได้");
mysql_query("SET CHARACTER SET tis620");
$sql_select="SELECT * FROM document where doc_id='3930'";
$result1=mysql_db_query("$dbName",$sql_select);
$row = mysql_fetch_array($result1);
$Lid= $row[doc_id];
$action= $row[action];
$sql_select="SELECT * FROM action order by list";
$result1=mysql_db_query("$dbName",$sql_select);
$number = mysql_num_rows($result1);
$i=0;
$x=0;
$j = $number;
$EXaction=explode(",","$action");
$no_action=count($EXaction);
while ( $x < $no_action){
while ($j > $i) {
$row = mysql_fetch_array($result1);
$id= $row[Id];
$action_code= $row[action_code];
$action_name= $row[action_name];
if($action_code==$EXaction[$x]){
?>
<tr>
<td width="5%" bgcolor="#DEDEDE"><input name="docAction[<?=$j?>]" type="checkbox" id="docAction[<?=$j?>]" value="<?=$action_code?>" checked /></td>
<td bgcolor="#DEDEDE"><?=$action_name?></td>
</tr>
<?
}else{
?>
<tr>
<td width="5%" bgcolor="#DEDEDE"><input name="docAction[<?=$j?>]" type="checkbox" id="docAction[<?=$j?>]" value="<?=$action_code?>" /></td>
<td bgcolor="#DEDEDE"><?=$action_name?></td>
</tr>
<?
}$j--;
}$x++;
}
?>
<input type="checkbox" checked="checked" />
<input type="checkbox" />
ดังนั้นน่าจะเป็นประมาณนี้มากกว่าครับ
<input type="checkbox"<?php echo $action_code == true ? 'checked="checked"' : ''?> />
ถ้า $action_code เท่ากับ true ก็จะถูกเลือก
คือผมต้องดึงค่าของ action ในตารางนึง มาเทียบกับค่าของ action_code ในอีกตารางนึงถูกป่าวคับ
ทีนี้ค่าของแคชั่นเนี่ยมันถูกเกบในลักณะ "MD,AMD,90,30" แบบนี้คับ
ผมเลย explod แยกออกมาเป็นตัวๆ แล้วจึงเอาไปเชคว่ามันตรงมั้ย
แต่ผลคือมันวนลูปไม่ถูก ปัญหาของผมคือผมเขียนลุปผิดครับ T-T
ผลก็ลองหลายแบบแลฃ้ว ยังไม่ได้เลย T-T