Quisiera que me pudieran ayudar con este script que no logro resolver por que me esta retornando la mitad de mi consulta.
tengo una clase llamada funcionesClass.php
y mi pagina principal es LibrosCRUD.php
lo que hago en LibrosCRUD.php es resivir los datos que me envian desde un formulario por POST asi:
LibrosCRUD.php
Código PHP:
if(isset($_POST['BtnBusquedaAVZ'])) {
$array_busqAVZ = array(
'codigo' =>$_POST['CodigoTxt'],
'titulo' =>$_POST['Titulo_Txt'],
'autor' =>$_POST['AutorTxt'],
'codigoeditorial' =>$_POST['Select_editorial'],
'precio' =>$_POST['PrecioTxt'],
'cantidad' =>$_POST['CantidadTxt']
);
$Clase_funci->setVariable_txt($array_busqAVZ);
$sql_consulta = $Clase_funci->BusquedaAVZ();
$Clase_Libros->setsql_string($sql_consulta);
$resultado = $Clase_Libros->Consultar();
}
Código PHP:
public function BusquedaAVZ() {
$where = "";
$variable_Array = $this->getVariable_txt();
$aninado = "";
$sql_Array = array();
$and = " AND ";
$sql = "";
foreach ($variable_Array as $valor=>$var) {
$igual = "=";
if($variable_Array['codigo'] == "") {
if($valor == 'codigo') {
$valor = "";
$and = "";
$igual = "";
}
}
if($variable_Array['titulo'] == "") {
if($valor == 'titulo') {
$valor = "";
$igual = "";
$and = "";
}
}
if($variable_Array['autor'] == "") {
if($valor == 'autor') {
$valor = "";
$igual = "";
$and = "";
}
}
if($variable_Array['codigoeditorial'] == "") {
if($valor == 'codigoeditorial') {
$valor = "";
$igual = "";
$and = "";
}
}
if($variable_Array['precio'] == "") {
if($valor == 'precio') {
$valor = "";
$igual = "";
$and = "";
}
}
if($variable_Array['cantidad'] == "") {
if($valor == 'cantidad') {
$valor = "";
$igual = "";
$and = "";
}
}
$num = is_numeric($var);
$tex = is_string($var);
if($var == $num) {
$var = $var;
}else if($var == $tex) {
$igual = " LIKE ";
$var = "%".$var."%";
}
if (empty ($where)) {
$where = $this->listar()." WHERE ".$valor.$igual.$var;
}else {
$where = $and.$valor .$igual.$var." ";
}
$sql = $where;
return $sql;
}
}
el campo codigo = 1
y el campo titulo = "tu eres"
al retornar $sql me llega asi el query a LibrosCRUD.php:
SELECT * FROM libros WHERE codigo=1
lo cual quiere decir que no me esta retornando bien o que estoy haciendo mal deberia salirme el query asi:
SELECT * FROM libros WHERE codigo=1 AND titulo LIKE %tu eres%
Si alguien me puede ayudar se lo agradeceria.
GRACIAS POR SU COLABORACION...