- Hola MinusFour, en el ejemplo que expuse no establezco el nombre de la bd como parametro pero tambien expuse que.
1- Agregue como argumento el $cod_empresa="" a las funciones Read y Create y nada, ahora una pregunta si yo hago algo como esto no deberia de funcionar ??
2- Tambien intente ponerlo asi $cod_empresa...
- La verdad es que no entiendo porque no funciona... Intentare ser lo mas claro posible en
1- tengo este formulario.
<!DOCTYPE html>
<link rel="stylesheet" type="text/css" href="css/style.css"> <form action="board_table.php" method="post">
<input type="hidden" name="session"> <input id="sub" type="submit" value="Iniciar Conexión">
- Eso me genera lo siguiente.
2- Con la ayuda de T.Collins realize lo siguiente ese formulario se viene aca.
<?php
require_once 'conexion.table.php';
$cod_empresa = (isset($_POST['cod_empresa'])) ?
$_POST['cod_empresa'] : ""; $Conexion = new Conexion();
$Conexion->conectar($cod_empresa);
if(isset($_POST['session'])) {
}
?>
2.1 - Donde la clase conexion es la siguiente.
<?php
class Conexion
{
public $ndatabase ="";
public function conectar($cod_empresa="")
{
$this->ndatabase = $cod_empresa;
$server = 'sbvbieloven';
$database = $this->ndatabase;
$username = 'profit';
$password = 'profit';
return $conexion = new PDO('sqlsrv:Server=' . $server . ';Database='. $database, $username, $password);
}
}
?>
3- Seguidamente por la condicion del Punto 2 me redirecciona a esta pag.
<?php
require_once "conexion.table.php";
require_once "crud.php";
$model = new Crud;
$model->Read();
$filas = $model->rows;
$total = count($filas);
?>
<link rel="stylesheet" type="text/css" href="css/style.css"> <section class="criterio">
<h3>Criterio de Busquedas
</h3> <form class="crit-form" name="search_form" id="search_form"> <small> El Total de Filas en Base de Datos:
<?php echo $total ?> </small> <?php
foreach ($filas as $fila)
{
<?php echo $fila['cod_emp'] . $fila['nombres'] ." ". $fila['apellidos'];
<input type="text" name="search" id="search_fi" placeholder="introduzca Codigo Ficha Ej: Ch001"> <input type="text" name="search" id="search_ci" placeholder="Cedula Use Puntos Ej: 49.781.190"> <input type="text" name="search" id="search" placeholder="introduzca un Nombre Ej: Antonio"> <input type="submit" Value="Procesar"> </section>
3.1- Y eso me da esta pantalla donde evidentemente se que hay un problema porque de bajo del total esta en blanco y "" Como Dije Antes Pasandole Directamente O Manualmente La BD a La Clase Conexion Todo Funciona Fino "".
4- Donde mi clase Crud es la siguiente.
<?php
class Crud
{
public $insertInto;
public $insertColumns;
public $insertValues;
public $mensaje;
public $rows;
public function Create()
{
$model = new Conexion;
$conexion = $model->conectar();
$insertColumns = $this->insertColumns;
$insertValues = $this->$insertValues;
$sql = "INSERT INTO $insertInto ($insertColumns) VALUES ($insertValues)";
$consulta = $conexion->prepare($sql);
if (!$consulta)
{
$this->mensaje = "Error...";
}
else
{
$consulta->execute();
$this->mensaje = "Registro Creado";
}
}
public function Read()
{
$model = new Conexion();
$conexion = $model->conectar();
$sql = "SELECT * FROM snemple";
$consulta = $conexion->prepare($sql);
$consulta->execute();
while ($filas = $consulta->fetch())
{
$this->rows[] = $filas;
}
}
}
?>
5 - Ahora cosas Sugeridas que hice MinusFour no se bien si aplique correctamente el Var_dump disculpa esa es que todo esto es nuevo para mi pero lo hice de esta forma.
- Elimine la condicion y aplique el var_dump aqui.
<?php
require_once 'conexion.table.php';
$cod_empresa = (isset($_POST['cod_empresa'])) ?
$_POST['cod_empresa'] : ""; $Conexion = new Conexion();
$Conexion->conectar($cod_empresa);
// if(isset($_POST['session']))
//{
// header('location:ready.php');
//}
?>
5.1- Resultado: string(10) "HUYAP_N".
6- Aplique Var_dump aqui.
<?php
require_once "conexion.table.php";
require_once "crud.php";
echo var_dump($_POST['cod_empresa']);
$model = new Crud;
$model->Read();
$filas = $model->rows;
$total = count($filas);
?>
<link rel="stylesheet" type="text/css" href="css/style.css"> <section class="criterio">
<h3>Criterio de Busquedas
</h3> <form class="crit-form" name="search_form" id="search_form"> <small> El Total de Filas en Base de Datos:
<?php echo $total ?> </small> <?php
foreach ($filas as $fila)
{
<?php echo $fila['cod_emp'] . $fila['nombres'] ." ". $fila['apellidos'];
<input type="text" name="search" id="search_fi" placeholder="introduzca Codigo Ficha Ej: Ch001"> <input type="text" name="search" id="search_ci" placeholder="Cedula Use Puntos Ej: 49.781.190"> <input type="text" name="search" id="search" placeholder="introduzca un Nombre Ej: Antonio"> <input type="submit" Value="Procesar"> </section>
6.1- Resultado: Notice: Undefined index: cod_empresa in C:\xampp\htdocs\sismica\ready.php on line 10
NULL.
7- y luego lo aplique aqui.
<?php
class Conexion
{
public $ndatabase ="";
public function conectar($cod_empresa="")
{
$this->ndatabase = $cod_empresa;
$server = 'sbvbieloven';
$database = $this->ndatabase;
$username = 'profit';
$password = 'profit';
return $conexion = new PDO('sqlsrv:Server=' . $server . ';Database='. $database, $username, $password);
}
}
?>
7.1- Resultado: Notice: Undefined index: cod_empresa in C:\xampp\htdocs\sismica\conexion.table.php on line 16
NULL