2013-02-27 31 views
0

我有一個表格,使用下面的下拉菜單中的變量。當用戶在下拉菜單中選擇該選項時,表格根據與選擇相關的變量來拉取信息。如何在頁面首次加載錯誤時指出查詢缺少下拉列表中的變量。如果我從下拉菜單中進行選擇,則刷新頁面並解決問題。我需要下拉菜單來初始提交數據或查詢所需的任何內容,以便在初始頁面加載時獲取其變量。初始頁面加載運行提交按鈕

$selected = 'selected = "selected" '; 
$Country =$ID_SOCIEDAD; 
echo "<form name='country_list' method='POST' action='http://opben.com/colombia/familias-de-carteras' >"; 

echo "<select name='Country' tabindex='1' >"; 

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

       echo " <option ".($row['Fund_Manager_Company_Code'] == $Country? $selected : '')."value='". $row['Fund_Manager_Company_Code'] ."'>". $row['Fund_Manager_Company_Name'] ."</option>"; 

        } 
     echo "  </select> 
    <input type='submit' value='Filter' />"; 
echo " </form> 

這裏是在下拉菜單中選擇SQL查詢:

$result = mysql_query(" 

SELECT 
ID_SOCIEDADADM as Fund_Manager_Company_Code, 
DES_SOCIEDAD_CORTO as Fund_Manager_Company_Name 


FROM dr_lista_rentabilidad_diaria 

GROUP BY ID_SOCIEDADADM 
") 

    or die(mysql_error()); 

下面是表的查詢:

$result = mysql_query(" 
     SELECT 
    ID_CARTERA as Fund_ID, 
     DES_CARTERA_CC as Fund_Name, 
     DES_CARTERACLASE as Class_Name, 
     DES_CARTERACLASE_ESP as Special_Class_Name, 
     FORMAT(POR_RENTCARTERA_C1,2) AS Yield_1month 

     FROM dr_lista_rentabilidad_diaria 
     WHERE COD_PAIS  = $COD_PAIS 
     AND ID_SOCIEDADADM = $ID_SOCIEDAD 
     AND `ID_COLUMNA_C1`= $ID_COLUMNA 
     ORDER BY DES_CARTERA_CC ASC 

    ") 

     or die(mysql_error()); 
+0

「...如果我從下拉菜單中進行選擇,刷新頁面並解決問題...」是通過javascript/ajax刷新還是加載另一個(不同)頁面? – Stevo 2013-02-27 13:54:42

+0

請向我們展示您的SQL查詢。 – BenM 2013-02-27 13:58:28

+0

我添加了sql – 2013-02-27 14:08:50

回答

-1

你不發表您的查詢,所以很難給出適當的答案。但是,我的猜測是,您在該查詢中有變量$ _POST ['Country']。那麼,爲什麼你不這樣做:

$country = $_POST['Country']; 
if (!isset($country)) { $country = 'US'; } 

$query = 'SELECT * FROM table WHERE country = ' . $country; 

編輯:由於BenM(正確地)指出的那樣,這個代碼片斷是絕對不會保存。你不應該在生產代碼中包含這個。這只是爲了給你一個關於如何通過始終爲國家提供有效值來避免SQL錯誤的想法。

+0

因爲這是一個巨大的SQL注入漏洞?! – BenM 2013-02-27 14:07:13

+0

當然是。但是我正在嘗試用給出的(不存在的)信息解決OPs問題,並基於他以前的問題。如果我要解決他的問題,並確保它沒有漏洞,我將不得不寫一本書。 :) – Steve 2013-02-27 14:10:15

+0

我想說的是:OP對PHP/SQL /表單提交的知識如此有限,以至於我試圖幫助他解決最直接的問題,並且不(擔心)修復所有問題。 – Steve 2013-02-27 14:13:49

相關問題