我有一个表格,使用下面的下拉菜单中的变量。当用户在下拉列表中选择选项时,表格将根据与选择相关联的变量提取信息。无论何时页面首次加载错误,表示查询缺少下拉变量。如果我从下拉列表中进行选择,则会刷新页面并解决问题。我需要下拉列表来初始提交数据或查询所需的任何内容,以便在初始页面加载时获取其变量。
$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 :(得分:-1)
您没有发布您的查询,因此很难给出适当的答案。但是,我的猜测是你在该查询中的某个地方有变量$ _POST ['Country']。那么你为什么不这样做:
$country = $_POST['Country'];
if (!isset($country)) { $country = 'US'; }
$query = 'SELECT * FROM table WHERE country = ' . $country;
编辑:正如BenM(正确)指出的那样,这段代码片段绝对不能保存。您不应该在生产代码中包含它。这只是为了让您了解如何通过始终为国家/地区提供有效值来避免您遇到的SQL错误。