1

フォームの送信後、フォーム要素の値を保持しています。次を使用して、選択ボックスで正常に動作するようになりました。

<select name="BranchManager" class="formfield" id="BranchManager"onchange="document.forms[0].submit();SEinit();"><option value="">-- Select Manager --</option>
         <?php
            $area = $_POST['Area'];
            if ($area); {

               $BMquery = "SELECT DISTINCT Branch_Manager FROM Sales_Execs WHERE AREA = '$area' ".
               "ORDER BY Branch_Manager";

               $BMresult = mysql_query($BMquery);

               while($row = mysql_fetch_array($BMresult))
               {
                  echo "<option value=\"".$row['Branch_Manager']."\">".$row['Branch_Manager']."</option>\n  ";
               }
            }

        $branchmanager = $POST['BranchManager'];
        ?>

       <script type="text/javascript">
document.getElementById('BranchManager').value = <?php echo json_encode(trim($_POST['BranchManager']));?>;
</script>

これは問題なく機能します(最もクリーンで効率的なコードでない場合はお詫びします。最善を尽くしています!)次のフィールドは、上記のブランチマネージャーの名前に基づいて入力する必要のあるテキストフィールドです。だから私は使用しました:

<input name="BranchNum" type="text" class="formfield" id="BranchNum" size="3" maxlength="3" />
                      <?php

                $bm = $_POST['BranchManager'];

                if ($bm); {

                $BNumquery = "SELECT DISTINCT BRANCH_NUM FROM Sales_Execs WHERE Branch_Manager = '$bm' ";

                $BNumresult = mysql_query($BNumquery);

                }

            $branchnum = $POST['BranchNum'];
            ?>

   <script type="text/javascript">
document.getElementById('BranchNum').value = <?php echo json_encode($BNumresult);?>;
</script>

どちらが機能していません...ここでどこが間違っているのですか?

4

4 に答える 4

0

$result からデータを取得するには、mydql_fetch 関数が必要です。

if($row = mysql_fetch_array($BNumresult))
    $branchNum = $row[BRANCH_NUM];

入力タグのサイズが 3 のときに json_encode を使用するのはなぜですか?

于 2012-08-02T21:51:37.420 に答える
0

if条件チェックの後にセミコロンがあるのはなぜですか?

if ($bm);

if ($area);

これは常にステートメントを終了し、中括弧内にあるものはすべて $bm または $area の値に関係なく常に実行されます

于 2012-08-02T16:59:38.903 に答える
-1

入力フィールド内にvalue="<?echo $ variableName;?>"を入力する必要があります

于 2012-08-02T16:46:34.483 に答える
-1

その理由は、a) あなたはechoing を行っておらず、b) echoselect とは別の場所にいる必要があるからです。value入力の部分でエコーする必要があります。

<?php
    $bm = mysql_real_escape_string($_POST['BranchManager']);
    if ($bm) {
        $BNumquery = "SELECT DISTINCT BRANCH_NUM FROM Sales_Execs WHERE Branch_Manager = '$bm' ";
        $BNumresult = mysql_query($BNumquery);
    }
    $branchnum = $POST['BranchNum'];
?>
<input name="BranchNum" 
    type="text" 
    class="formfield" 
    id="BranchNum" 
    size="3" 
    maxlength="3" 
    value="<?php echo htmlspecialchars($branchnum); ?>" />

コメントによると、それらは正しいです。を使用しないでくださいmysql_*。代わりに、PDOを見てください。これはあなたの質問の範囲外ですが。

于 2012-08-02T16:47:55.103 に答える