Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: jorgeskillet1234 en 10 Septiembre 2017, 04:56 am



Título: dudas acerca de un codigo php y html (el archivo tiene extension .php)
Publicado por: jorgeskillet1234 en 10 Septiembre 2017, 04:56 am
hola muy buenas, he empezado en este mundo de la programación web y ha surgido una duda de un codigo que he estado realizando, cree un formulario html y dentro de el incruste un codigo php....

el problema esta en la parte del select (combobox), el codigo php lo que hara sera traer de una base de datos los nombres de todo los paises del mundo y guardarlos en el select (combobox).

bien el codigo cuando la base de datos esta activa funciona correcttamente, el problema radica es cuando cierro la conexion de la base de datos desde el xamp, como es de esperarse el select (combobox)... aparece vacio pero al haber un error el codigo se detiene y no me sigue agregando los otros componentes entonces, si sale un error los componentes que faltan por agregarse no se agregan....

entonces la duda mia esta en si hay alguna manera de ignorar ese error y seguir con la ejecucion del programa y todos los componentes puedan ser visualizados de manera  correcta no se si esto es posible le dejare el codigo del formulario.









<
Código
  1. div class="formulario">
  2.  
  3. <form action="/my-handling-form-page" method="post">
  4.  
  5. <div>
  6.  
  7.  
  8.  
  9. <label type="label_documento">Tipo De Documento:</label>
  10.  
  11. <select type="combo_box_documento" list="browsers" >
  12.  
  13. <datalist id="browsers">
  14. <option>Cedula De Ciudadania
  15. <option>Tarjeta De Identidad
  16. <option>Registro Civil
  17. <option>Cedula Extranjera
  18. <option>Pasaporte
  19. <option>Indeterminado
  20. </datalist>
  21.  
  22. </select>
  23.  
  24. <label type="label_n_documento"> Nº De Documento:</label>
  25. <input type="text_n_documento" id="label_n_documento" size="30" />
  26.  
  27. </div>
  28.  
  29. <div>
  30.        <label type="label_p_nombre">Primer Nombre:</label>
  31.        <input type="text_p_nombre" id="label_p_nombre" size="29"/>
  32.  
  33.  
  34.        <label type="label_s_nombre">Segundo Nombre:</label>
  35.        <input type="text_s_nombre" id="label_s_nombre" size="30"/>
  36.  
  37.    </div>
  38.    <div>
  39.  
  40. <label type="label_p_apellido">Primer Apellido:</label>
  41.        <input type="text_p_apellido" id="label_p_apellido" size="29"></input>
  42.  
  43. <label type="label_s_apellido">Segundo Apellido:</label>
  44.        <input type="text_s_apellido" id="label_s_apellido"size="30"></input>
  45.  
  46.    </div>
  47.  
  48.  
  49. <div>
  50.  
  51. <label type="label_sexo">Sexo:</label>
  52.  
  53. <select type="combo_box_sexo" list="sexo" >
  54. <datalist id="sexo">
  55. <option>Masculino
  56. <option>Femenino
  57. </datalist>
  58. </select>
  59.  
  60. <label type="label_fecha_nacimiento">Fecha De Nacimiento:</label>
  61.  
  62. <input type='date' >
  63.  
  64.  
  65. </div>
  66.  
  67.  
  68.  
  69. <div>
  70.  
  71.  
  72. <label type="label_lugar_de_nacimiento">Lugar De <br> Nacimiento:</label>
  73.  
  74. <select type="combo_box_pais" list="paises" >
  75.  
  76. <datalist id="paises">
  77.  
  78.  
  79. <?php
  80.  
  81.  
  82.  
  83. header('Content-Type: text/html; charset=UTF-8');
  84.  
  85. $vector = array();
  86. $contador=0;
  87.  
  88. $mysqli1 = new mysqli("localhost", "root","", "proyecto_historia_clinicas");
  89. mysqli_set_charset($mysqli1, 'utf8');
  90.  
  91. if ($mysqli1 -> connect_errno) {
  92. die( "Fallo la conexión a MySQL: (" . $mysqli1 -> mysqli_connect_errno()
  93. . ") " . $mysqli1 -> mysqli_connect_error());
  94. }
  95. else{
  96.  
  97. echo "Conexión exitosa!";
  98. echo "<br>";
  99.  
  100. $consulta = "SELECT pais FROM paises WHERE 1";
  101.  
  102. if ($resultado = $mysqli1->query($consulta)) {
  103. while ($fila = $resultado->fetch_row()) {
  104. $vector[$contador]=$fila[0];
  105. $contador++;
  106. }
  107. /* liberar el conjunto de resultados */
  108. $resultado->close();
  109. }
  110.  
  111. $mysqli1->close();
  112.  
  113. $max=sizeof($vector);
  114.  
  115. for($i=0; $i<$max; $i++){
  116.  
  117. echo "<option>".$vector[$i];
  118.  
  119. }
  120.  
  121. }
  122.  
  123.  
  124.  
  125. ?>
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132. </datalist>
  133. </select>
  134.  
  135. </div>
  136.  
  137. <div>
  138.  
  139. <label type="label_documento">Hola :</label>
  140.  
  141.  
  142. </div>
  143.  
  144.  
  145. </form>
  146.  
  147. </div>




 


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex


Título: Re: dudas acerca de un codigo php y html (el archivo tiene extension .php)
Publicado por: Orubatosu en 12 Septiembre 2017, 20:26 pm
En principio si, pero en lugar de cuando la conexión no funciona limitarte a "no hacer nada", carga en el combobox al menos un valor, una lista mínima por defecto o un aviso de que no hay conexión. Eso debería de funcionar


Título: Re: dudas acerca de un codigo php y html (el archivo tiene extension .php)
Publicado por: handsup en 19 Septiembre 2017, 01:24 am
Yo pondria un try y catch, mandaria todas las excepciones al bloque catch y ahi pondria un option vacio como dice Orubastosu o sino le pondria algun texto que indique que no hubo conexion o que hubo algun error.
Es mucho mejor usar los bloques catch.

Sino la respuesta de orubastosu deberia funcionar sin drama