【问题标题】:Populate dropdown with Microsoft Access values - HTML & PHP使用 Microsoft Access 值填充下拉列表 - HTML 和 PHP
【发布时间】:2017-03-01 14:14:44
【问题描述】:

我正在尽最大努力使用 php 和 html 从我的访问数据库中填充下拉列表。

我的 DATA.mdb 中有一个名为 CONTACTS 的表,它包含 4 列和一些行,如下所示:

Id    人员    电话    电子邮件
10    个人 1     112         mail1
10    Pers2     113         mail2
10    Pers3     114         mail3
20    Pers4     211         mail4
20    个人5     311         邮件5

当我在 input="text" 中输入 10 时,我得到一个如下所示的回声: Pers1Pers2Pers3

当我输入 20 时,我得到 Pers4Pers5

这就是我用 PHP 做的事情:

<?php 

if (isset($_POST['n01_text'])) 
{
ob_start();
$stxt = rtrim($_POST['n01_text']);

$keys = preg_split("/[\s,]+/", $stxt);

//- Open DATA
$db = odbc_connect('DATA','','') or die(odbc_errormsg());

//- Read CONTACTS
$sql = "SELECT ID, Person, Phone, Email FROM CONTACTS WHERE ID= '" . $ID. "'";
$rs = odbc_exec($db,$sql) or die(odbc_errormsg());

    while (odbc_fetch_row($rs)) { 
    $Person= odbc_result($rs,"Person");     
    $Phone= odbc_result($rs,"Phone");   
    $Email = odbc_result($rs,"Email "); 

echo $Person;
}

odbc_close($db);
ob_end_flush();
}
?>

这里是 HTML:

<input type="text"name="n01_text" placeholder="ID" class="findtext" id="contact"> <span id="myspan" class="input-group-addon">Search</span>

<select>
<option value=0><?php echo $Person; ?></option>                         
<!-- Populate from Access-->
</select>

从这段代码中,我只获得了从数据库到我的下拉列表的最后一个条目,即 ID 10 的 Pers3 和 ID 20 的 Pers5

我真的不知道如何解决这个问题。

我正在努力学习,我相信我的代码可以通过很多方式改进,我感谢各种更正,但请耐心等待!

【问题讨论】:

  • 您的数据库代码只回显该人的姓名。它不会回显将这些名称转换为&lt;option&gt; 所需的任何html 以用于&lt;select&gt;。你需要展示这两个代码块是如何实际连接在一起的。
  • 为什么需要输出缓冲区?

标签: php html odbc dropdown populate


【解决方案1】:

这样做:

$Person .= "<option value=$i>".odbc_result($rs,"Person")."</option>";
$i++;

然后将 HTML 更新为:

<input type="text"name="n01_text" placeholder="ID" class="findtext" id="contact"> <span id="myspan" class="input-group-addon">Search</span>

<select>
<?php echo $Person; ?>
<!-- Populate from Access-->
</select>

【讨论】:

  • 我试过了,它在下拉列表中给出了相同的结果。但是 $Person 的回显输出从 Pers1Pers2Pers3 变为 Pers1
  • 对不起! .... 到 Pers1 Pers2 和 Pers 3 在不同的行上。输出也是重复的。
  • 我的错,我遇到了另一个错误...您的解决方案完美运行!非常感谢朋友!
  • 我很高兴,我可以帮忙:)
  • 很抱歉打扰您,但是如果我想在访问中插入一行和一个值,差别很大吗?
猜你喜欢
  • 2018-03-12
  • 1970-01-01
  • 1970-01-01
  • 2013-05-02
  • 1970-01-01
  • 2015-03-14
  • 1970-01-01
  • 2017-03-06
  • 2012-01-03
相关资源
最近更新 更多