Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Por que arroja consultas que no corresponde ?

Estas en el tema de Por que arroja consultas que no corresponde ? en el foro de PHP en Foros del Web. 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' ...
  #1 (permalink)  
Antiguo 08/10/2014, 15:13
 
Fecha de Ingreso: febrero-2013
Ubicación: Cali Colombia
Mensajes: 118
Antigüedad: 11 años, 1 mes
Puntos: 0
Por que arroja consultas que no corresponde ?

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
  1. -------------- Clase Consultas --------------------
  2. <?php
  3. include_once('conexion.php');
  4.      class Consultas extends conexion{
  5.    
  6.         public function __construct(){         
  7.             parent::__construct();
  8.             parent::connect();
  9.         }
  10.        
  11.         public function consulta_usuario($usuario,$paswd){
  12.  
  13.             if($this->connect()){
  14.                 $query = 'SELECT Form_ced, Form_nomb,Form_apell
  15.                             From Formulario F,Usuario U
  16.                             WHERE U.Usua_codigo ='.$usuario.'
  17.                             AND U.Usua_Passw ='.$paswd;
  18.                 if($result = $this->mysqli->query($query)){    
  19.                     $row = $result->fetch_object();
  20.                     $array = array("cedula"=> $row->Form_ced,
  21.                             "nombre"=>$row->Form_nomb,
  22.                             "apellido"=>$row->Form_apell);  
  23.                     // 
  24.                     return $array;
  25.                     parent::close();
  26.                 }
  27.             }else{
  28.                 return null;    
  29.             }
  30.                 $this->mysqli->free_result($result);
  31.                    
  32.         }
  33.         public function consulta_existencia_usuario($cedula){
  34.             if($this->connect()){
  35.                 $query = 'SELECT Form_ced FROM Formulario WHERE Form_ced ='.$cedula;
  36.                 $result = $this->mysqli->query($query);
  37.                 if($result->num_rows > 0){
  38.                     return true;
  39.                 }else{
  40.                     return false;
  41.                 }
  42.             }
  43.         }
  44.  
  45.     public function consulta_pais(){
  46.         if($this->connect()){
  47.             $query = "SELECT Pais_cod,Pais_nomb FROM Pais";
  48.             $result = $this->mysqli->query($query);
  49.             while($row = $result->fetch_object()){
  50.                 $array = array("codigo"=>$row->Pais_cod,
  51.                                 "nombre"=>$row->Pais_nomb);
  52.                 $array_dos[] = $array;
  53.             }
  54.             return $array_dos;
  55.             parent::close();
  56.         }  
  57.             $this->mysqli->free_result($result);
  58.     }
  59.  
  60.     public function consulta_ciudad($codigo){
  61.         if($this->connect()){
  62.             $query = "SELECT Ciud_cod,Ciud_nomb
  63.                       FROM Ciudad
  64.                       WHERE Ciud_cod_pais =".$codigo;
  65.             $result = $this->mysqli->query($query);
  66.             while($row = $result->fetch_object()){
  67.                 $array = array("codigo"=>$row->Ciud_cod,
  68.                               "nombre"=>$row->Ciud_nomb);
  69.                 $array_[] = $array;
  70.             }
  71.             return $array_;
  72.             parent::close();
  73.         }
  74.         $this->mysqli->free_result($result_);
  75. }
  76.     public function consulta_tipo_productos(){
  77.         if($this->connect()){
  78.             $query = 'SELECT Tip_codigo,Tip_nombre FROM Tipo_producto';
  79.             $result = $this->mysqli->query($query);
  80.             //if($resul->num_rows > 0){
  81.                 while($row = $result->fetch_object()){
  82.                     $array = array("codigo"=>$row->Tip_codigo,
  83.                                    "nombre"=>$row->Tip_nombre);
  84.                     $array_cua = $array;
  85.                 }
  86.                 return $array_cua;
  87.             parent::close();
  88.             $this->mysqli->free_result($result);
  89.         }
  90.     }
  91.  
  92.  
  93.     }
  94. ?>

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
  1. <html>
  2.     <header>
  3.     <?php
  4.     error_reporting(E_ALL);
  5.     ini_set("display_errors", 1);
  6.     require('../Controlador/Inserciones.php');
  7.     require('../Controlador/Consultas.php');     
  8.    
  9. $consul = new Consultas();
  10.         $row = $consul->consulta_pais();
  11.         for($i = 0;$i < count($row); $i++){
  12.             $codigo = $row[$i]['codigo'];
  13.             $nombre_p = $row[$i]['nombre'];
  14.             echo '<option value ="'.$codigo.'">'.$nombre_p.'</option>';
  15.         }
  16.  
  17.  
  18.     ?>
  19.  
  20. <input type="Submit" name="btn_enviar" value="Boton para enviar" id="btn_enviar">  
  21.  
  22. <?php
  23. //<option val="0">Select</option>
  24.  
  25.         if(isset($_POST["btn_enviar"])){
  26.             $con = new Consultas();
  27.             $ro = $con->consulta_ciudad(169);
  28.         //  $ro = $con->consulta_pais();
  29.             for($i = 0;$i<count($ro);$i++){
  30.                 $codigo = $row[$i]["codigo"];
  31.                 $nombre = $row[$i]["nombre"];  
  32.                 echo '<br>'.$codigo;
  33.                 echo '<br>'.$nombre;
  34.             }
  35. ?>
  36. </body>
  37. </html>
  #2 (permalink)  
Antiguo 09/10/2014, 09:01
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Por que arroja consultas que no corresponde ?

Hola Andres,

Creo el problema lo tienes en:
Código PHP:
Ver original
  1. if(isset($_POST["btn_enviar"])){
  2.             $con = new Consultas();
  3.             $ro = $con->consulta_ciudad(169);
  4.         //  $ro = $con->consulta_pais();
  5.             for($i = 0;$i<count($ro);$i++){
  6.                 $codigo = $row[$i]["codigo"];
  7.                 $nombre = $row[$i]["nombre"];  
  8.                 echo '<br>'.$codigo;
  9.                 echo '<br>'.$nombre;
  10.             }

Ya que si estas haciendo el query a ciudad y devolviendolo a "ro" porque imprimes "row" que es donde tenías los países?

Saludos,
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #3 (permalink)  
Antiguo 09/10/2014, 14:01
 
Fecha de Ingreso: febrero-2013
Ubicación: Cali Colombia
Mensajes: 118
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Por que arroja consultas que no corresponde ?

Si ese era el problema ...... Gracias...

Etiquetas: mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:40.