【问题标题】:Based on a forms input value, how 2 generate selections 4 a drop down menu w row/record data from a database that will prefill a form when selected?基于表单输入值,如何 2 生成选择 4 从数据库中生成带有行/记录数据的下拉菜单,该数据将在选择时预填充表单?
【发布时间】:2015-02-22 08:20:59
【问题描述】:

我正在想办法用过去提交的表单信息预先填写表单。

我有一个表格和一个数据库。在我的表单中,我有一个名为 email 的输入,其中包含已登录成员电子邮件地址的预加载默认值,该值是只读的。

图片

http://oi57.tinypic.com/2iubb4j.jpg

How can I generate a selection under a drop down menu that when selected will pre-fill the form with row/record data from my database?

以及如何仅生成与表单输入值“电子邮件”匹配的记录与数据库中“电子邮件”列下具有相同值的记录?

我已经做了好几个星期了,但似乎找不到任何关于如何实现这一目标的方向感。真的找不到任何教程网站、视频、示例代码或任何关于如何使这成为可能的内容。任何帮助都会很棒...提前感谢您的帮助。


表格

</header>

<body>

<form action="/demoform/contact_form.php" class="well" id="contactForm" method="post" name="sendMsg" novalidate="">

<big>LOAD PAST ORDERS:</big>
<select id="extrafield1" name="extrafield1">
<option value="">Please select...</option> 
 <option value="xxx">SAMPLE SELECTION</option>
</select>

</br>

<input type="text" required id="mile" name="mile" placeholder="Miles"/>

</br>

<input id="email" name="email" placeholder="Email" required="" type="text" value="demo@gmail.com" readonly="readonly"/>

</br>

<input id="name" name="itemname" placeholder="ITEM NAME 1" required="" type="text" />

</br>

<input type="reset" value="Reset" />


<button type="submit" value="Submit">Submit</button>


</form>


</body>


</html>

PHP 文件

<?php

define('DB_NAME', 'xxx');
define('DB_USER', 'xxx');
define('DB_PASSWORD', 'xxx');
define('DB_HOST', 'xxx');

$connection = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD);

if(!$connection){
die('Database connection failed: ' . mysqli_connect_error());
}

$db_selected = mysqli_select_db($connection, DB_NAME);

if(!$db_selected){
die('Can\'t use ' .DB_NAME . ' : ' . mysqli_connect_error());
}

echo 'Connected successfully';

if (isset($_POST['itemname'])){
    $itm = $_POST['itemname'];
}
else {
  $itm = '';
}



if($_POST['mile']){
    $mi = $_POST['mile'];
}else{
    echo "Miles not received";
    exit;
}



if($_POST['email']){
    $email = $_POST['email'];
}else{
    echo "email not received";
    exit;
}




$sql = "INSERT INTO seguin_orders (itemname, mile, email) 
        VALUES ('$itm', '$mi', '$email')";

if (!mysqli_query($connection, $sql)){
die('Error: ' . mysqli_connect_error($connection));
}

更新:到目前为止最接近的东西...但不会工作...不确定它是否涵盖匹配的电子邮件值部分...无论如何感谢'edcoder'

<select id="extrafield1" name="extrafield1">
<option value="">Please select...</option> 
<?php
$query='select * from tablename';
$res=mysql_query($query);
while($row=mysql_fetch_array($res))
{
?>
 <option value="<?php echo $row['feildname']; ?>"><?php echo $row['feildname']; ?></option>
<?php
}
?>
</select>

【问题讨论】:

  • 您正在混合使用 mysql_ 和 mysqli_ 函数。这是不正确的。

标签: javascript php jquery mysql forms


【解决方案1】:

看来你快到了。

试试这个。

<select id="extrafield1" name="extrafield1">
    <option value="">Please select...</option> 
    <?php
    $email = $_POST['email'];
    $query="select * from tablename WHERE email={$_POST['email']}";
    $res=mysqli_query($connection,$query);
    while($row = mysqli_fetch_assoc($res))
    {
    ?>
     <option value="<?php echo $row['fieldname']; ?>"><?php echo $row['fieldname']; ?></option>
    <?php
    }
    ?>
</select>

【讨论】:

  • 没有生成任何选择...感谢您的帮助
  • @BestDayEver2015 你最终解决了这个问题还是仍然需要帮助?
  • 嘿,谢谢,非常感谢您的时间和精力……我知道您明白了。尝试使用您上面的代码...但它不起作用。我觉得从查看您的代码看来它应该可以工作,但我不知道为什么它不工作。所以我建立了另一个演示数据库和表格,并尝试插入你上面的代码,什么也没有。这是我正在使用的每一段代码的链接...codeviewer.org/view/code:49b7 这是数据库的图片和我试图实现的目标的模型...oi61.tinypic.com/264ks5u.jpg
猜你喜欢
  • 2015-02-22
  • 2015-02-15
  • 2015-03-04
  • 1970-01-01
  • 2015-04-05
  • 2015-03-05
  • 1970-01-01
  • 2015-03-04
  • 2020-02-29
相关资源
最近更新 更多