Foros del Web » Programando para Internet » PHP »

Consulta a Varios campos.

Estas en el tema de Consulta a Varios campos. en el foro de PHP en Foros del Web. Hola, bueno nosé si aqui es el lugar indicado para mi consulta. Tengo una tabla con 3 campos en los cuales hago una consulta con ...
  #1 (permalink)  
Antiguo 05/11/2009, 20:22
 
Fecha de Ingreso: marzo-2009
Ubicación: San Lorenzo - PY
Mensajes: 31
Antigüedad: 15 años, 1 mes
Puntos: 1
Consulta a Varios campos.

Hola, bueno nosé si aqui es el lugar indicado para mi consulta.
Tengo una tabla con 3 campos en los cuales hago una consulta con un form y una caja de texto. Ahora bien el problema es que cuando por ejemplo pongo Juan, me trae el primer juan que encuentra, no me lo trae todo. Por otro lado cuando intento buscar Juan Perez.. me dice que no hay resultados.
Copio y pego el codigo en cuestión para ver si me pueden ayudar!!
Gracias!!

Código PHP:
<?php
#Campos en lo que se va a buscar la información.
$campos=array("nombre""apellido""telefono");
$numelementos=count($campos); #toma el número de campos y los guarda para usarlos despues.
$bandera "si"#bandera que indica si se encontró la palabra.
#Se realiza un recorrido por cada campo de la tabla.
for($i=0$i $numelementos$i++){  
    
$campoac $campos[$i]; #Se guarda el campo actual.
    
$a=$_POST['nombre']; #Se guarda la palabra a buscar.
        
if($a==false){
            echo 
"<b>Escriba una palabra para realizar la búsqueda</b> \n";
            echo 
"</html></body> \n";
            exit;
        }
    
#Si el usuario ingresó la palabra, entonces se conecta a la BBDD
    
$link=mysql_connect("localhost","root","");
    
mysql_select_db("agenda",$link);
    
#Busca en un campo, la palabra y lo ordena por un campo especifico.
    
$sql "SELECT * FROM nombres WHERE $campoac LIKE '%{$_POST['nombre']}%'";
    
$result=mysql_query($sql$link);
    
#Si se encontré la palabra.
    
if($row=mysql_fetch_array($result)){
        
mysql_field_seek($result,0);
        while(
$field=mysql_fetch_field($result)){
            echo 
"<td><b></b></td> \n";
        }
        
        
#Se imprimen los resultados.
        
echo "<table width=\"431\">
        <tr><td width=\"425\"><table width=\"100%\"><tr><strong>
        <td width=\"205\"><div align=\"center\"><font color=\"#0099FF\">Nombre:</font></strong>"
.$row['nombre']."</td>
        <td width=\"206\"><strong><font color=\"#0099FF\">Apellido:</font></strong>"
.$row['apellido']."</td>
        </tr></table></td></tr><tr>
        <td><strong><font color=\"#0099FF\">Teléfono:</font></strong>"
.$row['telefono']."</div></td></tr>
        </table>"
;
        echo 
"<p></p> \n";
        echo 
"<hr>";
        
$bandera="no"#se cambia la bandera porque se econtró la palabra.
    
}
    while(
$row mysql_fetch_array($result)){
        echo 
"</table> \n";
    }
}
#Si no se encontró la palabra.
if($bandera=="si"){ 
    echo 
"<p>No se encontró ningún registro</p>\n";
}    
?>
  #2 (permalink)  
Antiguo 05/11/2009, 20:32
Avatar de zaetoner  
Fecha de Ingreso: noviembre-2007
Ubicación: La ciudad de México
Mensajes: 607
Antigüedad: 16 años, 5 meses
Puntos: 30
Respuesta: Consulta a Varios campos.

en realidad te pone eso por que eso es lo que isiste, lo que quieres hacer esta bien solo que el codigo esta mal colo cado por ejemplo: por que defines que si encontro la palabra si todavia no haces la consulta, chekalo y nos cuentas
__________________
...
  #3 (permalink)  
Antiguo 05/11/2009, 20:44
 
Fecha de Ingreso: marzo-2009
Ubicación: San Lorenzo - PY
Mensajes: 31
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Consulta a Varios campos.

Es que primero hago la cosulta para saber si la palabra existe...

Código PHP:
#Si el usuario ingresó la palabra, entonces se conecta a la BBDD
    
$link=mysql_connect("localhost","root","");
    
mysql_select_db("agenda",$link);
    
#Busca en un campo, la palabra y lo ordena por un campo especifico.
    
$sql "SELECT * FROM nombres WHERE $campoac LIKE '%{$_POST['nombre']}%'";
    
$result=mysql_query($sql$link); 
Lo que pasa es que me trae resultados solo cuando pongo por ejemplo pepito, pero me trae el primer pepito que encuentra nomás, si hay tres pepitos con apellidos distintos solo trae uno y también cuando pongo pepito gonzalez me dice que no hay datos cuando si los hay :(
  #4 (permalink)  
Antiguo 05/11/2009, 21:07
Avatar de zaetoner  
Fecha de Ingreso: noviembre-2007
Ubicación: La ciudad de México
Mensajes: 607
Antigüedad: 16 años, 5 meses
Puntos: 30
Respuesta: Consulta a Varios campos.

$link=mysql_connect("localhost","root","");
mysql_select_db("agenda",$link);
#Busca en un campo, la palabra y lo ordena por un campo especifico.
$sql = "SELECT * FROM nombres WHERE $campoac LIKE '%{$_POST['nombre']}%'";
$result=mysql_query($sql, $link);

while($row=mysql_fetch_array($result)){

echo "<table width=\"431\">
<tr><td width=\"425\"><table width=\"100%\"><tr><strong>
<td width=\"205\"><div align=\"center\"><font color=\"#0099FF\">Nombre:</font></strong>".$row['nombre']."</td>
<td width=\"206\"><strong><font color=\"#0099FF\">Apellido:</font></strong>".$row['apellido']."</td>
</tr></table></td></tr><tr>
<td><strong><font color=\"#0099FF\">Teléfono:</font></strong>".$row['telefono']."</div></td></tr>
</table>";
echo "<p></p> \n";
echo "<hr>";


}
__________________
...
  #5 (permalink)  
Antiguo 06/11/2009, 06:54
 
Fecha de Ingreso: marzo-2009
Ubicación: San Lorenzo - PY
Mensajes: 31
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Consulta a Varios campos.

Bueno sigo con el mismo problema....
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 04:13.