2016-05-31 61 views
0

我想从同一页面上的输入填充从数据库中的值下拉的相同页面本身。使用PHP动态在同一页面上填充下拉列表使用PHP

我在论坛上试过几个选项,但没有帮助。

点击提交后会进入空白的下一页。

我试过onchange = AjaxFunction();正如一篇文章中的建议,但我仍然得到一个空白页。

任何帮助表示赞赏。

这是我form.php的

<form action="connection.php" class="form-solid-blue" method="get"> 
    <div class="title"> 
     <h2></h2> 
     <h2>Tracking & Receiving</h2></div> 
     <div class="element-input<?php frmd_add_class("input2"); ?>"> 
     <label class="title"></label> 
     <div class="item-cont"> 
      <input class="small" type="text" name="store" placeholder="Store #"/> 
       <span class="icon-place"></span> 
     </div> 
     </div> 
     <div class="element-input<?php frmd_add_class("input"); ?>"> 
     <label class="title"></label> 
      <div class="item-cont"> 
       <input class="medium" type="text" name="userid" placeholder="UserId"/> 
       <span class="icon-place"></span> 
      </div> 
     </div> 
     <div class="element-input<?php frmd_add_class("input1"); ?>"> 
     <label class="title"></label> 
      <div class="item-cont"> 
       <input class="large" type="text" name="order" placeholder="Order Number"/> 
       <span class="icon-place"></span> 
      </div> 
     </div> 
     <div class="submit"> 
      <input type="submit" value="Send"/> 
     </div> 
     <div class="element-separator"> 
      <hr> 
      <h3 class="section-break-title">Tracking Numbers</h3> 
     </div> 
     <div class="element-multiple<?php frmd_add_class("multiple"); ?>"> 
      <label class="title"></label> 
      <div class="item-cont"> 
       <div class="large"> 
        <select data-no-selected="Nothing selected" name="multiple[]" multiple="multiple"> 

        <option value="option_1">option 1</option> 
        <option value="option_2">option 2</option> 
        <option value="option_3">option 3</option> 
       </select> 
       <span class="icon-place"></span> 
      </div> 
     </div> 
    </div> 
    <div class="submit"> 
     <input type="submit" value="Submit"/> 
    </div> 
</form> 

这是connection.php - 服务器端代码

<?php 
     // Create connection to Oracle 
    $conn = oci_connect("XXXX", "xyxyx", "xyxyx"); 
    if (!$conn) { 
     $m = oci_error(); 
     echo $m['message'], "\n"; 
     exit; 
    } 

    $query = "SELECT TRACKING_NUMBER FROM JC_SHIPPED_ORDER_TRACKING WHERE EXT_PURCHASE_ORDERS_ID = :order_bv"; 
    $stid = oci_parse($conn, $query); 
    $order = $_GET['order']; 

    oci_bind_by_name($stid, ':order_bv', $order); 
    oci_execute($stid); 

    //Because order is a unique value I only expect one row 
    $row = oci_fetch_array($stid, OCI_ASSOC); 
    if (!$row) { 
    exit("The order " . $order . " is invalid. Please check and try again"); 
    } 
    $trackID = $row['TRACKING_NUMBER']; 
    echo "<form name=form1 method=POST action='form.php'>"; 
    //echo "<select name='TRACKING_NUMBER' onchange=AjaxFunction();>"; 
    while ($row = oci_fetch_array($stid)) { 
    echo "<option value=\"option_1\">" . $row['TRACKING_NUMBER'] . "</option>"; 


} 
    echo "</select>"; 
    //echo ("The order " . $order . " is valid."); 
    oci_free_statement($stid); 
    oci_close($conn); 
?> 
+0

为什么你试试,如果你想以相同的形式携手共创中端PHP文件另一种形式。 – PHJCJO

+0

@PHJCJO - 感谢您的回复。我试图保持数据库连接和查询separate.And我想填充下拉form.php输入和下拉的结果都在form.php – Max

+0

是的,我明白了,但我看到这行回声“

”;在你的connection.php中,为什么 – PHJCJO

回答

0

这是我可以提供的信息做到最好。

在form.php的

<select data-no-selected="Nothing selected" name="multiple[]" multiple="multiple"> 
    <?php require 'path to connection.php'; ?> 
</select> 

哦从connection.php删除这些

echo "<form name=form1 method=POST action='form.php'>"; 

echo "</select>"; 
+0

我把这个动作保持为空,以便它保持在同一页面上'并添加上面的代码。但是这次它根本没有加载form.php – Max