2014-02-23 157 views
1

我想編輯值和/或增加值表使用PHP選項,這裏是一個屏幕截圖:獲取MySQL表數據與特定值


table name is


我開始用下面的,現在我試着看我怎麼能拉一個與form_field_id相關的數據,在這個例子中就是5

<?php 

require_once("config/database.php"); 

$con = mysql_connect($config["db_server"],$config["db_user"],$config["db_pass"]); 
mysql_select_db($config['db_name'], $con); 

// get value of id that sent from address bar 
$id=$_GET['form_field_id']; 

// Retrieve data from database 
$sql="SELECT * FROM options WHERE id='$form_field_id'";  


$result=mysql_query($sql); 
$rows=mysql_fetch_array($result); 

?> 


<form name="form1" method="post" action="updated_values.php"> 

<input name="name" class="form-control" type="text" id="name" value="<? echo $rows['value']; ?>"> 
<input name="name" class="form-control" type="text" id="name" value="<? echo $rows['value']; ?>"> 
<input name="name" class="form-control" type="text" id="name" value="<? echo $rows['value']; ?>"> 
<input name="name" class="form-control" type="text" id="name" value="<? echo $rows['value']; ?>"> 
<input name="name" class="form-control" type="text" id="name" value="<? echo $rows['value']; ?>"> 
<input name="name" class="form-control" type="text" id="name" value="<? echo $rows['value']; ?>"> 

<button type="submit" /> Update </button> 
</form> 

這裏是更新的代碼我你的建議後說:

<?php 
require_once("config/database.php"); 


$con = mysql_connect($config["db_server"],$config["db_user"],$config["db_pass"]); 
mysql_select_db($config['db_name'], $con); 


// get value of id that sent from address bar 
$id=$_GET['form_field_id']; 

// Retrieve data from database 
$sql="SELECT * FROM options WHERE id='$id'"; 


$result=mysql_query($sql); 
$rows=mysql_fetch_array($result); 

?> 



<form name="form1" method="post" action="updated_values.php"> 

<?php 
while($rows=mysql_fetch_array($result)) 
{ 
?> 
    <input name="name[]" class="form-control" type="text" id="name" value="<? echo $rows['value']; ?>"> 
<?php } ?> 

<button type="submit" /> Update </button> 
</form> 
+0

[爲什麼我不應該在PHP中使用mysql_ *函數?](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php) – Phil

回答

1

您的查詢時出現錯誤,要傳遞一個變量thta你沒有指派所以更改第一個查詢如下

$sql="SELECT * FROM options WHERE id='$id'"; 
            //^here you used a wrong variable 

您還需要循環扔你記錄所有打印出來,所以更改如下

<form name="form1" method="post" action="updated_values.php"> 

<?php 
while($rows=mysql_fetch_array($result)) 
{ 
?> 
    <input name="name[]" class="form-control" type="text" id="name[]" value="<? echo $rows['value']; ?>"> 
<?php } ?> 

<button type="submit" /> Update </button> 
</form> 

不e我也更改了輸入的名稱,並且我添加了[],因此您將有一組name輸入。 作爲便箋,我會說你的代碼非常容易受到mysql注入的影響,你應該切換到mysqliPDO並使用準備好的語句來避免任何問題。

+0

謝謝,仍然有點困惑,如何使用values.php?form_field_id = 5將數據加載到輸入文件中? – user2958236

+0

您已經正確使用了'$ id = $ _ GET ['form_field_id'];'然後使用查詢我放在我的答案 – Fabio

+0

請查看上面更新的代碼,並根據您的建議進行更改,但是當我轉到url values.php時? form_field_id = 5什麼也沒有顯示,在更新按鈕旁邊 – user2958236

0

你的代碼看起來不錯。你只需要更改此設置:

$sql="SELECT * FROM options WHERE id='$form_field_id'"; 

這樣:

$sql="SELECT * FROM options WHERE form_field_id='$id'"; 

所有你有錯的是變量和列名,以顯示你有結果正確遍歷所有的行你得到。