从所选数据库中选择参数值

我有一个小问题。 我有一个页面 edit.php. 此页面列出了可以编辑的产品信息。

我开始查询


while/$rows=mysql_fetch_assoc/$query//{


echo"<form action='\"edit.php\"' method='\"POST\"'>";
echo "<input id']}'="" name="ID" type="hidden" value="{$rows["/>";
echo "Product:  <input name="product" productname']}'="" type="text" value="{$rows["/>";


正面 while loop 我将物品保留在变量中:


$hiddenid = $_POST['ID']; 
$productName = $_POST['product'];


它有效。 当我加载表单时 php, 它显示了产品的名称。 /在文本领域/, 从...获取 DB. 但是,问题是我想以下拉列表的形式保存产品的名称,这些列表已经由用户选择,然后选择它。

所以,主要是我想做的 - 这是不是显示 DB 文本框中提取的参数,我希望在下拉列表中显示用户所选参数。

希望它有意义吗? 为什么我的选择根本没有显示,其次,它们也没有显示选项 SELECTED /提取出来 DB/.

有点帮助,好吗?
</form>
已邀请:

郭文康

赞同来自:

专注于这个区域,你必须弄错 PHP, 除非这是复制错误。 注意以下更改:


while/$rows=mysql_fetch_assoc/$query//{
?>
<form action='\"edit.php\"' method='\"POST\"'>
<input id'];?="" name="ID" type="hidden" value="&lt;?php echo $rows["/>'&gt;
<select name="pnames">
<?php foreach /$arrayproducts as $key => $value/ {
?&gt;
<option $key="$productName/{" ';="" 'selected="selected" <?php="" ?="" echo="" if="" value="&lt;?php echo $key; ?&gt;" }=""> &gt;
<?php echo $value; ?>
</option>
<?php } //end foreach ?>
</select>
<?php }//end while ?>


一开始,你有一个简单的代码 HTML 在部分 PHP.

另外,我相信你想要


if /$value == $productName/{


</form>

奔跑吧少年

赞同来自:

这可能对此可能不是一个好地方,但由于我每天看到大量的代码,这是可怕的,我决定我介入。

首先,检查输入数据。 您永远不应该信任用户的任何变量 $_GET, $_POST, 等等。源代码的咆哮只是寻找注射攻击 SQL.


php


这件事看起来好像她期望一些传播 ID, 然后拉出 productName 来自数据库......它真的不清楚。 因此,我们假设已经定义了变量。 您需要使用此代码:


if/!empty/$_GET['id']/&&is_numeric/$_GET['id']//{
$id=$_GET['id'];
} else {
$id='';
}

//Declare your array
$arrayproducts = array//;


while/$rows=mysql_fetch_array/$query//{


你需要在这里调用返回的数组......没有看到 SQL, 很难说出你的期望,但你的标注应该看起来像这样......


//Whatever the name from SQL is for the column
$temp_ID = $rows['id'];

//Whatever the name for the product column is
$temp_Prod = $rows['prod'];

//Load the array
$arrayproducts[$temp_ID]=$temp_Prod;
}


最好下载 var 对于一切,然后将它放在一帧中,而不是放入 PHP 从它。 代码将更快,您可以跟随他。


$page = "<form method=\"POST\" action=\"edit.php\"";


检查这是否有效 ID. Regex 这是最好的,但这里一个接一个。


if/!empty/$id//{
$page .= "<input name='\"ID\"' type='\"hidden\"' value='\"$id\"'/>";
}
$page .= "<select name='\"pnames\"'>\n";

foreach /$arrayproducts as $key =&gt; $value/ {

$page .= "<option $id="$key/{" $page="" $page;="" .="&lt;/select&gt;\n" ;="" ?="" [code]if="" close="" foreach="" id="" ids="" mysql,="" print="" the="" value='\"$key\"";
' }="" 为了="" 它将采取现有条目。="" 所以没有机会重复="" 最好使用自动组织字段和内置="">[/code]

</option></select>

要回复问题请先登录注册