У меня есть html-страница с полем ввода. Я пытаюсь извлечь данные из базы данных на основе этого ввода и отправить его обратно на исходную страницу html в виде таблицы, используя php. Я создал php во внешнем файле, и он отображал правильные значения в браузере, но моя проблема пытается отобразить php на странице html.
Я включил свой сервер для анализа файлов html и поместил php в html-файл, но все еще не работал. Когда я ввел значение и отправлю перезагрузки страницы, но ничего не отображается.
Если кто-то знает лучший способ сделать это, я был бы признателен за совет. Я прочитал множество потоков, и никто не работает.
PHP:
<?php define('DB_NAME', 'database'); define('DB_USER', 'user'); define('DB_PASSWORD', 'password'); define('DB_HOST', 'localhost'); $conn = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); if (!$conn) { die('Could not connect: ' . mysqli_connect_error()); } $studentnum = $_POST['studentnum']; $sql = "SELECT * FROM test WHERE number LIKE '%$studentnum%'"; $result=mysqli_query($conn, $sql); echo '<table class="table table-striped table-bordered table-hover">'; echo "<tr> <th>Name</th> <th>Number</th> <th>Floor</th> <th>Room</th> <th>Message</th> </tr>"; while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { echo "<tr><td>"; echo $row['name']; echo "</td><td>"; echo $row['number']; echo "</td><td>"; echo $row['floor']; echo "</td><td>"; echo $row['room']; echo "</td><td>"; echo $row['message']; echo "</td></tr>"; } echo "</table>"; mysqli_close($conn); ?>
HTML:
<form action="test.php" method="post"> <label>Enter Student Number:</label> <input name="studentnum" type="number" placeholder="Type Here"> <br> <br> <input type="submit" value="Enter"> </form>
Если вы хотите все это на одной странице, вы можете использовать приведенное ниже, предполагая, что ваш parse php в html-файлах работает, а ваша страница – index.html (как указано в действии формы).
<?php // check if the form has been submitted and display the results if (isset($_POST['studentnum'])) { define('DB_NAME', 'database'); define('DB_USER', 'user'); define('DB_PASSWORD', 'password'); define('DB_HOST', 'localhost'); $conn = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); if (!$conn) { die('Could not connect: ' . mysqli_connect_error()); } // escape the post data to prevent injection attacks $studentnum = mysqli_real_escape_string($conn, $_POST['studentnum']); $sql = "SELECT * FROM `test` WHERE `number` LIKE '%$studentnum%'"; $result=mysqli_query($conn, $sql); // check if the query returned a result if (!$result) { echo 'There are no results for your search'; } else { // result to output the table echo '<table class="table table-striped table-bordered table-hover">'; echo "<tr> <th>Name</th> <th>Number</th> <th>Floor</th> <th>Room</th> <th>Message</th> </tr>"; while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { echo "<tr><td>"; echo $row['name']; echo "</td><td>"; echo $row['number']; echo "</td><td>"; echo $row['floor']; echo "</td><td>"; echo $row['room']; echo "</td><td>"; echo $row['message']; echo "</td></tr>"; } echo "</table>"; } mysqli_close($conn); } // end submitted else { // not submitted to output the form ?> <form action="index.html" method="post"> <label>Enter Student Number:</label> <input name="studentnum" type="number" placeholder="Type Here"> <br> <br> <input type="submit" value="Enter"> </form> <?php } // end not submitted ?>