Php 选择mysql数据库中的多列框
我有以下Php 选择mysql数据库中的多列框,php,mysql,drop-down-menu,Php,Mysql,Drop Down Menu,我有以下php代码,它非常适合显示1列,但我需要它显示10列的值 <select size="1" name="domeinnaam"> <?php include '../config.php'; $sql = "SELECT * FROM megabase"; $resultaat = mysql_query($sql) or die (mysql_error()); while ($
php
代码,它非常适合显示1列,但我需要它显示10列的值
<select size="1" name="domeinnaam">
<?php
include '../config.php';
$sql = "SELECT * FROM megabase";
$resultaat = mysql_query($sql) or die (mysql_error());
while ($row = mysql_fetch_array($resultaat))
{
echo '<option>' . $row['domeinnaam1'] . '</option>';
}
?>
</select>
echo '<option>' . $row['domeinnaam1'] . $row['domeinnaam2'] . '</option>';
但这不起作用。因为结果将显示如下:
域1域1
域1域2
echo '<option>' . $row['domeinnaam1'] . $row['domeinnaam2'] . '</option>';
应该是这样
echo '<option>' . $row['domeinnaam1'] . $row['domeinnaam2'] . '</option>';
域1域1
域1
域2
echo '<option>' . $row['domeinnaam1'] . $row['domeinnaam2'] . '</option>';
什么有效 假设您希望每个域名都作为选项显示在select中,并且数据库中的域名字段是domeinnaam1、domeinnaam2、domeinnaam3等,您将执行以下操作
echo '<option>' . $row['domeinnaam1'] . $row['domeinnaam2'] . '</option>';
<?php
include '../config.php';
$sql = "SELECT * FROM megabase";
$resultaat = mysql_query($sql) or die (mysql_error());
$domains = array();
while ($row = mysql_fetch_array($resultaat))
{
if (!empty($row['domeinnaam1'])) $domains[] = $row['domeinnaam1'];
if (!empty($row['domeinnaam2'])) $domains[] = $row['domeinnaam2'];
}
?>
<select size="1" name="domeinnaam">
<?php
foreach ($domains as $domain)
{
echo "<option>$domain</option>";
}
?>
</select>
您应该使用PDO而不是mysql函数,否则ADODB库工作得很好。从PHP5.5开始,mysql_uu函数就被弃用了
echo '<option>' . $row['domeinnaam1'] . $row['domeinnaam2'] . '</option>';
请参阅以获取PDO参考您的代码不应该有这样的主要PHP配置或初始化。我看起来不聪明。整理一下
echo '<option>' . $row['domeinnaam1'] . $row['domeinnaam2'] . '</option>';
<select size="1" name="domeinnaam">
<?php
include '../config.php';
$sql = "SELECT * FROM megabase";
$resultaat = mysql_query($sql) or die (mysql_error());
while ($row = mysql_fetch_array($resultaat))
{
echo '<option>' . $row['domeinnaam1'] . '</option>';
}
?>
</select>
<?php
include '../config.php';
$sql = "SELECT * FROM megabase";
$resultaat = mysqli_query($conn, $sql) or die ($conn->mysqli_error());
?>
<select size="1" name="domeinnaam">
<?php
while ($row = mysqli_fetch_array($conn, $resultaat))
{
echo '<option>' . $row['domeinnaam1'] . '</option>';
}
?>
</select>
接下来,不要尝试破坏选项,可以使用JQuery等javascript框架实现更时尚的选择。我真的不认为你能做到这一点:
echo '<option>' . $row['domeinnaam1'] . $row['domeinnaam2'] . '</option>';
while ($row = mysqli_fetch_array($conn, $resultaat))
{
echo '<option>' . $row['domeinnaam1'] . '<br />' .$row['domeinnaam2']. '</option>';
}
while($row=mysqli\u fetch\u数组($conn,$resultaat))
{
回显“.$row['domeinnaam1']”。
“.$row['domeinnaam2']”;
}
使用JQuery,您可以在div中创建一个列表项:
echo '<option>' . $row['domeinnaam1'] . $row['domeinnaam2'] . '</option>';
<ul>
while ($row = mysqli_fetch_array($conn, $resultaat))
{
echo '<li>' . $row['domeinnaam1'] . '<br />' .$row['domeinnaam2']. '</li>';
}
</ul>
while($row=mysqli\u fetch\u数组($conn,$resultaat))
{
回显“- ”.$row['dominnaam1']”。
“.$row['dominnaam2']”。 ;
}
然后使用onclick事件将所选项目传递到一个隐藏字段,供以后使用
echo '<option>' . $row['domeinnaam1'] . $row['domeinnaam2'] . '</option>';
如果您想在一个循环中显示10列作为单独的选项,可以这样做
echo '<option>' . $row['domeinnaam1'] . $row['domeinnaam2'] . '</option>';
while ($row = mysqli_fetch_array($conn, $resultaat))
{
echo '<option>' . $row['domeinnaam1'] .'</option>';
echo '<option>' . $row['domeinnaam2'] .'</option>';
echo '<option>' . $row['domeinnaam3'] .'</option>';
echo '<option>' . $row['domeinnaam4'] .'</option>';
echo '<option>' . $row['domeinnaam5'] .'</option>';
echo '<option>' . $row['domeinnaam6'] .'</option>';
echo '<option>' . $row['domeinnaam7'] .'</option>';
echo '<option>' . $row['domeinnaam8'] .'</option>';
echo '<option>' . $row['domeinnaam9'] .'</option>';
echo '<option>' . $row['domeinnaam10'] .'</option>';
}
while($row=mysqli\u fetch\u数组($conn,$resultaat))
{
回显'.$row['DominNaam1'].';
回显“.$row['Dominnaam2']”;
回显“.$row['DominNaam3']”;
回显“.$row['Dominnaam4']”;
回显'.$row['Dominnaam5'].';
回显'.$row['dominnaam6'].';
回显“.$row['DominNaam7']”;
回显'.$row['Dominnaam8'].';
回显“.$row['dominnaam9']”;
回显'.$row['DominnaaM10'].';
}
我想知道这在哪里有用,如何有用。编程中任何事情都可能发生。:) 首先,mysql不再安全。第二,我怀疑你有10列,它们的值不同,对吗?试着用索引号做一些事情。之前,使用$i=1;然后加上$i=$i+1;在循环中,将您的var命名为$row['dominnaam'+$i],这很难看,但会起作用。基本上,您希望在select元素中有一个表?Tim,我有一个包含以下列的数据库:id、customer、domain1、domain2、domain3、domain4等到10。因此,我想在下拉框中显示所有域名,直到Helge Helwig,不,我想显示所有域名的值,就像显示所有下拉框一样,我不想要表视图。你想在选择框中的单独选项中显示每个值吗?类似结果1结果2等。。。如果名称为domeinnaam1、domeinnaam2、domeinnaam3等的10个字段是这样的话?感谢zgr024,它显示了第一个和第二个域名,但它应该显示10。在domeinnaam1列中有9条记录,在domeinnaam2列中有1条记录。然后,您只需拉取所有记录,将域名放入数组,并在select中回显该数组。我已经用更新的代码更新了CodeOK,我得到了所有的结果,但是它也显示了很多空白,因为拥有1个域的客户比拥有2个域的客户多。是否有一种方法可以忽略空记录。zrg024谢谢你让我这么做,我已经更新了代码,忽略了
'
的值,这意味着空字符串美丽的代码和平它像一个符咒一样工作,你介意帮我解决一个错误吗?我在表格的下一页打开一个新问题,我会在这里放一个链接谢谢你的回复Steward。我调查了你的答案。再次感谢另一种表达感谢的好方法是投票或接受答案。谢谢,:)我还没被允许。我还是这个网站上的雅皮士别担心,你上车吧。我8天前才开始回答问题。这地方真不错。别人会帮你做的。
echo '<option>' . $row['domeinnaam1'] . $row['domeinnaam2'] . '</option>';