PHP выпадающий вернуться к предыдущему выбору - PullRequest
0 голосов
/ 19 января 2010

Хорошо, это очень маленький раздел моего исходного кода.У меня есть две страницы на странице, заполненной формами и полями, а затем другая страница, которая помещает информацию в мою БД.

Страница Oasis.php Вот этот код, который изменяет имя и код клиента.На всей этой странице.О событии изменения.

$sql = "SELECT * FROM client_lookup ORDER BY Client_Full_Name ASC"; 
$result = mysql_db_query ($dbName, $sql, $dbLink); 

$options4=""; 

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

    $id=$row["Client_Code"]; 
    $thing=$row["Client_Full_Name"]; 
    $options4.="<OPTION VALUE=\"$id, $thing\">".$thing; 
} 
?>
<FORM name="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<SELECT NAME="ClientNamefour" OnChange="this.form.submit()">
    <OPTION VALUE=0>Client
    <?php echo $options4?> 

  </SELECT>
</FORM>

Как только форма ниже этой на странице Oasis.php отправлена, она переходит на страницу процесса и помещает информацию в мою базу данных.Как только это сделано, у меня есть заголовок, который возвращает меня на эту страницу.Но по умолчанию Клиент всегда возвращается.

В попытке вернуть ранее выбранного клиента из этого раскрывающегося списка я использовал этот код.Для автоматического выбора последнего выбранного клиента.

$sql = "SELECT * FROM client_lookup ORDER BY Client_Full_Name ASC"; 
$result = mysql_db_query ($dbName, $sql, $dbLink); 


session_start();

$current = isset($_SESSION['ClientNamefour']) ? $_SESSION['ClientNamefour'] : 0;

$options4=""; 

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


    $id = $row["Client_Code"]; 
    $value = $row["Client_Full_Name"];
        $key = "$id, $value";


    $selected = ($id == @$_SESSION['ClientNamefour']) ? ' selected' : '';
    $options4.="<option value=\"{$key}\"{$selected}>{$value}";
} 


?>

<FORM name="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">

<SELECT NAME="ClientNamefour" OnChange="this.form.submit()">

    <OPTION VALUE=0>Client
    <?php echo $options4?> 

  </SELECT>
</FORM>

Это работает, но событие onchange не работает!Так что это не публиковать себя.Ключевое событие on change, или вся моя страница не заполнена информацией.

1 Ответ

0 голосов
/ 20 января 2010

Вы читаете $_SESSION['ClientNamefour'], но никогда не пишете в него ... Я думаю, вы путаете $_SESSION с $_POST.Если вместо этого вы используете $_POST, $_POST['ClientNamefour'] будет значением <select>, поскольку <select> имеет атрибут имени 'ClientNamefour'.

В примечании, вы никогда не будете манипулировать переменной $current и - возможно, это синтаксис PHP, с которым я незнаком - когда вы манипулируете $_SESSION['ClientNamefour'], появляется рекламный символ @ непосредственно перед $ ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...