Cordial Saludo,
La clase Consulta la uso para crear instancias en otras clases y poder hacer llamado a la base de datos, la clase 'Conexion' es quien me genera la conexion a la DB.
El problema que tengo es que al hacer una consulta por ejemplo a consulta_ciudad no se porque me trae registros de Paises, el codigo y nombre del pais, es muy extraño pues la consulta esta bien como para que este arrojando valores no exacto, en las otras querys estan bien y no hay problema de lo que retornan.
Código PHP:
Ver original-------------- Clase Consultas --------------------
<?php
include_once('conexion.php');
class Consultas extends conexion{
public function __construct(){
parent::__construct();
parent::connect();
}
public function consulta_usuario($usuario,$paswd){
if($this->connect()){
$query = 'SELECT Form_ced, Form_nomb,Form_apell
From Formulario F,Usuario U
WHERE U.Usua_codigo ='.$usuario.'
AND U.Usua_Passw ='.$paswd;
if($result = $this->mysqli->query($query)){
$row = $result->fetch_object();
$array = array("cedula"=> $row->Form_ced, "nombre"=>$row->Form_nomb,
"apellido"=>$row->Form_apell);
//
return $array;
parent::close();
}
}else{
return null;
}
$this->mysqli->free_result($result);
}
public function consulta_existencia_usuario($cedula){
if($this->connect()){
$query = 'SELECT Form_ced FROM Formulario WHERE Form_ced ='.$cedula;
$result = $this->mysqli->query($query);
if($result->num_rows > 0){
return true;
}else{
return false;
}
}
}
public function consulta_pais(){
if($this->connect()){
$query = "SELECT Pais_cod,Pais_nomb FROM Pais";
$result = $this->mysqli->query($query);
while($row = $result->fetch_object()){
$array = array("codigo"=>$row->Pais_cod, "nombre"=>$row->Pais_nomb);
$array_dos[] = $array;
}
return $array_dos;
parent::close();
}
$this->mysqli->free_result($result);
}
public function consulta_ciudad($codigo){
if($this->connect()){
$query = "SELECT Ciud_cod,Ciud_nomb
FROM Ciudad
WHERE Ciud_cod_pais =".$codigo;
$result = $this->mysqli->query($query);
while($row = $result->fetch_object()){
$array = array("codigo"=>$row->Ciud_cod, "nombre"=>$row->Ciud_nomb);
$array_[] = $array;
}
return $array_;
parent::close();
}
$this->mysqli->free_result($result_);
}
public function consulta_tipo_productos(){
if($this->connect()){
$query = 'SELECT Tip_codigo,Tip_nombre FROM Tipo_producto';
$result = $this->mysqli->query($query);
//if($resul->num_rows > 0){
while($row = $result->fetch_object()){
$array = array("codigo"=>$row->Tip_codigo, "nombre"=>$row->Tip_nombre);
$array_cua = $array;
}
return $array_cua;
parent::close();
$this->mysqli->free_result($result);
}
}
}
?>
En otra clase es usad para crear instancias de Consultas, como van a ver, alli creo dos instancias, las cuales cuando oprimo el boton es cuando muestra mal la informacion.
Intente cambiar un poco los nombres de las variables dentro de la funcion consulta_ciudades() pero lanza un error donde dice que se encuentra indefinido la variable $row.
les pido colaboracion. Gracias..
Código PHP:
Ver original<html>
<header>
<?php
require('../Controlador/Inserciones.php');
require('../Controlador/Consultas.php');
$consul = new Consultas();
$row = $consul->consulta_pais();
for($i = 0;$i < count($row); $i++){ $codigo = $row[$i]['codigo'];
$nombre_p = $row[$i]['nombre'];
echo '<option value ="'.$codigo.'">'.$nombre_p.'</option>';
}
?>
<input type="Submit" name="btn_enviar" value="Boton para enviar" id="btn_enviar">
<?php
//<option val="0">Select</option>
if(isset($_POST["btn_enviar"])){ $con = new Consultas();
$ro = $con->consulta_ciudad(169);
// $ro = $con->consulta_pais();
for($i = 0;$i<count($ro);$i++){ $codigo = $row[$i]["codigo"];
$nombre = $row[$i]["nombre"];
echo '<br>'.$codigo;
echo '<br>'.$nombre;
}
?>
</body>
</html>