사용자가 데이터를 입력하는 양식이 있습니다. AXZAA QS1QS. 이 데이터는 내 PHP 스크립트에 게시됩니다. PHP 스크립트는 순간 2 개의 레코드가 들어있는 MYSQL 데이터베이스에 연결됩니다.데이터가 필요하지 않습니다.
PHP 스크립트가 입력을 받아 데이터베이스의 레코드와 비교한다는 아이디어가 있습니다. 그렇지 않으면 웹 페이지의 테이블에 레코드가 표시되고 그렇지 않으면 오류 메시지가 표시됩니다.
PHP 스크립트에 여러 가지 문제가 있으며 스크립트를 여러 번 수정했습니다. 그러나 가장 큰 문제가있는 것은 다음과 같습니다.
처음 양식이 나타나면 메시지 레코드가 존재하지 않는 것은 사용자가 데이터를 입력하기 전에 두 번 나타납니다. 처음으로 양식을 작성하십시오. 아래 그림을 참조하십시오. 즉 기록이 존재 일치하는 테이블의 레코드와 함께 존재하는 경우
데이터를 입력 한 후 (PHP 스크립트가 부분적으로 제대로 작동 할 때), I는 기록이 있다고 말해 오류 메시지가 나타날 것입니다 찾을 수 없습니다. 문제를 해결할 수 있는지 확인하기 위해 어떤 레코드를 찾을 수 없는지 알려주는 코드를 추가했습니다. 찾지 못한 레코드와 찾지 못한 레코드는 데이터베이스에서 찾지 못했습니다. 내 PHP 스크립트의 SQL 쿼리는 데이터베이스에서 모든 것을 얻기 위해 스크립트에 알려주지 만 if 문은 문제를 해결했을 것이라고 생각했습니다.
이렇게 긴 문제를 작성하는 것에 대해 사과드립니다. 혼란스럽지 않기를 바랍니다.
enter code here
<?php
//Connect to the database connection file
require 'databaseconnection.php';
$searchBar=(isset($_POST['searchBar']) ? $_POST['searchBar'] :null);
$userdata = trim($searchBar);
$cleaned_data = preg_split('/[\s]+/', $userdata);
$sql = "SELECT DISTINCT * FROM atable_2";
$result = mysqli_query($database_connection, $sql);
echo "<table border>
<tr>
<th>Allocation</th>
<th>Codes</th>
<th>Names</th>
</tr>";
while($putdatabaseanswer_intoarray = mysqli_fetch_array($result)) {
$allocation_id = $putdatabaseanswer_intoarray["allocation"];
$codes_id = $putdatabaseanswer_intoarray["codes"];
$names_id = $putdatabaseanswer_intoarray["names"];
foreach($cleaned_data as $value) {
if($value==$codes_id) {
echo "<tr>";
echo "<td>" . $allocation_id. "</td>";
echo "<td>" . $codes_id . "</td>";
echo "<td>" . $names_id . "</td>";
echo "</tr>";
}
else
{
echo "<br />";
echo "One or more of the records have not been found: $codes_id";
echo"<br />";
}
}
}
echo "</table>";
?>
먼저 도움을 주셔서 감사합니다. – wishicouldprogramme
먼저 도움을 주셔서 감사합니다. 내 코드에 여러 변경 사항을 만들었습니다. 메시지의 PHP 코드는 변경 전의 내 PHP 스크립트를 변경하기 전이었습니다. 그 if 문 내에서 MYSQL 쿼리를 실행한다고 언급했는데, $ sql = "SELECT DISTINCT * FROM atable_2"; \t \t \t $ result = mysqli_query ($ database_connection, $ sql); – wishicouldprogramme
게시 된 값이있는 경우에만 전체 스크립트를 실행해야한다고 생각하지 않습니까? 따라서 if 문을 "require"다음에 넣으면 모든 것이 중괄호 안에 있어야합니다. 그런 다음 "else"에 원하는 메시지가 있으면 페이지가 처음로드 될 때 표시됩니다. – Daniel