Foros del Web » Programando para Internet » PHP »

Problema con mysql_fetch_field en php para mostrar los datos en un buscador! Ayuuda!!

Estas en el tema de Problema con mysql_fetch_field en php para mostrar los datos en un buscador! Ayuuda!! en el foro de PHP en Foros del Web. Buenos día a todos!! Esperando que se encuentren bien.... Y que porfa me ayuden.. es que soy nueva y me cuesta esto... les comento que ...
  #1 (permalink)  
Antiguo 16/07/2007, 09:10
 
Fecha de Ingreso: junio-2007
Ubicación: Barquisimeto-Venezuela
Mensajes: 96
Antigüedad: 16 años, 10 meses
Puntos: 0
Exclamación Problema con mysql_fetch_field en php para mostrar los datos en un buscador! Ayuuda!!

Buenos día a todos!! Esperando que se encuentren bien.... Y que porfa me ayuden.. es que soy nueva y me cuesta esto... les comento que estoy haciendo un buscador en php y mysql.. y bueno no se me da lo que quiero.. anexo el codigo

Código PHP:
<?php
include("conec.php");
$link=conectarse();

$campos=array("estado","longitud","latitud");//campos a mostrar de la tabla region

$numecampo=count($campos);//guarda el numero de campo

$a=$_POST['buscador'];//guardamos la palabra que se buscara

if ($a !="")
{    
    for (
$i=0;$i<$numecampo;$i++)//realizaremos el recorrido de la busqueda de cada tabla
    
{
    
$campoac=$campos[$i];//guardamos el campo actual
    
    
$resultado=mysql_query("select estado, estacion, longitud, latitud, direccion, generador,                 cia_electrica, telefono_cia, nro_medidor, nro_cliente, nro_contrato from region where $campoac    like '%".$_POST['buscador']."%' and estatus='Operativa'",$link); 

   if(
$row=mysql_fetch_array($resultado))
        {            
        
mysql_field_seek($resultado,0);
        
        while (
$field mysql_fetch_field($resultado))
        {
        echo 
"<td><b></b></td> \n";//se supone que aqui me imprime los campos y no lo hace
        
}
        do{
        echo 
"<table>";
        echo 
"<tr>";
        echo 
"<td width='AUTO'>".$row['estado']."</td>";
        echo 
"<td width='AUTO'>".$row['estacion']."</td>";
        echo 
"<td width='AUTO'>".$row['longitud']."</td>";
        echo 
"<td width='AUTO'>".$row['latitud']."</td>";
        echo 
"<td width='AUTO'>".$row['direccion']."</td>";
        echo 
"<td width='AUTO'>".$row['generador']."</td>";
        echo 
"<td width='AUTO'>".$row['cia_electrica']."</td>";
        echo 
"<td width='AUTO'>".$row['telefono_cia']."</td>";
        echo 
"<td width='AUTO'>".$row['nro_medidor']."</td>";
        echo 
"<td width='AUTO'>".$row['nro_cliente']."</td>";
        echo 
"<td width='AUTO'>".$row['nro_contrato']."</td>";
        echo 
"</tr>";
        echo 
"</table>";
        echo 
"<p> </p> \n";
        echo 
"<hr>"
        }
        while (
$row=mysql_fetch_array($resultado));
        echo 
"</table> \n";
        }
//fin del if 2do
    
}//fin del for
    
if($row!=mysql_fetch_array($resultado)) 
    {    
    echo 
"<p>¡No se ha encontrado ningún registro!</p> \n";//se supone que aqui me imprime si no ha encontrado coincidencia y tampoco lo hace 
    
echo "</html></body> \n";
    } 
}
//fin del if 1ro
else 

echo 
"<p>Debe Especificar su Busqueda</p>\n"


?>
Bueno entonces aqui tenemos la cuestion necesito que me salga la tabla con las coincidencias con los nombres de los campos en la primera fila y no lo hace, para esto use un mysql_fetch_field, pero unicamente me imprime la tabla con los resultados sin los campos, otra cosa es que cuando no hay coincidencias queda la pantalla en blanco no se si se puede hacer esto :"if($row!=mysql_fetch_array($resultado)) " que fue colocarlo distinto de, no se si es valido, es que si lo introduzco dentro del for me repite "No se ha encontrado ningún registro!" muchas veces por eso lo saque del for, revisen los comentarios que le coloque please... y bueno esto es lo que quiero porfa ayuuuuuda y gracias por adelantado..
  #2 (permalink)  
Antiguo 16/07/2007, 12:49
 
Fecha de Ingreso: junio-2007
Ubicación: Barquisimeto-Venezuela
Mensajes: 96
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema con mysql_fetch_field en php para mostrar los datos en un buscador! Ayuu

La verdad es que me urge esto... alguien que me ayude please!!!!????
Gracias...
  #3 (permalink)  
Antiguo 16/07/2007, 13:00
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 20 años, 11 meses
Puntos: 60
Re: Problema con mysql_fetch_field en php para mostrar los datos en un buscador! Ayuu

Tal vez no es necesario hacer ese for, para la busqueda en los campos que va a usar Like.. tal vez con algunos OR.. te simplificarias el proceso en la consulta, algo como..

Código PHP:
$resultado=mysql_query("
SELECT estado, estacion, longitud, latitud, direccion, generador,                 cia_electrica, telefono_cia, nro_medidor, nro_cliente, nro_contrato 
FROM region 
WHERE longitud  LIKE '%"
.$_POST['buscador']."%' 
OR longitud  LIKE '%"
.$_POST['buscador']."%' 
OR estado  LIKE '%"
.$_POST['buscador']."%' 
OR latitud  LIKE '%"
.$_POST['buscador']."%' 
AND estatus='Operativa'"
,$link); 
Despues de esto.. necesitas saber si hubo alguna coincidencia osea que si hay al menos 1 registro..

Código PHP:
//si es diferente de 0 quiere decir que si hay resultados.. entonces muestras tus datos..
if(mysql_num_rows($resultado)!=0)
{
//aqui sacas tus datos..
} else
{
//aqui sacas que no hubo resultados..
echo "<p>¡No se ha encontrado ningún registro!</p> \n";

__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
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 11:21.