2015-01-15 33 views
1

我期望自動填充具有數據作爲單選按鈕的php/html表單,以允許用戶從他自己的記錄中進行選擇並將其選擇轉換爲另一個表單的可重用變量。將查詢轉換爲單選按鈕以供選擇使用PHP

我已得到數據庫工作正常的登錄名和密碼,可以用適當的user_id

然後我被卡住用正確的查詢和HTML結構創建一個會話$variable。我看過各種例子都無濟於事。

我的表如下

tableid Title   Author published colour user_id ref_id 
================================================================== 
1  how to ski  pete 2014  red 2 1 
2  how to cook  jones 2015  white 4  2 
3  how to drive smith 2012  yellow 2  3 
4  how to cook  jones 2015  white 4  2 
5  how to drive smith 2012  yellow 4  3 

我已經創造了基本查詢提取數據,但我努力讓這個顯示爲單選按鈕單個選擇。

$queryOrders2="SELECT * FROM books WHERE user_id=$user_id"; 
$resultOrders2=mysql_query($queryOrders2); 
$row = mysql_fetch_assoc($resultOrders2); 
print_r(mysql_fetch_assoc($resultOrders2)); 
$Title = $row["Title"]; 
$Author = $row["Author"]; 
$published = $row["published"]; 
$colour = $row["colour"];` 

然後我嘗試轉換爲單選按鈕來實現單記錄選擇

<form action="display-selections.php" method="POST"> 
<input class="radio_style" id="Title" name="Title" type="radio" value="Title"> 
<input class="radio_style" id="Author" name="Author" type="radio" value="Author"> 
<input class="radio_style" id="published" name="published" type="radio" value="published"> 
<input class="radio_style" id="user_id" name="user_id" type="radio" value="user_id"> 
<input name="submitted" type="submit" value="Submit"> 
</form> 

但代碼是無效的,因爲我很新的PHP和仍然在學習。我很難過,只是有太多的例子似乎有這樣那樣的缺陷。

我已經嘗試了這麼多不同的語法,我正在努力讓我的頭在如何允許用戶從可選擇的格式從MySQL中選擇數據。

任何幫助或推動正確的方向將是偉大的。

+0

您需要複選框,而不是無線電輸入。我正在爲你製作一個小例子。 – sodawillow 2015-01-15 17:54:55

+0

以及你應該做的第一件事是放棄他們** mysql _ *** api,因爲它已被棄用。在你做任何事之前。它是不安全的..你應該看看用** mysqli _ ***或** PDO ** – 2015-01-15 17:56:59

+0

參數化你的查詢。我不清楚你想做什麼。這張桌子很不錯,因爲我可以看到我從什麼開始。但我不知道最終會在哪裏。你能提供一個你想要在頁面上顯示的例子嗎? – bloodyKnuckles 2015-01-15 20:26:55

回答

0

首要的是:不要使用MYSQL_ *函數,它們已被棄用。改爲使用PDO或MySQLi。請參閱:Why shouldn't I use mysql_* functions in PHP?

現在,工作示例:

HTML表單,選擇要顯示的列:相應

<!DOCTYPE html> 
<html> 
<head> 
    <title>Form example</title> 
</head> 
<body> 
    <form action="process.php" method="post"> 
     Choose columns (no selection = all columns) : 
     <input type="checkbox" name="title" value="1"> Title 
     <input type="checkbox" name="author" value="1"> Author 
     <input type="checkbox" name="published" value="1"> Published 
     <input type="checkbox" name="user_id" value="1"> User ID 
     <input type="submit" value="submit"> 
    </form> 
</body> 
</html> 

PHP文件的開頭來處理的複選框,並建立請求:

<?php 

$fields = array(); 

foreach($_POST as $label => $value) { 
    array_push($fields, "`" . $label . "`"); 
} 

if(count($fields) > 0) { 
    $field_list = implode(",", $fields); 
} else { 
    $field_list = "*"; 
} 

echo $query = "SELECT " . $field_list . " FROM `table` WHERE condition"; 

//send query, retrieve and show data :) 

?>