Потърси помощ за своята домашна
Програма Добавете учебите си часове за седмицата.
Да се състави програма на PHP, която намира първите N числа на Фибоначи и ги записва в база от данни
1
Петър Петров Попитан на 29 януари 2024 г. в 23:41
Въпрос
Да се състави програма на PHP, която намира първите N числа на Фибоначи и ги записва в база от данни с две полета: номер и стойност. Числото N да се въвежда от потребителя във форма. Резултатът да е страница с таблица – съдържанието на базата.
- Програмиране
Отговор
С тази задача ще се справите, като използвате следните основни концепции: работа с форми, работа с база данни и алгоритъма на Фибоначи.
Преди да започнем, трябва да имаме предвид, че за да изпълним тази задача, трябва да имаме инсталиран PHP и MySQL сървър.
1. Първо, нека да създадем HTML форма, която позволява на потребителя да въведе числото N:
```html
<form action="fibonacci.php" method="post">
Въведете N: <input type="number" name="number" min="1">
<input type="submit">
</form>
```
2. След това, можем да създадем PHP скрипт, който получава въведеното число и намира първите N числа на Фибоначи:
```php
<?php
$n = $_POST['number'];
$fib_numbers = array(0, 1);
for($i = 2; $i < $n; $i++){
$fib_numbers[$i] = $fib_numbers[$i - 1] + $fib_numbers[$i - 2];
}
?>
```
3. Следващата стъпка е да създадем връзка с базата данни и да записваме числата на Фибоначи в нея:
```php
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Създаване на връзка
$conn = new mysqli($servername, $username, $password, $dbname);
// Проверка на връзката
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Създаване на таблица
$sql = "CREATE TABLE FibonacciNumbers (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
value INT(30) NOT NULL
)";
for($i = 0; $i < $n; $i++){
$sql = "INSERT INTO FibonacciNumbers (value) VALUES ($fib_numbers[$i])";
}
$conn->close();
?>
```
4. Отпечатване на числата на Фибоначи от базата данни в таблица:
```php
<?php
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "SELECT id, value FROM FibonacciNumbers";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table><tr><th>ID</th><th>Value</th></tr>";
while($row = $result->fetch_assoc()) {
echo "<tr><td>".$row["id"]."</td><td>".$row["value"]."</td></tr>";
}
echo "</table>";
}
$conn->close();
?>
```
Моля, имайте предвид, че този код може да не работи директно на вашия сървър. Той е предназначен да ви даде идея за това, как да решите задачата. Възможно е да се наложи да направите някои промени, за да се адаптира към вашата конкретна настройка.