Tutoriales PHP MYSQL programación web php base de datos mysql

\n"; } } } lecturas();

          


PHP - Las Clases

      

Autor: Carlos Carmona

Un ejemplo páctico - Clase en PHP

Vamos a crear una clase para conectar a base de datos MySql y mostrar la consulta en pantalla. Descargar Proyecto.

La clase

  1. <?PHP
  2.  
  3. class MiMysql {
  4.  
  5. //Propiedades de la clase
  6. var $Servidor;
  7. var $BaseDatos;
  8. var $Usuario;
  9. var $Pass;
  10. var $ConexId;
  11. var $ConsultaId;
  12. var $Error_;
  13. //Constructor de la clase
  14. function MiMysql ($Serv = "", $BD = "", $User = "", $Ps = "") {
  15. $this->Servidor = $Serv;
  16. $this->BaseDatos = $BD;
  17. $this->Usuario = $User;
  18. $this->Pass = $Ps;
  19. }
  20. //Método para conectar a base de datos
  21. function conectar ($Serv, $BD, $User, $Ps) {
  22. if ($Serv != "") $this->Servidor = $Serv;
  23. if ($BD != "") $this->BaseDatos = $BD;
  24. if ($User != "") $this->Usuario = $User;
  25. if ($Ps != "") $this->Pass = $Ps;
  26. //Procedemos a conectar con el servidor
  27. $this->ConexId = mysql_connect($this->Servidor, $this->Usuario, $this->Pass);
  28. if (!$this->ConexId) {
  29. $this->Error_ = "Fallo al intentar conectar";
  30. return 0;
  31. }
  32. //Si no ha habido ningún fallo, seleccionamos la Base de Datos
  33. if (!@mysql_select_db($this->BaseDatos, $this->ConexId)) {
  34. $this->Error_ = "No se ha podido abrir la Base de Datos " .
    $this->BaseDatos;
  35. return 0;
  36. }
  37. //Si al llegar aquí no hemos tenido ningún fallo
  38. //devolvemos el identificador de la conexión.
  39. //Si por el contrario hubiera habido algún fallo
  40. //devolveríamos 0 y la propiedad Error contendría
  41. //el mensaje de Error concreto.
  42. return $this->ConexId;
  43. }
  44. //Método para realizar consultas a base de datos
  45. function ConsultaSelect ($sql = "") {
  46. //Comprobamos que la sentencia no esté vacia
  47. if ($sql == "") {
  48. $this->Error_ = "Debe especificar una sentencia sql";
  49. return 0;
  50. }
  51. //Lanzamos la consulta
  52. $this->ConsultaId = @mysql_query($sql, $this->ConexId);
  53. if (!$this->ConsultaId) {
  54. $this->Error_ = mysql_Error_();
  55. return 0;
  56. }
  57. //Si no hubo ningún Error, devolvemos el
  58. //identificador de la consulta
  59. return $yhis->ConsultaId;
  60. }
  61. //Mostramos los datos en pantalla
  62. function MaquetarConsulta() {
  63. $result = "";
  64. $result .= "<table width=\"100%\" border=\"1\" cellspacing=\"1\"
    cellpadding=\"1\">\n"
    ;
  65. //Encabezado de la tabla
  66. $result .= "<tr>\n";
  67. for ($i = 0; $i < mysql_num_fields($this->ConsultaId); $i++) {
  68. $result .= "<th>" . mysql_field_name($this->ConsultaId, $i) .
    "</th>\n";
  69. }
  70. $result .= "</tr>\n";
  71. //Cuerpo de la tabla
  72. while ($row = mysql_fetch_row($this->ConsultaId)) {
  73. $result .= "<tr>\n";
  74. for ($i = 0; $i < mysql_num_fields($this->ConsultaId); $i++) {
  75. $result .= "<td>" . $row[$i] . "</td>\n";
  76. }
  77. $result .= "</tr>\n";
  78. }
  79. $result .= "</table>\n";
  80. //Devolvemos la tabla ya maquetada
  81. return $result;
  82. }
  83.  
  84. }
  85.  
  86. ?>

El código anterior lo guardamos en un archivo llamado conexionBD.php, y en nuestra aplicación PHP pondremos el siguiente código:

  1. <?PHP
  2.  
  3. //Incluimos la clase
  4. include_once("/articulos/tutoriales/php/conexionBD.html");
  5.  
  6. //Instanciamos la clase
  7. $MisConsultas = new MiMysql();
  8.  
  9. //Conectamos a Base de Datos
  10. $MisConsultas->conectar("localhost", "Base de Datos", "root", "password");
  11. if ($MisConsultas->Error_ != "") {
  12. print($MisConsultas->Error_);
  13. } else {
  14. $MisConsultas->ConsultaSelect("select * from tabla");
  15. if ($MisConsultas->Error_ != "") {
  16. print($MisConsultas->Error_);
  17. } else {
  18. $resultado = "";
  19. $resultado = $MisConsultas->MaquetarConsulta();
  20. print($resultado);
  21. }
  22. }
  23.  
  24. ?>

Podeis descargaros el proyecto ya hecho, está algo más completo que el código anterior.

Scour Design ™ Todos los Derechos Reservados © Carlos Carmona Xhtml 1.1 Strict Válido!CSS Nivel 2 Válido! Nivel Triple-A de Conformidad con las Directrices de Accesibilidad Web (WAI)