EDIT : 업데이트! 첫 번째 부분이 작동했습니다. 그러나, 같은 IF() 문 내에서 다른 변수를 확인하는 방법을 잘 모르겠습니다. 누구든지 저를 도울 수 있습니까? 단일 if 문은 입력과 똑같은 이름의 클래스를 거부합니다. 그러나, 나는 또한 동등한 Days and Times를 거절해야합니다.모든 레코드 대신 첫 번째 레코드 만 확인
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Register Diver</title>
<link rel="stylesheet" href="php_styles.css" type="text/css" />
<meta http-equiv="content-type"
content="text/html; charset=iso-8859-1" />
</head>
<body>
<h1>Aqua Don's Scuba School</h1>
<h2>Registration Confirmation</h2>
<?php
$DiverID = $_GET['diverID'];
if (empty($DiverID))
exit("<p>You must enter a diver ID! Click your browser's Back button to return to the previous page.</p>");
$DBConnect = @mysqli_connect("localhost", "students", "password")
Or die("<p>Unable to connect to the database server.</p>"
. "<p>Error code " . mysqli_connect_errno()
. ": " . mysqli_connect_error()) . "</p>";
$DBName = "scuba_school";
@mysqli_select_db($DBConnect, $DBName)
Or die("<p>Unable to select the database.</p>"
. "<p>Error code " . mysqli_errno($DBConnect)
. ": " . mysqli_error($DBConnect)) . "</p>";
$TableName = "registration";
$SQLstring = "SELECT * FROM $TableName";
$QueryResult = @mysqli_query($DBConnect, $SQLstring);
if (!$QueryResult) {
$SQLstring = "CREATE TABLE registration (diverID SMALLINT, class VARCHAR(40), days VARCHAR(40), time VARCHAR(40))";
$QueryResult = @mysqli_query($DBConnect, $SQLstring)
Or die("<p>Unable to create the registration table.</p>"
. "<p>Error code " . mysqli_errno($DBConnect)
. ": " . mysqli_error($DBConnect)) . "</p>";
echo "<p>Successfully created the registration table.</p>";
}
?>
<?php
$Class = $_GET['class'];
$Days = $_GET['days'];
$Time = $_GET['time'];
$DiverID = $_GET['diverID'];
$DBConnect = mysqli_connect("localhost", "students", "password");
$DBName = "scuba_school";
@mysqli_select_db($DBConnect, $DBName)
Or die("<p>Unable to select the database.</p>"
. "<p>Error code " . mysqli_errno($DBConnect)
. ": " . mysqli_error($DBConnect)) . "</p>";
$sqlString= "SELECT * FROM `registration` WHERE `diverID` = $DiverID AND `class` = '$Class' AND `days` = '$Days' AND `time` = '$Time'";
$QueryResult = mysqli_query($DBConnect, $sqlString) or die("MySQL error: " . mysqli_error($DBConnect) . "<hr>\nQuery: $QueryResult");
$row = mysqli_fetch_assoc($QueryResult);
if ($row["class"] == $Class)
{
echo "<p>You are already registered for $Class</p>";
}
elseif($row["days"] == $Days && $row["time"] == $Time)
{
echo "<p>There is a conflict with $Days or $Time</p>";
}
else
{
$SQLstring = "INSERT INTO $TableName VALUES('$DiverID', '$Class', '$Days', '$Time')";
$QueryResult = @mysqli_query($DBConnect, $SQLstring);
echo "<p>You are registered for $Class on $Days, $Time. Click your browser's Back button to register for another course or review your schedule.</p>";
}
mysqli_close($DBConnect);
?>
</body>
</html>
문제는 3 가지 변수에 대해이 작업을 수행해야합니다. 클래스 1은 내가 생각했던 가장 쉬운 것이었다. 내가 각 행 아래로 내려갈 때 ++ 나 뭔가를 만들면 어떨까요? 저는 코딩을 잘 못하고 있습니다 ... 그리고 이것은 수업을위한 것입니다. 그래서 선생님이 제공 한 예를 떠나려고합니다. 그러나 이것에 대한 예는 없습니다. – Tandar
코드를 업데이트 했으므로 다른 부분을 작동시키는 방법을 알 수 없습니다. 좀 봐 줄래? – Tandar