Foros del Web » Programando para Internet » PHP »

Búsqueda no me arroja resultados

Estas en el tema de Búsqueda no me arroja resultados en el foro de PHP en Foros del Web. Saludos, en principio les agradezco porque gracias al foro he podido solucionar algunos problemas en mi proceso de aprendizaje, espero puedan ayudarme con este: Estoy ...
  #1 (permalink)  
Antiguo 17/12/2015, 10:42
 
Fecha de Ingreso: enero-2015
Mensajes: 48
Antigüedad: 9 años, 10 meses
Puntos: 0
Búsqueda no me arroja resultados

Saludos, en principio les agradezco porque gracias al foro he podido solucionar algunos problemas en mi proceso de aprendizaje, espero puedan ayudarme con este:

Estoy realizando una búsqueda en una base de datos, sin embargo, no me muestra resultados, coloco un dato (cedula escolar) registrado en mi tabla y me dice que no está registrada, cuando si lo está.

Código PHP:
<?php
$conexion 
mysql_connect("localhost""root""") or die("Problemas en la conexion");
mysql_select_db("escuela"$conexion) or die("Problemas en la selección de la base de datos");
$registros mysql_query("select CedulaE,Apellidos,Nombres,Grado,Nacionalidad,Fecha_Nac,LugarNac,Dir_Hab,Telefono,Sangre,Enfermedad,Alergia,CedulaPadre,ApeP,NombreP,DireccionP,TeleP,OcupaP,TrabP,CedulaMadre,ApeM,NomM,DireM,TeleM,OcuM,TrabaM,CedR,ApeR,NomR,DireR,TeleR,OcuR,TrabaR from alumnos where CedulaE='$_POST[PorCedulaEscolar]'"$conexion) or die("Problemas en el select:" .mysql_error());
if (
$reg mysql_fetch_array($registros)) { 
echo 
"Cedula:" $reg['CedulaE'] . "<br>";
echo 
"nombre:" $reg['Nombres'] . "<br>";
echo 
"apellido:" $reg['Apellidos'] . "<br>";} 
 else {
echo 
"Cedula Escolar No registrada .";
}
mysql_close($conexion);
?>
  #2 (permalink)  
Antiguo 17/12/2015, 10:55
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 11 meses
Puntos: 20
Respuesta: Búsqueda no me arroja resultados

Hola amig@ (no distingo por tu nombre d usuario el género :p )
Te aconsejo siempre generar tu query en una variable independiente, de éste modo:

Código PHP:
Ver original
  1. $query = "SELECT campo1,campo2,campo3 FROM Tabla WHERE id=$variable";
  2. //Después ya podrás hacer tu consulta d ésta forma
  3. $registros = mysql_query($query);

Con que fin?
Si tu consulta te arroja resultados erróneos, puedes imprimir tu variable $query y pegarla para ejecutarla en tu phpmyadmin, ahí te informará los errores que puedas llegar a tener

(Yo veo tu consulta normal, a menos que estés escribiendo mal el nombre d algún campo)

Es mi consejo, saludos ;)
  #3 (permalink)  
Antiguo 17/12/2015, 11:04
 
Fecha de Ingreso: enero-2015
Mensajes: 48
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Búsqueda no me arroja resultados

Hola amigo german_1441 soy mujer jeje!! Si mi nombre de usuario no dice mucho.
No soy muy diestra en esto. Por lo que entendí cambio


Código PHP:
Ver original
  1. $registros = mysql_query("select CedulaE,Apellidos,Nombres,Grado,Nacionalidad,Fecha_Nac,LugarNac,Dir_Hab,Telefono,Sangre,Enfermedad,Alergia,CedulaPadre,ApeP,NombreP,DireccionP,TeleP,OcupaP,TrabP,CedulaMadre,ApeM,NomM,DireM,TeleM,OcuM,TrabaM,CedR,ApeR,NomR,DireR,TeleR,OcuR,TrabaR from alumnos where CedulaE='$_POST[PorCedulaEscolar]'", $conexion) or die("Problemas en el select:" .mysql_error());

Por esto:
Código PHP:
Ver original
  1. $query="select CedulaE,Apellidos,Nombres,Grado,Nacionalidad,Fecha_Nac,LugarNac,Dir_Hab,Telefono,Sangre,Enfermedad,Alergia,CedulaPadre,ApeP,NombreP,DireccionP,TeleP,OcupaP,TrabP,CedulaMadre,ApeM,NomM,DireM,TeleM,OcuM,TrabaM,CedR,ApeR,NomR,DireR,TeleR,OcuR,TrabaR from alumnos where CedulaE='$_POST[PorCedulaEscolar]'", $conexion) or die("Problemas en el select:" .mysql_error();
  #4 (permalink)  
Antiguo 17/12/2015, 11:14
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 11 meses
Puntos: 20
Respuesta: Búsqueda no me arroja resultados

A ok, disculpa, amigA, jeje
MMM, no,
a lo que me refería era mas a ésta estructura:
Código PHP:
Ver original
  1. $query = "SELECT campo1,campo2,campo3 FROM tabla WHERE 'condicion' ";
  2. $registros = mysql_query($query);

Entonces, cuando algo salga mal en tu consulta, puedes hacer ésto:

Código PHP:
Ver original
  1. $query = "SELECT campo1,campo2,campo3 FROM tabla WHERE 'condicion' ";
  2. //$registros = mysql_query($query);
  3. echo $query; //Este resultado es el que puedes pegar en tu phpmyadmin (en la pestaña que dice: 'sql') y ver que te arroja
  #5 (permalink)  
Antiguo 17/12/2015, 14:00
 
Fecha de Ingreso: enero-2015
Mensajes: 48
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Búsqueda no me arroja resultados

Listo, en realidad era más fácil de lo mque creía. No se enviaba PorCedulaEscolar sino CedulaEscolar, , ¿se envía el id o el name del campo del formulario?
  #6 (permalink)  
Antiguo 17/12/2015, 14:32
 
Fecha de Ingreso: enero-2015
Mensajes: 48
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Búsqueda no me arroja resultados

Otra pregunta, ya tengo los resultados deseados pero como hago para que aparezcan en una tabla? Es que son muchos datos y uno debajo del otro se ve muy feo, en una tabla se vería mejor.
  #7 (permalink)  
Antiguo 17/12/2015, 14:43
Avatar de wunderwaffen077  
Fecha de Ingreso: marzo-2014
Mensajes: 45
Antigüedad: 10 años, 8 meses
Puntos: 3
Respuesta: Búsqueda no me arroja resultados

Algo así, es instinto nomas.

Código PHP:
<html>
<body>
<?
$registros 
= array();
    
$sql mysqli_query($link,"SELECT*FROM pendejete");            
    while( 
$row mysqli_fetch_array($sqlMYSQLI_ASSOC) ){ $registros[] = $row; }
    
mysqli_close($link);
?>
<table border="1">    
        <tr class="title">
            <th width="70">BOLETA</th>
            <th width="300">CLIENTE</th>
            <th width="200">SERIE MT</th>
            <th width="300">MODELO MT</th>
            <th width="100">CONT. TOTAL</th>
            <th width="200">CONDICI&Oacute;N MT</th>
            <th width="200">MOT. SERVICIO</th>
            <th width="100">FECHA</th>
            <th width="300">T&Eacute;CNICO</th>
        </tr>        
        <?php            
        $contador 
0;
        for (
$i=0$i count($registros); $i++) {
            
$contador++;
            
$v_bole $registros[$i]['bol_codi'];
            
$v_deno $registros[$i]['ter_deno'];
            
$v_seri $registros[$i]['mul_seri'];
            
$v_item $registros[$i]['ite_dsit'];
            
$v_cont $registros[$i]['con_tota'];
            
$v_cond $registros[$i]['cma_desc'];
            
$v_moti $registros[$i]['mot_desc'];
            
$v_feem $registros[$i]['bol_feem'];
            
$v_feem date("d/m/Y"strtotime($v_feem));
            
$v_repr trim($registros[$i]['use_name'].' '.$registros[$i]['use_apel']);

        
?>
        <tr>
            <td><?=$v_bole;?></td>
            <td style="<?=$bgcolor;?>"><?=$v_deno;?></td>
            <td style="<?=$bgcolor;?>"><?=$v_seri;?></td>
            <td style="<?=$bgcolor;?>"><?=$v_item;?></td>
            <td style="<?=$bgcolor;?>"><?=$v_cont;?></td>
            <td style="<?=$bgcolor;?>"><?=$v_cond;?></td>
            <td style="<?=$bgcolor;?>"><?=$v_moti;?></td>
            <td align="center" style="<?=$bgcolor;?>"><?=$v_feem;?></td>
            <td style="<?=$bgcolor;?>"><?=$v_repr;?></td>
        </tr>
        <?
        
}
         
?>
    </table>
</body>
</html>

Última edición por wunderwaffen077; 17/12/2015 a las 14:46 Razón: Falto etiquetar
  #8 (permalink)  
Antiguo 17/12/2015, 14:46
 
Fecha de Ingreso: enero-2015
Mensajes: 48
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Búsqueda no me arroja resultados

Hola wunderwaffen077 gracias, en mi caso que no uso el while sino el if, creo abro la tabla después de esa línea?
  #9 (permalink)  
Antiguo 17/12/2015, 14:49
Avatar de wunderwaffen077  
Fecha de Ingreso: marzo-2014
Mensajes: 45
Antigüedad: 10 años, 8 meses
Puntos: 3
Respuesta: Búsqueda no me arroja resultados

Cita:
Iniciado por mordvinia Ver Mensaje
Hola wunderwaffen077 gracias, en mi caso que no uso el while sino el if, creo abro la tabla después de esa línea?


No puedes usar el "IF", si te retornar más de un registro.

Puedes usar el while o foreach, para mostrar varios registros.


Pegame todo el código, haber que si lo modifico.
  #10 (permalink)  
Antiguo 17/12/2015, 15:03
Avatar de wunderwaffen077  
Fecha de Ingreso: marzo-2014
Mensajes: 45
Antigüedad: 10 años, 8 meses
Puntos: 3
Respuesta: Búsqueda no me arroja resultados

Hay ya veo,
hazlo de esta manera entonces.
Puedes personalizarlo de la manera que mas te guste.

Código PHP:
echo "<table>";
if (
$reg mysql_fetch_array($registros)) {  
echo 
"<tr>";
echo 
"<td>Cedula:" $reg['CedulaE'] . "</td>"
echo 
"<td>nombre:" $reg['Nombres'] . "</td>"
echo 
"<td>apellido:" $reg['Apellidos'] . "</td>";}  
echo 
"</tr>";
 else { 
echo 
"<tr><td>Cedula Escolar No registrada .</td></tr>"

echo 
"</table>"
  #11 (permalink)  
Antiguo 17/12/2015, 15:35
 
Fecha de Ingreso: enero-2015
Mensajes: 48
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Búsqueda no me arroja resultados

Chévere, sale la estructura de la tabla pero no tiene bordes
  #12 (permalink)  
Antiguo 17/12/2015, 15:39
 
Fecha de Ingreso: enero-2015
Mensajes: 48
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Búsqueda no me arroja resultados

Cita:
Iniciado por wunderwaffen077 Ver Mensaje
No puedes usar el "IF", si te retornar más de un registro.

Puedes usar el while o foreach, para mostrar varios registros.


Pegame todo el código, haber que si lo modifico.
Este es el php

Código PHP:
<?php
$conexion 
mysql_connect("localhost""root""") or die("Problemas en la conexion");
mysql_select_db("escuela"$conexion) or die("Problemas en la selección de la base de datos");
$registros mysql_query("select CedulaE,Apellidos,Nombres,Grado,Nacionalidad,Fecha_Nac,LugarNac,Dir_Hab,Telefono,Sangre,Enfermedad,Alergia,CedulaPadre,ApeP,NombreP,DireccionP,TeleP,OcupaP,TrabP,CedulaMadre,ApeM,NomM,DireM,TeleM,OcuM,TrabaM,CedR,ApeR,NomR,DireR,TeleR,OcuR,TrabaR from alumnos where CedulaE='$_POST[CedulaEscolar]'"$conexion) or die("Problemas en el select:" .mysql_error());
echo 
"<table>";
if (
$reg mysql_fetch_array($registros)) { 
echo 
"<tr>";
echo 
"<td>Cedula Escolar:" $reg['CedulaE'] . "</td>";
echo 
"<td>Apellidos:" $reg['Apellidos'] . "</td>";
echo 
"<td>Nombres:" $reg['Nombres'] . "</td>";
echo 
"<td>Grado:" $reg['Grado'] . "</td>";
echo 
"<td>Nacionalidad:" $reg['Nacionalidad'] . "</td>";
echo 
"<td>Fecha de nacimiento:" $reg['Fecha_Nac'] . "</td>";
echo 
"<td>Lugar de nacimiento:" $reg['LugarNac'] . "</td>";
echo 
"<td>Dirección de habitación:" $reg['Dir_Hab'] . "</td>";
echo 
"<td>Teléfono:" $reg['Telefono'] . "</td>";
echo 
"<td>Tipo de sangre:" $reg['Sangre'] . "</td>";
echo 
"<td>Enfermedades:" $reg['Enfermedad'] . "</td>";
echo 
"<td>Alergias:" $reg['Alergia'] . "</td>";
echo 
"<td>Cedula del padre:" $reg['CedulaPadre'] . "</td>";
echo 
"<td>Apellidos del padre:" $reg['ApeP'] . "</td>";
echo 
"<td>Nombres del padre:" $reg['NombreP'] . "</td>";
echo 
"<td>Dirección del padre:" $reg['DireccionP'] . "</td>";
echo 
"<td>Teléfono del padre:" $reg['TeleP'] . "</td>";
echo 
"<td>Ocupación del padre:" $reg['OcupaP'] . "</td>";
echo 
"<td>Dirección de trabajo del padre:" $reg['TrabP'] . "</td>";
echo 
"<td>Cédula de la madre:" $reg['CedulaMadre'] . "</td>";
echo 
"<td>Apellidos de la madre:" $reg['ApeM'] . "</td>";
echo 
"<td>Nombres de la madre:" $reg['NomM'] . "</td>";
echo 
"<td>Dirección de la madre:" $reg['DireM'] . "</td>";
echo 
"<td>Teléfono de la madre:" $reg['TeleM'] . "</td>";
echo 
"<td>Ocupación de la madre:" $reg['OcuM'] . "</td>";
echo 
"<td>Dirección de trabajo de la madre:" $reg['TrabM'] . "</td>";
echo 
"<td>Cédula del representante:" $reg['CedR'] . "</td>";
echo 
"<td>Apellidos del representante:" $reg['ApeR'] . "</td>";
echo 
"<td>Nombres de del representante:" $reg['NomR'] . "</td>";
echo 
"<td>Dirección del representante:" $reg['Direr'] . "</td>";
echo 
"<td>Teléfono del representante:" $reg['TeleR'] . "</td>";
echo 
"<td>Ocupación del representante::" $reg['OcuR'] . "</td>";
echo 
"<td>Dirección de trabajo del representante::" $reg['TrabaR'] . "</td>";
echo 
"<tr>";

 else {
echo 
"Cedula Escolar No registrada .";
}
echo 
"<table>";
mysql_close($conexion);
?>
  #13 (permalink)  
Antiguo 17/12/2015, 15:46
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 11 meses
Puntos: 20
Respuesta: Búsqueda no me arroja resultados

Cita:
Iniciado por mordvinia Ver Mensaje
Listo, en realidad era más fácil de lo mque creía. No se enviaba PorCedulaEscolar sino CedulaEscolar, , ¿se envía el id o el name del campo del formulario?
Siempre tienes que recoger los valores mediante el atributo "name", el atributo "id" se ocupa para otros fines
  #14 (permalink)  
Antiguo 17/12/2015, 15:53
 
Fecha de Ingreso: enero-2015
Mensajes: 48
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Búsqueda no me arroja resultados

Comprendido. Gracias

Etiquetas: fecha, mysql, registro, resultados, select, tabla
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 22:38.