Да се състави програма на PHP, която намира първите N числа на Фибоначи и ги записва в база от данни 1

Въпрос

Да се състави програма на 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(); ?> ``` Моля, имайте предвид, че този код може да не работи директно на вашия сървър. Той е предназначен да ви даде идея за това, как да решите задачата. Възможно е да се наложи да направите някои промени, за да се адаптира към вашата конкретна настройка.