Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

class consulta sql

Estas en el tema de class consulta sql en el foro de Frameworks y PHP orientado a objetos en Foros del Web. hola amigos estoy aprendiendo a usar class, estoy intentando hacer un consulta a la db miren : @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original class sql ...
  #1 (permalink)  
Antiguo 18/04/2010, 19:08
Avatar de danistrein  
Fecha de Ingreso: septiembre-2008
Ubicación: Salta Capital
Mensajes: 550
Antigüedad: 16 años, 2 meses
Puntos: 9
Pregunta class consulta sql

hola amigos estoy aprendiendo a usar class, estoy intentando hacer un consulta a la db miren :
Código PHP:
Ver original
  1. class sql{
  2.     function consulta($consulta){
  3.     return mysql_query($consulta);  
  4.     }
  5. }
  6. $sql=new sql;
  7.  
  8. $datos=$sql->consulta("SELECT * FROM publicaciones WHERE id='2'");
  9. while($p=mysql_fetch_array($datos)){
  10. echo $p['titulo'].'<br>';
  11. echo $p['usuario'];
  12. }
bueno ahi me funciona bien pero quisiera saber como ahorrarme de escribir el mysql_fetch_array, algo asi quiero intentar hacer:
ejemplo:
Código PHP:
Ver original
  1. class sql{
  2.     function consulta($consulta){
  3.     $datos=@mysql_query($consulta);
  4.     return @mysql_fetch_array($datos);  
  5.     }
  6. }
  7. $sql=new sql;
  8.  
  9. while($p=$sql->consulta("SELECT * FROM publicaciones WHERE id='2'")){
  10. echo $p['titulo'].'<br>';
  11. echo $p['usuario'];
  12. }
claro que es solo un ejemplo, pero quisiera saber como lograr eso

__________________
Appones.net - www.appones.net
  #2 (permalink)  
Antiguo 18/04/2010, 19:19
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: class consulta sql

Bueno tu pregunta debería ir en PHP orientado a objeto, espera que un moderador mueva tu tema. Pero contestando la pregunta, mira este ejemplo
Código PHP:
Ver original
  1. class classConnectDb{
  2.     private $connect_db;
  3.     private $mysql_host;
  4.     private $mysql_user;
  5.     private $mysql_pass;
  6.     private $mysql_db;
  7.     private $mysql_query;
  8.  
  9.     public function __construct($host, $user, $pass, $db){
  10.         $this->mysql_host = $host;
  11.         $this->mysql_user = $user;
  12.         $this->mysql_pass = $pass;
  13.         $this->mysql_db = $db;
  14.     }
  15.  
  16.     public function connectDb(){
  17.         $this->connect_db = mysql_connect($this->mysql_host, $this->mysql_user, $this->mysql_pass) or die(mysql_error());
  18.         mysql_select_db($this->mysql_db,$this->connect_db);
  19.     }
  20.  
  21.     public function query($query){
  22.         $this->mysql_query = mysql_query($query, $this->connect_db) or die(mysql_error());
  23.     }
  24.  
  25.     public function numRowsQuery(){
  26.         return mysql_num_rows($this->mysql_query);
  27.     }
  28.  
  29.     public function fetchQuery(){
  30.         return mysql_fetch_assoc($this->mysql_query);
  31.     }
  32.  
  33.     public function dataSeek($num){
  34.         mysql_data_seek($this->mysql_query,$num);
  35.     }
  36. }
  37.  
  38. $obj = new classConnectDb('hostname','username','password','database');
  39. $obj->connectDb();
  40. $obj->query('SELECT * FROM tabla');
  41. if($obj->numRowsQuery() > 0){
  42.     while($row = $obj->fetchQuery()){
  43.         var_dump($row);
  44.     }
  45.     /**
  46.      *Por si quieres volver a usar la misma consulta retornar el puntero al número indicado,
  47.      *en este caso a 0
  48.      */
  49.     $obj->dataSeek(0);
  50.     while($row = $obj->fetchQuery()){
  51.         var_dump($row);
  52.     }
  53. }
Después que aprendas a manejarte con OOP, te recomiendo que tus consultas lo hagas con la clase PDO.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 18/04/2010 a las 19:39
  #3 (permalink)  
Antiguo 18/04/2010, 19:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Tema movido desde PHP a PHP orientado a objetos
  #4 (permalink)  
Antiguo 18/04/2010, 20:02
Avatar de danistrein  
Fecha de Ingreso: septiembre-2008
Ubicación: Salta Capital
Mensajes: 550
Antigüedad: 16 años, 2 meses
Puntos: 9
Respuesta: class consulta sql

hola abimaelrc, gracias por el ejemplo me ayudo mucho, ahora le echare un vistazo a la clase PDO.
__________________
Appones.net - www.appones.net

Etiquetas: class, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:07.