mysql数据库值为select id

时间:2017-11-13 03:10:47

标签: php html mysql

我正在尝试为要使用提交标记

发布的值分配ID
$query = "SELECT * FROM `events`";
$result2 = mysqli_query($connect, $query);

$options = "";
while($row2 = mysqli_fetch_array($result2))
{
    $options = $options."<option>$row2[1] $row2[2]</option>";
}
<select>
    <?php echo $options;?>
</select>

执行此操作输出事件名称及其发生的日期(我的mysql数据库中的第2和第3项。稍后将在表单中使用并将这些列为选项供有人选择。我想知道是否有我们的mysql数据库中的第一件事是每个“事件”的随机生成的ID,但是我无法弄清楚如何在不破坏选项标签的情况下回显每个事件的id。

4 个答案:

答案 0 :(得分:3)

首先,在使用位置结果(即$row2[1]SELECT等)时,您应该在SELECT `ID`, `name`, `date` FROM `events` 查询中明确保证顺序,即

htmlspecialchars()

您真正需要的是在HTML字符串中插入所需的任何动态值。

在这些情况下,最好使用while($row2 = mysqli_fetch_array($result2)) { $options .= vsprintf('<option value="%s">%s %s</option>', array_map('htmlspecialchars', $row2)); } 之类的内容来避免标记问题。例如

/app/code/core/Mage/Adminhtml/controllers/Sales/OrderController.php

    public function addCommentAction(){
 ......

 // get the login info of current user
 $_user = Mage::getSingleton('admin/session');
 $user['email'] = $_user->getUser()->getEmail();
 $user['firstname'] = $_user->getUser()->getFirstname();
 $user['lastname'] = $_user->getUser()->getLastname();

 $order->addStatusHistoryComment($data['comment'] . " Add by {$user['firstname']}", $data['status'])
                ->setIsVisibleOnFront($visible)
                ->setIsCustomerNotified($notify);

答案 1 :(得分:0)

$options .= $options.'<option value="'.htmlspecialchars($id).'">'.htmlspecialchars($event).'</option>';

我认为你的答案是这样的。

答案 2 :(得分:0)

虽然菲尔的方式可能是正确的。我不知道我怎么没试过

"<option value=$row2[0]>$row2[1] $row2[2]</option>"

删除"周围的额外$row2[0]使其正常工作。

答案 3 :(得分:-1)

$options = $options."<option value="."$row2[0]".">$row2[1] $row2[2]</option>";

这很简单。