2017-04-22 39 views
-2

這是我寫的代碼:如何在數據庫中提交單選按鈕答案?

的index.html

<!DOCTYPE html> 
<html> 
<head> 
</head> 
<body> 

<form action="db.php" method="post"> 

YES:<input type="radio" name="YES" value="YES"> 

NO:<input type="radio" name="NO" value="NO" > 

<input type="submit" name="submit value="submit"> 
</form> 

</body> 
<html> 

db.php中

<?php 

    $con = mysqli_connect('localhost','my user id','my password'); 
    if(!con) 
    { echo 'not connected to server';}else { echo 'something else is wrong' ;} 

    if(!mysqli_select_db($con,'my user id') 
    { echo 'Database error selection';} 

    $YES = $_POST['YES']; 
    $NO = $_POST['NO']; 

    $sql = INSERT INTO users (YES,NO) VALUES ('$YES','$NO'); 

    if(!mysqli_query($con,$sql)) 
    { echo 'Answer not submitted please try again!!!!!!!!';} 
    else{ 
    echo 'Your answer successfully submitted \n Thanks for participating';} 

    header(" refresh:2; url=index.html"); 

?> 

也有一些是錯誤的了。 任何人都可以請告訴什麼是錯的?

注意:如果用戶提交YES,那麼在數據庫中是會得到int值作爲2 如果1用戶提交的NO,然後在數據庫中沒有爲1

+0

它究竟有什麼問題?除了不要關閉這個屬性'name =「submit」' – Lixus

+0

首先,你必須給這兩個單選按鈕輸入相同的名字,以供參考http://stackoverflow.com/questions/15868935/adding-radio -button-values-to-mysql-table-using-php –

+0

你的單選按鈕可能是複選框,因爲選擇一個不會取消選擇其他選項。無論如何您都不會將數字值與它們相關聯。 –

回答

0

您正在使用單選按鈕錯誤的方式會得到int值。單選按鈕應該具有相同的「名稱」。在你的情況下,你可以使用name =「yesno」。

\t YES:<input type="radio" name="yesorno" value="yes"> 
 
\t NO:<input type="radio" name="yesorno" value="no">

爲PHP它應該是這樣的。

<?php 
 

 
if (isset($_POST['submit'])) { 
 
\t $yesorno=$_POST['yesno']; 
 
\t $sql = INSERT INTO users (columnName) VALUES ('$yesorno'); 
 
\t mysqli_query($con,$sql); // Execute query 
 
} 
 
?>

並請表達你的目標儘可能明確。現在我指出你的編碼語義有什麼問題。

+0

我希望在數據庫中提交答案,這樣我就可以瞭解有多少人將amswer提交爲「YES」,並且有多少人將答案提交爲「NO」。忘記我寫的代碼,可以從頭開始給我新的 –

+0

然後保存他們的答案,因爲我寫了。然後在一個新的查詢SELECT * FROM table_name WHERE columnName ='YES';你必須編寫不同的腳本。 – YATO

+0

你可以用代碼格式給出更清楚的解釋嗎?我無法理解你想說什麼 –

相關問題