Php 保存后的下拉选择

Php 保存后的下拉选择,php,html,mysql,Php,Html,Mysql,我确实有两个下拉列表,称为“源”和“活动”,这两个下拉列表显示来自数据库的数据。我也有其他输入字段。我关心的是,在填写给定输入并选择下拉列表数据后,我想保存此数据。必须保存此数据,但保存数据后,必须保存下拉列表显示我在单击“保存”按钮时选择的选项,但它显示的是默认选项。 我的代码如下: 这是来源: $result= mysql_query("SELECT * FROM infosources where kunnr = '".$_SESSION["kunnr"]."' order by sor

我确实有两个下拉列表,称为“源”和“活动”,这两个下拉列表显示来自数据库的数据。我也有其他输入字段。我关心的是,在填写给定输入并选择下拉列表数据后,我想保存此数据。必须保存此数据,但保存数据后,必须保存下拉列表显示我在单击“保存”按钮时选择的选项,但它显示的是默认选项。 我的代码如下: 这是来源:

 $result= mysql_query("SELECT * FROM infosources where kunnr = '".$_SESSION["kunnr"]."' order by sort_order asc");
    $model["source"]=array();
    while($row = mysql_fetch_array($result)){
        array_push($model["source"],$row);

}
这是为竞选活动准备的:

$result= mysql_query("SELECT * FROM s_campaigns WHERE kunnr ='".$_SESSION["kunnr"]."' and active = 'true' order by name asc");
$model["campaign"]=array();
while($row = mysql_fetch_array($result)){
    array_push($model["campaign"],$row);

}
我的下拉列表如下:

<select name="srcid"> <?php foreach($model["source"] as &$obj){?>
                       <option  value=<?php echo $obj["srcid"];?>>    <?php echo $obj["srcname"];?> </option> 
                           <?php }?></select>

另一个下拉列表是

<select name="camp_id"> <?php foreach($model["campaign"] as &$obj){?>
                       <option <?php if($model["selected"]==$obj[""]){?>selected <?php }?>  value=<?php echo $obj["id"];?>>    <?php echo $obj["name"];?> </option> 
                           <?php }?></select>

值=>

这是一个非常简单的示例,如果您将表单发送到同一个文件中,它就可以正常工作。。。如果您将表单发送到任何其他文件,或者如果您将$selectedCampId变量从其他文件传递回此html表单

<?php

// fetch the database to get all possible campaings always... before form was saved and also afterwards
$result= mysql_query("SELECT * FROM s_campaigns WHERE kunnr ='".$_SESSION["kunnr"]."' 
    and active = 'true' order by name asc");

$model["campaign"]=array();
while($row = mysql_fetch_array($result)){
   array_push($model["campaign"],$row);
}

// initiate $selectedCampId .... if the form is sent ... this variable will be filled with the campaign_id so that we know which option was selected... otherwise it wil remain empty..
$selectedCampId= '';

// if the save button was pushed, the form method is POST and the camp_id is not empty
// save the value of the camp_id input field to the variable so that in the next step 
// we know which one was selected
if(!empty($_POST['camp_id'])){
    // validate the input and save the data to database
    // check which campaign id is selected and write it to variable
    $selectedCampId= $_POST['camp_id'];
}

?>
<?php // the form method is POST otherwise use $_GET to fetch the camp_id after the form was sent ?>
<form method="post">
<select name="camp_id"> 
    <?php foreach($model["campaign"] as &$obj): ?>
        <option 
           <?php // if form is sent and $selectedCampId is not empty ... echo selected = "selected" ---- otherwise echo empty string ?>
           <?php echo ($obj['id'] == $selectedCampId) ? 'selected = "selected"' : ""; ?>>
           <?php echo $obj["name"];?> 
        </option> 
    <?php endforeach;?>
</select>
</form>

因此,您必须在刷新页面时确定视图中的值

这两个表的表架构是什么?此源有自己的称为“srcid”,活动有自己的“camp_id”是,但您正在加载一个表,并查找所选的
列。我想那在桌子上。这就是为什么如果你能发布
描述s_活动
描述信息源
,那就太好了。不,不,在保存之前,我从“下拉列表”中选择的任何数据都必须在保存完成后选择。如果你发送的数据带有表单,你需要传回这些数据,例如$selectedCamp_id=$\u post['camp_id']; 在foreach中,您要求类似的if($model['campaign']=$selctedCamp_id)echo“selected='selected'”看,我确实有一个保存按钮,这两个下拉列表和一些输入文本。首先,我必须在输入文本中放入一些数据,然后选择来自数据库的任何一个下拉列表。然后单击保存按钮。所有数据都在保存,但问题是,单击保存按钮后,页面会刷新,然后每次在此过程中,下拉列表中都显示相同的数据。我希望在单击“保存”按钮之前,下拉列表中必须显示相同的数据或所选内容。请帮助我完成此操作。你给出的代码是nt wrknglook我有一个保存按钮,这两个下拉列表和一些输入文本。首先,我必须在输入文本中输入一些数据,然后选择来自数据库的下拉列表中的任何一个。然后单击保存按钮。所有数据都被保存,但问题是,单击保存按钮后,页面被关闭刷新后,此过程中的每次下拉列表中都会显示相同的数据。我希望在单击“保存”按钮之前,下拉列表中必须显示相同的数据或所选内容。请帮助我完成此操作。你给出的代码是nt wrkng