
[英]How to get value of <td> on click which is created by php while loop
[英]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.