2016-01-13 23 views
0

我想要做的是如下: 我有3個表與數據從一個SQL數據庫(只是一個簡單的SQL查詢)。如何獲得不同的表在同一頁

SQL:

"SELECT * FROM Customers WHERE employee = '" . $name. "' 

我也有一個形式,我可以選擇一個選項,然後進入SQL查詢

while ($row = mysql_fetch_array($sql)) { 

    echo "<option value = " . ($row['name']) . ">". $row['name'] ." </option>"; 
} 

echo ' </select>'; 
echo ' <input type="submit" id="submit" name="submit">'; 
echo '</form>'; 

隨着我使用一個簡單的GET得到form表單輸出並將其放入SQL查詢中。現在的問題是,我有3個表格,幾乎相同,但我想有3個表單,我可以給出輸入,然後在那裏給出我輸入的表格顯示。這可能嗎 ?有沒有例子。

+0

'mysql_ *'正式[**棄用**](https://wiki.php.net/rfc/mysql_deprecation)。您需要更改爲準備好的狀態。請參閱[這篇文章的更多信息](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)。 – Ben

+0

這是可能的。試試吧 – user3386779

+0

這段代碼現在用mysql工作,但我想添加一些代碼,以便表格只顯示當我給我的表單輸入。所以問題不在於連接 –

回答

0

正如評論中提到mysql_ *已折舊,您需要使用mysqli或PDO。使用的mysqli 你的代碼應該是這樣的

$con = mysqli_connect("localhost","my_user","my_password","my_db"); 
//use your host name, mysql user name, mysql password and your database name in place of "localhost","my_user","my_password","my_db" 
$sql ="SELECT * FROM Customers WHERE employee = '" . $name. "'"; 
$result = mysqli_query($con,$sql); 
while ($row = mysqli_fetch_assoc($result)) { 

echo "<option value = " . ($row['name']) . ">". $row['name'] ." </option>"; 
} 

有關問題的簡單的解決辦法就是讓你的所有三種形式,以同樣的操作頁面,並使用if語句來使用不同的查詢不同的輸入如:

if(isset($_GET['name'])){ 
$sql ="query1"; 
} elseif(isset($_GET['yourSecondOption'])){ 
$sql ="query1"; 
}elseif(isset($_GET['yourThirdOption'])){ 
$sql ="query3"; 
}  
+2

儘管'mysql_ *'的老化和過時是非常正確的, 'mysqli_ *'更好 - 這確實不能解決OP的問題 - 你也沒有提及任何關於*準備好的語句* - 因此他的代碼仍然容易受到SQL注入的攻擊! – Qirel

+0

我知道我使用的舊metod,但我認爲這不是我的代碼中的問題。 –

+0

對不起,我誤解了這個問題。 –