Ver Mensaje Individual
  #7 (permalink)  
Antiguo 03/11/2014, 06:39
slikp
 
Fecha de Ingreso: marzo-2013
Mensajes: 32
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Pasar un parametro o variable a una clase

- Buenos dias Patriarka disculpa por escribir tan tarde, pero este fin de semana no tuve tiempo... Intente lo que me sugeristes y al parecer funciono muchas gracias sin embargo creo que a raiz de esa solucion se me esta presentando otro problema y es que yo tengo otro .php que me genera una busqueda y una insercion pero ahora no funcionan y no muestran tampoco mensajes de error simplemente no hacen nada.

- Si yo a la clase conexion le paso directamente la bd a la que me quiero conectar la funcion de insercion y mostrar si funcionan pero cuando lo hago como me sugeristes dejan de funcionar por ejemplo si lo hago asi sirve.

Código PHP:
Ver original
  1. <?php
  2. class Conexion
  3. {
  4.  
  5.     public function conectar()
  6.        {
  7.            
  8.             $server = 'sbvbieloven';
  9.             $database = 'huyapari_n';
  10.             $username = 'profit';
  11.             $password = 'profit';
  12.             return $conexion = new PDO('sqlsrv:Server=' . $server . ';Database='. $database, $username, $password);
  13.         }
  14.    
  15. }
  16. ?>

- Así si funciona, obviamente no es la idea hacerlo de esa forma. En mi ignorancia no se si es porque la conexion no se mantiene despues de pasarle el cod_empresa desde el form te muestro las desmas funciones.

Código PHP:
Ver original
  1. <?php
  2.     class Crud
  3. {
  4.         public $insertInto;
  5.         public $insertColumns;
  6.         public $insertValues;
  7.         public $mensaje;
  8.         public $rows;
  9.  
  10.     public function Create()
  11.     {
  12.         $model = new Conexion;
  13.         $conexion = $model->conectar();
  14.         $insertColumns = $this->insertColumns;
  15.         $insertValues = $this->$insertValues;
  16.         $sql = "INSERT INTO $insertInto ($insertColumns) VALUES ($insertValues)";
  17.         $consulta = $conexion->prepare($sql);
  18.         if (!$consulta)
  19.         {
  20.             $this->mensaje = "Error...";
  21.         }
  22.         else
  23.         {
  24.             $consulta->execute();
  25.             $this->mensaje = "Registro Creado";
  26.         }
  27.     }
  28.  
  29.     public function Read()
  30.     {
  31.         $model = new Conexion();
  32.         $conexion = $model->conectar();
  33.         $sql = "SELECT * FROM snemple";
  34.         $consulta = $conexion->prepare($sql);
  35.         $consulta->execute();
  36.  
  37.         while ($filas = $consulta->fetch())
  38.         {
  39.             $this->rows[] = $filas;
  40.         }
  41.     }
  42. }
  43. ?>

- Intente incluirlas en un solo archivo para ver si asi se solucionaba el problema y nada, intente de esta forma.

Código PHP:
Ver original
  1. <?php
  2. class Conexion
  3. {
  4.     public $ndatabase ="";
  5.     public $insertInto;
  6.     public $insertColumns;
  7.     public $insertValues;
  8.     public $mensaje;
  9.     public $rows;
  10.    
  11.     public function conectar($cod_empresa="")
  12.        {
  13.             $this->ndatabase = $cod_empresa;
  14.             $server = 'sbvbieloven';
  15.             $database = $this->ndatabase;
  16.             $username = 'profit';
  17.             $password = 'profit';
  18.             return $conexion = new PDO('sqlsrv:Server=' . $server . ';Database='. $database, $username, $password);
  19.         }
  20.    
  21.     public function Create()
  22.     {
  23.         $model = new Conexion;
  24.         $conexion = $model->conectar();
  25.         $insertColumns = $this->insertColumns;
  26.         $insertValues = $this->$insertValues;
  27.         $sql = "INSERT INTO $insertInto ($insertColumns) VALUES ($insertValues)";
  28.         $consulta = $conexion->prepare($sql);
  29.         if (!$consulta)
  30.         {
  31.             $this->mensaje = "Error...";
  32.         }
  33.         else
  34.         {
  35.             $consulta->execute();
  36.             $this->mensaje = "Registro Creado";
  37.         }
  38.     }
  39.  
  40.     public function Read()
  41.     {
  42.         $model = new Conexion();
  43.         $conexion = $model->conectar();
  44.         $sql = "SELECT * FROM snemple";
  45.         $consulta = $conexion->prepare($sql);
  46.         $consulta->execute();
  47.  
  48.         while ($filas = $consulta->fetch())
  49.         {
  50.             $this->rows[] = $filas;
  51.         }
  52.     }
  53. }
  54. ?>

- Tambien Intente.

1- Agregarle como argumento el $cod_empresa="" a las funciones Read y Create y nada

2- Les quite el $model = new Conexion; porque pense que ya no tenia caso dejarselos y nada
hay me mostro.
- Fatal error: Call to undefined function prepare() in C:\xampp\htdocs\sismica\conexion.table.php on line 42.

- Espero puedas ayudarme con esto de antemano muchas gracias.