我正在尝试制作一个 checkin / checkout 系统。
到目前为止,我有一个获取事件事件列表的下拉菜单。
<select name="events">
<?php
$conn = new mysqli('localhost:3306', 'user', 'pw', 'database') or die ('Cannot connect to db');
$eveny = $conn->query("select event_title from events_event where inactive=0");
while ($row=mysqli_fetch_array($eveny)) {
unset($event);
$event = $row['event_title'];
echo '<option value="'.$event.'">'.$event.'</option>';
}
?>
</select>
还有一个根据名字搜索用户的文本框,但它会自动显示结果(如 Google 搜索),然后使用名字和姓氏填写信息。 Source.
php 中唯一的变化是 echo 显示名字和姓氏,如下所示:
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
echo "<p>" . $row["per_FirstName"] . " " . $row["per_LastName"] . "</p>";
}
现在解决问题
我已经将前端制作成一个表单,并使用 method="post"制作了一个提交按钮。
但是我的 php 中的某些内容无法正常运行/缺少。
<?php
$db = new mysqli('localhost:3306', 'user', 'pw', 'database') or die ('Cannot connect to db');
session_start();
if($_SERVER["REQUEST_METHOD"] == "POST") {
$myname = mysqli_real_escape_string($db,$_POST['fullname']);
$eventy = mysqli_real_escape_string($db,$_POST['events']);
//$checktime = mysqli_real_escape_string($db,date("Y-m-d H:i:s"));
$evid = "SELECT event_id from events_event where event_title = '$eventy'";
$revvy = mysqli_query($db,$evid);
$nameParts = explode(' ', $myname);
$firstName = trim($nameParts[0]);
$lastName = trim($nameParts[1]);
$sql = "SELECT per_ID FROM person_per WHERE per_FirstName = '$firstName' AND per_LastName = '$lastName'";
$result = mysqli_query($db,$sql);
//$row = mysqli_fetch_row($result);
//$result = $result->fetch_all();
while($row = mysqli_fetch_assoc($result)){
$perID = $row['per_ID'];
}
while($row2 = mysqli_fetch_assoc($revvy)){
$evvy = $row['event_ID'];
}
$count = mysqli_num_rows($result);
// table row must be 1 row if it succeeded
if($count == 1) {
//session_register("myname");
//$_SESSION['login_user'] = $myname;
$checkin = "insert into event_attend (attend_id, event_id, person_id, checkin_date) values (DEFAULT, '$evvy', '$perID', now())" or die(mysqli_error());;
mysqli_query($db,$checkin);
header("location: checkedin.php");
}else {
$error = "An error occurred.";
}
}
?>
$myname 是名字和姓氏的结果,我只需要基于使用名字和姓氏填写的文本字段的名字。
我也无法从下拉列表中获取 Event_ID。
最佳答案
如果用户的名字和姓氏用空格分隔:
$nameParts = explode(' ', $myname);
$firstName = trim($nameParts[0]);
关于php - 如何从 PHP 中的全名的名字/姓氏的分割版本中获取一个人的用户 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56470759/