Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //Define los detalles de la conexión al servidor MySQL
- $servername = "127.0.0.1";
- $username = "adminRLmU9i3";
- $password = "_EdTewykFzsc";
- $dbname = "biblioteca";
- //Crea la conexión al servidor MySQL
- $mysqli = new mysqli($servername, $username, $password, $dbname);
- // ¡Oh, no! Existe un error 'connect_errno', fallando así el intento de conexión
- if ($mysqli->connect_errno) {
- // La conexión falló. ¿Que vamos a hacer?
- // Se podría contactar con uno mismo (¿email?), registrar el error, mostrar una bonita página, etc.
- // No se debe revelar información delicada
- // Probemos esto:
- echo "Lo sentimos, este sitio web está experimentando problemas.";
- // Algo que no se debería de hacer en un sitio público, aunque este ejemplo lo mostrará
- // de todas formas, es imprimir información relacionada con errores de MySQL -- se podría registrar
- echo "Error: Fallo al conectarse a MySQL debido a: \n";
- echo "Errno: " . $mysqli->connect_errno . "\n";
- echo "Error: " . $mysqli->connect_error . "\n";
- // Podría ser conveniente mostrar algo interesante, aunque nosotros simplemente saldremos
- exit;
- }
- //La conexión al servidor MySQL se mantneie
- //Obtengo la totalidad de los libros registrados
- // Realizar una consulta SQL
- $sql = "SELECT bibid FROM biblio";
- if (!$libros = $mysqli->query($sql)) {
- // ¡Oh, no! La consulta falló.
- echo "Lo sentimos, este sitio web está experimentando problemas.";
- // De nuevo, no hacer esto en un sitio público, aunque nosotros mostraremos
- // cómo obtener información del error
- echo "Error: La ejecución de la consulta falló debido a: \n";
- echo "Query: " . $sql . "\n";
- echo "Errno: " . $mysqli->errno . "\n";
- echo "Error: " . $mysqli->error . "\n";
- exit;
- }
- // ¡Uf, lo conseguimos!. Sabemos que nuestra conexión a MySQL y nuestra consulta
- // tuvieron éxito, pero ¿tenemos un resultado?
- if ($libros->num_rows === 0) {
- // ¡Oh, no ha filas! Unas veces es lo previsto, pero otras
- // no. Nosotros decidimos. En este caso, ¿podría haber sido
- // actor_id demasiado grande?
- echo "Lo sentimos. No se pudo encontrar libros registrados. Inténtelo de nuevo.";
- exit;
- }
- //La consulta SQL fue exitosa, obtengo un arreglo con los resultados (todos los libros registrados)
- while($row = $libros->fetch_assoc()){
- $libro = $row['bibid'];
- //Para cada libro, consulto la tabla biblio_field y pregunto si este libro tiene los campos que registran su ubicacion en las estanterias
- $sql = "SELECT biblio_field.fieldid FROM biblio_field WHERE biblio_field.bibid=$libro AND biblio_field.tag=852 AND biblio_field.subfield_cd='c'";
- if (!$has_852_tag = $mysqli->query($sql)) {
- // ¡Oh, no! La consulta falló.
- echo "Lo sentimos, este sitio web está experimentando problemas.";
- // De nuevo, no hacer esto en un sitio público, aunque nosotros mostraremos
- // cómo obtener información del error
- echo "Error: La ejecución de la consulta falló debido a: \n";
- echo "Query: " . $sql . "\n";
- echo "Errno: " . $mysqli->errno . "\n";
- echo "Error: " . $mysqli->error . "\n";
- exit;
- }
- //TENGO EL RESULTADO DE BIBLIO_FIELD DE UN LIBRO, QUE ES UN TABLA EN SI MISMO
- //Tengo que corregir la numeriacion de fieldid
- //Preguntar si tiene el campo 852c
- //Insertar los datos si NO tiene el campo 852c
- //PUEDEN EXISTIR REGISTROS SIN NINGUN CAMPO MARC!!!
- //La consulta SQL fue exitosa
- $has_852_tag_flag = mysqli_num_rows($has_852_tag);
- if ($has_852_tag_flag == 0) {
- $sql = "SELECT biblio_field.fieldid FROM biblio_field WHERE biblio_field.bibid=$libro ";
- if (!$fieldids = $mysqli->query($sql)) {
- // ¡Oh, no! La consulta falló.
- echo "Lo sentimos, este sitio web está experimentando problemas.";
- // De nuevo, no hacer esto en un sitio público, aunque nosotros mostraremos
- // cómo obtener información del error
- echo "Error: La ejecución de la consulta falló debido a: \n";
- echo "Query: " . $sql . "\n";
- echo "Errno: " . $mysqli->errno . "\n";
- echo "Error: " . $mysqli->error . "\n";
- exit;
- }
- $last_fieldid_pos = mysqli_num_rows($fieldids);
- mysqli_data_seek($fieldids,$last_fieldid_pos-1);
- $row = mysqli_fetch_row($fieldids);
- $next_fieldid = $row[0] + 1;
- printf ("%s - %s\n", $libro, $next_fieldid);
- $sql = "INSERT INTO biblio_field (biblio_field.bibid,biblio_field.fieldid,biblio_field.tag,biblio_field.ind1_cd,biblio_field.ind2_cd,biblio_field.subfield_cd,biblio_field.field_data) VALUES ($libro, $next_fieldid, 852, 'N', 'N', 'c','')";
- if (!$insert_852_field = $mysqli->query($sql)) {
- // ¡Oh, no! La consulta falló.
- echo "Lo sentimos, este sitio web está experimentando problemas.";
- // De nuevo, no hacer esto en un sitio público, aunque nosotros mostraremos
- // cómo obtener información del error
- echo "Error: La ejecución de la consulta falló debido a: \n";
- echo "Query: " . $sql . "\n";
- echo "Errno: " . $mysqli->errno . "\n";
- echo "Error: " . $mysqli->error . "\n";
- exit;
- }
- }
- mysqli_free_result($has_852_tag);
- }
- mysqli_free_result($libros);
- mysqli_close($mysqli);
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement