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(); "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()){ "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()){ "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()){ "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(); $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> $con = new Consultas(); $ro = $con->consulta_ciudad(169); // $ro = $con->consulta_pais(); $codigo = $row[$i]["codigo"]; $nombre = $row[$i]["nombre"]; echo '<br>'.$codigo; echo '<br>'.$nombre; } ?> </body> </html>