繁体   English   中英

PHP MySQL如何获取在while循环中创建的变量

[英]PHP MySQL How to get variable created in while loop

我刚刚开始学习php,我还有很长的路要走,但是我确实需要帮助。

因此,我有一个页面,其中已登录的用户可以创建任务,并且该用户可以选择任务的用户。 我需要执行插入查询,在该查询中需要登录用户选择的人员的ID。

这是我HTML上方的代码:

$userId = $_SESSION['id'];

$Users = "SELECT * FROM users";
$Result2 = $db->query($Users);

if(isset($_POST['submit'])){
$project = $_POST['Project'];
$task = $_POST['task'];
$user = $_POST['User'];
$date = $_POST['date'];

    $query = "INSERT INTO events (projectId, userId, name, date)
              VALUES ('','', '$task', '$date')";

    $result = $database->query($query);
    echo "it worked";



}

这是我的HTML select标记中的代码,已登录的用户可以在其中选择人员。

<?php

while ($row2 = mysqli_fetch_assoc($Result2)) {
       $uid = $row2['id'];
       $name = $row2['name'];
       $lastName = $row2['lastname'];

       echo "<option>" . $name . " " . $lastName . " " . $uid . "</option>";
         }


 ?>

问题是我需要将$uid变量(当前位于HTML select元素的whileloop中)放在HTML上方的第一个if语句中。 我已经尝试了一切,但我似乎不知道如何。 它完美地显示了所有用户及其ID号,我只需要抓住他们并将其放在我的if语句中。

您的<option>标签肯定在<select>标签中。 您必须给您的选择一个名称,该名称将成为您可以在PHP服务器端代码中使用的POST参数名称。 同样,您必须为每个选项分配一个value属性。

您的HTML打印过程成为

<?php

echo '<select name="uid">';
while ($row2 = mysqli_fetch_assoc($Result2)) {
       $uid = $row2['id'];
       $name = $row2['name'];
       $lastName = $row2['lastname'];

       echo "<option value='".$uid."'>" . $name . " " . $lastName . " " . $uid . "</option>";
         }
echo '</select>';  

 ?>

然后您的PHP服务器端代码成为

$userId = $_SESSION['id'];

$Users = "SELECT * FROM users";
$Result2 = $db->query($Users);

if(isset($_POST['submit'])){
$project = $_POST['Project'];
$task = $_POST['task'];
$user = $_POST['User'];
$date = $_POST['date'];

$uid = $_POST["uid"];

$query = "INSERT INTO events (projectId, userId, name, date) VALUES ('','', '$task', '$date')";
$result = $database->query($query);
echo "it worked";
}

如果您正在学习PHP,建议您正确启动。 在不清理输入内容的情况下,切勿直接访问您的超全局参数$ _GET和$ _POST。 使用一些函数,例如filter_input()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM