Advertisement
Guest User

Untitled

a guest
Dec 9th, 2016
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.25 KB | None | 0 0
  1. <?php
  2.  
  3. //Define los detalles de la conexión al servidor MySQL
  4.  
  5. $servername = "127.0.0.1";
  6. $username = "adminRLmU9i3";
  7. $password = "_EdTewykFzsc";
  8. $dbname = "biblioteca";
  9.  
  10. //Crea la conexión al servidor MySQL
  11.  
  12. $mysqli = new mysqli($servername, $username, $password, $dbname);
  13.  
  14.  
  15. // ¡Oh, no! Existe un error 'connect_errno', fallando así el intento de conexión
  16. if ($mysqli->connect_errno) {
  17. // La conexión falló. ¿Que vamos a hacer?
  18. // Se podría contactar con uno mismo (¿email?), registrar el error, mostrar una bonita página, etc.
  19. // No se debe revelar información delicada
  20.  
  21. // Probemos esto:
  22. echo "Lo sentimos, este sitio web está experimentando problemas.";
  23.  
  24. // Algo que no se debería de hacer en un sitio público, aunque este ejemplo lo mostrará
  25. // de todas formas, es imprimir información relacionada con errores de MySQL -- se podría registrar
  26. echo "Error: Fallo al conectarse a MySQL debido a: \n";
  27. echo "Errno: " . $mysqli->connect_errno . "\n";
  28. echo "Error: " . $mysqli->connect_error . "\n";
  29.  
  30. // Podría ser conveniente mostrar algo interesante, aunque nosotros simplemente saldremos
  31. exit;
  32. }
  33.  
  34. //La conexión al servidor MySQL se mantneie
  35.  
  36. //Obtengo la totalidad de los libros registrados
  37.  
  38. // Realizar una consulta SQL
  39.  
  40. $sql = "SELECT bibid FROM biblio";
  41.  
  42. if (!$libros = $mysqli->query($sql)) {
  43. // ¡Oh, no! La consulta falló.
  44. echo "Lo sentimos, este sitio web está experimentando problemas.";
  45.  
  46. // De nuevo, no hacer esto en un sitio público, aunque nosotros mostraremos
  47. // cómo obtener información del error
  48. echo "Error: La ejecución de la consulta falló debido a: \n";
  49. echo "Query: " . $sql . "\n";
  50. echo "Errno: " . $mysqli->errno . "\n";
  51. echo "Error: " . $mysqli->error . "\n";
  52. exit;
  53. }
  54.  
  55. // ¡Uf, lo conseguimos!. Sabemos que nuestra conexión a MySQL y nuestra consulta
  56. // tuvieron éxito, pero ¿tenemos un resultado?
  57. if ($libros->num_rows === 0) {
  58. // ¡Oh, no ha filas! Unas veces es lo previsto, pero otras
  59. // no. Nosotros decidimos. En este caso, ¿podría haber sido
  60. // actor_id demasiado grande?
  61. echo "Lo sentimos. No se pudo encontrar libros registrados. Inténtelo de nuevo.";
  62. exit;
  63. }
  64.  
  65. //La consulta SQL fue exitosa, obtengo un arreglo con los resultados (todos los libros registrados)
  66.  
  67. while($row = $libros->fetch_assoc()){
  68. $libro = $row['bibid'];
  69. //Para cada libro, consulto la tabla biblio_field y pregunto si este libro tiene los campos que registran su ubicacion en las estanterias
  70. $sql = "SELECT biblio_field.fieldid FROM biblio_field WHERE biblio_field.bibid=$libro AND biblio_field.tag=852 AND biblio_field.subfield_cd='c'";
  71. if (!$has_852_tag = $mysqli->query($sql)) {
  72. // ¡Oh, no! La consulta falló.
  73. echo "Lo sentimos, este sitio web está experimentando problemas.";
  74.  
  75. // De nuevo, no hacer esto en un sitio público, aunque nosotros mostraremos
  76. // cómo obtener información del error
  77. echo "Error: La ejecución de la consulta falló debido a: \n";
  78. echo "Query: " . $sql . "\n";
  79. echo "Errno: " . $mysqli->errno . "\n";
  80. echo "Error: " . $mysqli->error . "\n";
  81. exit;
  82. }
  83.  
  84. //TENGO EL RESULTADO DE BIBLIO_FIELD DE UN LIBRO, QUE ES UN TABLA EN SI MISMO
  85. //Tengo que corregir la numeriacion de fieldid
  86. //Preguntar si tiene el campo 852c
  87. //Insertar los datos si NO tiene el campo 852c
  88. //PUEDEN EXISTIR REGISTROS SIN NINGUN CAMPO MARC!!!
  89.  
  90. //La consulta SQL fue exitosa
  91.  
  92. $has_852_tag_flag = mysqli_num_rows($has_852_tag);
  93.  
  94.  
  95.  
  96. if ($has_852_tag_flag == 0) {
  97.  
  98.  
  99. $sql = "SELECT biblio_field.fieldid FROM biblio_field WHERE biblio_field.bibid=$libro ";
  100. if (!$fieldids = $mysqli->query($sql)) {
  101. // ¡Oh, no! La consulta falló.
  102. echo "Lo sentimos, este sitio web está experimentando problemas.";
  103.  
  104. // De nuevo, no hacer esto en un sitio público, aunque nosotros mostraremos
  105. // cómo obtener información del error
  106. echo "Error: La ejecución de la consulta falló debido a: \n";
  107. echo "Query: " . $sql . "\n";
  108. echo "Errno: " . $mysqli->errno . "\n";
  109. echo "Error: " . $mysqli->error . "\n";
  110. exit;
  111. }
  112.  
  113. $last_fieldid_pos = mysqli_num_rows($fieldids);
  114.  
  115. mysqli_data_seek($fieldids,$last_fieldid_pos-1);
  116.  
  117. $row = mysqli_fetch_row($fieldids);
  118.  
  119. $next_fieldid = $row[0] + 1;
  120.  
  121. printf ("%s - %s\n", $libro, $next_fieldid);
  122.  
  123. $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','')";
  124. if (!$insert_852_field = $mysqli->query($sql)) {
  125. // ¡Oh, no! La consulta falló.
  126. echo "Lo sentimos, este sitio web está experimentando problemas.";
  127.  
  128. // De nuevo, no hacer esto en un sitio público, aunque nosotros mostraremos
  129. // cómo obtener información del error
  130. echo "Error: La ejecución de la consulta falló debido a: \n";
  131. echo "Query: " . $sql . "\n";
  132. echo "Errno: " . $mysqli->errno . "\n";
  133. echo "Error: " . $mysqli->error . "\n";
  134. exit;
  135. }
  136.  
  137.  
  138. }
  139.  
  140. mysqli_free_result($has_852_tag);
  141.  
  142. }
  143.  
  144.  
  145.  
  146. mysqli_free_result($libros);
  147.  
  148. mysqli_close($mysqli);
  149. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement