2011-02-16 84 views
1

我有一個數據庫表,其中包含類別(貓)和發佈價格(郵政價格)等字段。我需要將網頁上的輸入字段綁定到與同一頁面下拉框中所選類別對應的postprice值。我看到語法錯誤,但我不確定它是什麼。下面是下拉框代碼:PHP Select語句綁定到輸入框

<select name="postcat" class="req" style="width:220px" onchange="getCats(this.value);"> 
<?php 
if ($_POST['postsubcats'] == "none") { 
echo "<option value=\"none\" selected=\"selected\">Select a category</option>"; 
} else { 
echo "<option value=\"none\">Select a category</option>"; 
} 

?> 
<?php 

$querycat = "SELECT * FROM `index` LIMIT 0, 30 "; 
$resultcat = mysql_query($querycat); 

while($rowcat = mysql_fetch_array($resultcat)){ 
echo "<option value=\"" . $rowcat['cat'] . "\">" . $rowcat['title'] . "</option>\n"; 
} 

?> 
</select> 

下面是輸入框的片段:

<input type="text" id="adFee" name="adfee" contenteditable="false" 
value="<?php SELECT 'postprice' FROM 'index' WHERE 'cat' = $_POST(['postcat']); ?>"> 

感謝很多的幫助。

編輯 感謝搗爛,我修改我的代碼如下:

<label>Posting Fee:</label><br/> 
<?php 
$queryprice = "SELECT 'postprice' FROM 'index' WHERE 'cat' = " . $_POST('postcat'); 
$resultprice = mysql_query($queryprice); 
while($row= mysql_fetch_array($resultprice)){ 
echo '<input type="text" id="adFee" name="adfee" contenteditable="false" value="'; 
echo $row['postprice'] . '" />'; 
} ?> 

我現在收到致命錯誤:函數名必須是一個字符串。我缺少一個'‘;或地方??

致命錯誤解決新的錯誤:

mysql_fetch_array(): supplied argument is not a valid MySQL result resource 

修訂代碼:

<?php 

$queryprice = "SELECT postprice FROM 'index' WHERE cat = '" . mysql_real_escape_string($_POST['postcat'])."'"; 

$resultprice = mysql_query($queryprice); 

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

?><input type="text" id="adFee" name="adfee" contenteditable="false" value="<?php echo $row['postprice'];?>"> 
<?php } ?> 

這是否意味着我的代碼塊不是’看到」選項字段postcat?

+1

SQL只能在php標籤中執行,就像您在代碼段中的輸入框中一樣。 – Jacob 2011-02-16 05:43:56

+0

AHHHHH! SQL注入!始終清理放入數據庫查詢中的數據!請使用`(int)$ _ POST ['postcat']`或`「'」.mysql_real_escape_string($ _ POST ['postcat'])。「'」` – 2011-02-16 10:50:06

回答

2

試試這個..

<label>Posting Fee:</label><br/> 
<?php 
$queryprice = "SELECT postprice FROM `index` WHERE cat = '" . mysql_real_escape_string($_POST['postcat'])."'"; 
$resultprice = mysql_query($queryprice); 
while($row = mysql_fetch_array($resultprice)){ 
?> 
<input type="text" id="adFee" name="adfee" contenteditable="false" value="<?php echo $row['postprice'];?>" /> 
<?php } ?> 

記住:只有

  1. 使用PHP變量時,需要
  2. $ _ POST有[沒有(

或者如果u想要去與你的方式,然後使用下面

echo '<input type="text" id="adFee" name="adfee" contenteditable="false" value="'.$row[postprice].'" />';