簡體   English   中英

用PHP變量填充文本字段

[英]Populate Text Field with PHP variable

提交表單后,我將保留表單元素中的值。 我已經使用下面的選擇框使它正常工作:

<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>

哪個不起作用...我在哪里錯了?

如果條件檢查后,為什么會有分號?

if ($bm);

if ($area);

這將始終終止該語句,並且無論$ bm或$ area中的值如何,花括號中的任何內容都將始終被執行

您需要mydql_fetch函數來從$ result中檢索數據。

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

當輸入標簽的大小為3時,為什么使用json_encode?

您需要在輸入字段中放入value =“ <?echo $ variableName;?>”

原因是因為a)您沒有echo ,並且b)您必須在與選擇區域不同的位置echo 您必須在輸入的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 盡管這不在您的問題范圍內。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM