this is my PHP script that lists all of my tags (from a MySQL database) with two radio buttons (enable and disable) for each row. how I can save the changes (if I enable or disable something) into the MySQL database? Whether I enable or disable a book it should save the value 1 or 2.
這是我的PHP腳本,列出了我的所有標簽(來自MySQL數據庫),每行有兩個單選按鈕(啟用和禁用)。如何將更改(如果我啟用或禁用某些內容)保存到MySQL數據庫中?無論是啟用還是禁用某本書,它都應保存值1或2。
$result = mysqli_query($mysqli,"SELECT * FROM tags ORDER BY id ASC");
while($row = mysqli_fetch_array($result)) {
if($row['enabled'] == 1) {
echo 'Enable' .
'Disable ';
} else {
echo 'Enable' .
'Disable ';
}
echo $row['tagname'] . "
";
}
?>
Thanks. I hope you understand my question! :-)
謝謝。我希望你理解我的問題! :-)
2 个解决方案
#1
1
I'll explain my code quoted in /* */ as I go further:
我將進一步解釋在/ * * /中引用的代碼:
/* ESTABLISH YOUR CONNECTION */
$mysqli=mysqli_connect("Host","Username","Password","Database"); /* JUST REPLACE THE NECESSARY HOST, USERNAME, PASSWORD AND DATABASE */
if(mysqli_connect_errno()){
echo "Error".mysqli_connect_error();
}
if(isset($_POST['submit'])){ /* IF FORM HAS BEEN SUBMITTED */
/* STORE THE SUBMITTED POST DATA */
$counter=$_POST['hiddencounter'];
$radio=$_POST['radio'];
$id=$_POST['id'];
for($x=0;$x<=$counter;$x++){ /* FOR LOOP BASED ON THE HIDDEN COUNTER */
mysqli_query($mysqli,"UPDATE tags SET enabled='$radio[$x]' WHERE id='$id[$x]'"); /* UPDATE THE enabled COLUMN WITH THE CORRESPONDING SUBMITTED RADION BUTTON */
} /* END OF FOR LOOP */
} /* END OF ISSET */
$result = mysqli_query($mysqli,"SELECT * FROM tags ORDER BY id ASC");
echo "
"; /* SUBMIT ON PAGE ITSELF */$counter=0; /* WILL SET AS YOUR COUNTER FOR ARRAY PURPOSES */
while($row = mysqli_fetch_array($result)) {
if($row['enabled'] == 1) {
echo " Enable Disable "; /* STORE THE RADIO BUTTON'S VALUE IN AN ARRAY */
}
else {
echo " Enable Disable "; /* STORE THE RADIO BUTTON'S VALUE IN AN ARRAY */
}
echo ""; /* STORE THE ID IN AN ARRAY */
$counter=$counter+1;
echo $row['tagname'] . "
";
} /* END OF WHILE LOOP */
echo ""; /* STORE THE TOTAL COUNT IN THE LOOP */
echo "";
echo "
";?>
#2
0
You shouldn't save the radiobuttons, but the state. If the state can be enabled or disabled (or: Enabled, yes or no), then you can just store it in a field called 'enabled', which is of a boolean type , which is BOOL in MySQL.
你不應該保存radiobuttons,而是保存狀態。如果可以啟用或禁用狀態(或:啟用,是或否),則可以將其存儲在名為“enabled”的字段中,該字段為布爾類型,即MySQL中的BOOL。
If you want to leave the possibility open to store other states as well, you might store it in a field called 'state', which is of type INT or ENUM.
如果您希望保留其他狀態的可能性,則可以將其存儲在名為“state”的字段中,該字段的類型為INT或ENUM。
BOOL:https://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html(它是TINYINT的別名(1)