Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <body>
- <?php
- $conn = new PDO('mysql:dbname=test;host=localhost','root', 'root');
- $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- $asignaturas = $conn->query('SELECT * FROM asignaturas;')->fetchAll();
- $nuevaAsignatura = false;
- $nuevoAlumno = false;
- if(!empty($_POST)) {
- try {
- if($_POST['submit'] == 'Alumno') {
- $sql = 'INSERT INTO alumnos (nombre, asignatura_id) values(:nombre, :asignatura)';
- $result = $conn->prepare($sql);
- $result->bindValue(':nombre', $_POST['nombre']);
- $result->bindValue(':asignatura', $_POST['asignatura_id']);
- $result->execute();
- $nuevoAlumno = true;
- } else if ($_POST['submit'] == 'Asignatura') {
- $exists = array_filter($asignaturas, function($asignatura) {
- return ($asignatura['nombre'] == $_POST['asignatura']);
- });
- if(empty($exists)) {
- $sql = 'INSERT INTO asignaturas (nombre) values(:asignatura)';
- $result = $conn->prepare($sql);
- $result->bindValue(':asignatura', $_POST['asignatura']);
- $result->execute();
- $asignaturas[] = array(
- 'id' => $conn->lastInsertId(),
- 'nombre' => $_POST['asignatura']
- );
- $nuevaAsignatura = true;
- }
- }
- } catch (PDOException $e) {
- echo '<p>Exception: ' . $e->getMessage() . '</p>';
- exit;
- }
- }
- if($nuevaAsignatura) {
- echo '<p>Nueva asignatura insertada</p>';
- }
- if($nuevoAlumno) {
- echo '<p>Nuevo alumno insertado</p>';
- } else {
- ?>
- <form action="" method="post" accept-charset="utf-8">
- <label for="nombre">Nombre</label>
- <input type="text" name="nombre" value="" id="nombre">
- <select name="asignatura_id" id="asignatura_id">
- <?php
- foreach($asignaturas as $asignatura) {
- $selected = (isset($_POST['asignatura']) && ($asignatura['nombre'] == $_POST['asignatura']))? 'selected' : '';
- echo '<option value="' . $asignatura['id'] . '" ' . $selected . '>' . $asignatura['nombre'] . '</option>';
- }
- ?>
- </select>
- <p><input type="submit" value="Alumno" name="submit"></p>
- <label for="asignatura">Asignatura</label>
- <input type="text" name="asignatura" value="" id="asignatura">
- <p><input type="submit" value="Asignatura" name="submit"></p>
- </form>
- <?php
- }
- ?>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement