2014-03-18 39 views
0

首先抱歉我的英語不好。PHP SELECT其中

我有一個PHP腳本,從SQL顯示的產品列表:從各行的最後

$cerereSQL = 'SELECT * FROM `produse`'; 
    $rezultat = mysql_query($cerereSQL); 
    while($rand = mysql_fetch_array($rezultat)){ 
echo ' 
<form action="editare.php" method="post"> 
<table width="100%" cellpadding="0" cellspace="0"> 
<tr style="text-align:center;" height="25"> 
<td style="border:1px solid black;" width="7%" height="10"><i> '.$rand['indice'].' </i></td> 
<td style="border:1px solid black;" width="40%"><i> '.$rand['denumire_produs'].' </i></td> 
<td style="border:1px solid black;" width="20%"><i> '.$rand['producator'].' </i></td> 
<td style="border:1px solid black;" width="10%"><i> '.$rand['pret'].' </i></td> 
<td style="border:1px solid black;" width="6%"><i> '.$rand['valuta'].' </i></td> 
<td style="border:1px solid black;" ><i> '.$rand['cod'].' </i></td> 
<td width="5%"><input type="submit" name="submit" value="Edit"></td> 
</tr> 
</table> 
</form>'; 

我想按鈕(值=「編輯」),從同一個正好選擇產品行,進行編輯。

我想接下來的代碼,但我以前不工作(我有5000行的列表):

switch($_GET['actiune']) 
{ 
case '': 

$cerereSQL = 'SELECT * FROM `produse` WHERE denumire_produs="'.$rand['denumire_produs'].'"'; 

我知道我必須使用:$cerereSQL = 'SELECT * FROM produse WHERE denumire_produs="......";但我不知道如何做到這一點,如何製作編輯按鈕,從同一行打開完全相同的產品。 有人可以幫我一個建議嗎?

+0

MySQL_ *功能得到這個被棄用,取而代之的mysqli_的*和PDO。 請參閱:http://us3.php.net/manual/en/function.mysql-connect.php –

回答

1

也許你的意思是要做到這一點:

$cerereSQL = 'SELECT * FROM `produse`'; 
    $rezultat = mysql_query($cerereSQL); 
    while($rand = mysql_fetch_array($rezultat)){ 
echo ' 
<form action="editare.php" method="post"> 
<table width="100%" cellpadding="0" cellspace="0"> 
<tr style="text-align:center;" height="25"> 
<td style="border:1px solid black;" width="7%" height="10"><i> '.$rand['indice'].' </i></td> 
<td style="border:1px solid black;" width="40%"><i> '.$rand['denumire_produs'].' </i></td> 
<td style="border:1px solid black;" width="20%"><i> '.$rand['producator'].' </i></td> 
<td style="border:1px solid black;" width="10%"><i> '.$rand['pret'].' </i></td> 
<td style="border:1px solid black;" width="6%"><i> '.$rand['valuta'].' </i></td> 
<td style="border:1px solid black;" ><i> '.$rand['cod'].' </i></td> 
<td width="5%"><input type="hidden" name="denumire_produs" value="'.$rand['denumire_produs'].'"><input type="submit" name="submit" value="Edit"></td> 
</tr> 
</table> 
</form>'; 

然後抽絲denumire_produs$_POST

$denumire_produs = intval($_POST['denumire_produs']); // is this an INTeger? Otherwise, use `mysql_real_escape_string` -- or use PDO prepared statements. 
$cerereSQL = 'SELECT * FROM `produse` WHERE denumire_produs="'.$denumire_produs.'"'; 

這是你想要做什麼?

+0

謝謝,這有助於我解決問題。 – ovyxdiu

1

四件事

首先你逼債需要大約表名的單引號

$cerereSQL = 'SELECT * FROM produse'; 

二不要用mysql它已經過時,除非你真的需要做的

第三,你需要做到這一點,而你是迴應任何事情那樣method=\"POST\"你的代碼將不會執行,由於該

四你需要隱藏的領域 像

<input type=\"hidden\" name=\"demuire\" value=\"'.$ran['whatever'].'\"/> 
<td width="5%"><input type="submit" name="submit" value="Edit"></td> 

,那麼你可以通過簡單的

$_POST['demuire']