Foros del Web » Programando para Internet » PHP »

solo puedo ver el primer registro de la busqueda

Estas en el tema de solo puedo ver el primer registro de la busqueda en el foro de PHP en Foros del Web. Saludos amigos tengo un problemilla y es que tengo un pequeño buscador en PHP y solo me devuelve el primer resultado de la busqueda, me ...
  #1 (permalink)  
Antiguo 06/11/2008, 18:57
 
Fecha de Ingreso: noviembre-2008
Ubicación: En algún lugar del disco duro.
Mensajes: 95
Antigüedad: 15 años, 5 meses
Puntos: 0
solo puedo ver el primer registro de la busqueda

Saludos amigos tengo un problemilla y es que tengo un pequeño buscador en PHP y solo me devuelve el primer resultado de la busqueda, me explico si tengo tres registros mario alberto, mario humberto y mario y realizo la busqueda con la palabra mario solo me muestra el primer registro o sea solo mario alberto y yo necesito que me muestre los 3 resultados, gracias por su ayuda amigos.

Código PHP:
<form action="buscar.php" method="post">
Buscar: <input name="palabra">
<input type="submit" name="buscador" value="Buscar">
</form>

<?php
if ($_POST['buscador'])
{
// Tomamos el valor ingresado
$buscar $_POST['palabra'];
 
// Si está vacío, lo informamos, sino realizamos la búsqueda
if(empty($buscar))
{
echo 
"No se ha ingresado una cadena a buscar";
}

else{

//seleccion de registros
$sql "SELECT * FROM clientes, movimientos WHERE cli_nombre like '%$buscar%' ORDER BY cli_nombre DESC";

$result mysql_query($sql);
 
// Tomamos el total de los resultados
$total mysql_num_rows($result);
?>

<table style="border:1px #FF0000; color:#000000; width:1000px; text-align:center;">
<tr style="background:#FFD700;">
    <td>Cedula o NIT</td>
    <td>Nombre Del Cliente</td>
    <td>Direccion Del Cliente</td>
    <td>Descripcion Del Articulo</td>
    <td>Valor Del Articulo</td>
    <td>Fecha Compra</td>
    <td>Cantidad Abonada</td>
    <td>Fecha De Abono</td>
</tr> 

<?php
// Imprimimos los resultados
if ($row mysql_fetch_array($result)){
    echo 
"         <td>".$row['cli_id']."</td>";
    echo 
"         <td>".$row['cli_nombre']."</td>";
    echo 
"         <td>".$row['cli_direccion']."</td>";
    echo 
"         <td>".$row['des_articulo']."</td>";
    echo 
"         <td>".$row['valor_articulo']."</td>";
    echo 
"         <td>".$row['cli_fecha_compra']."</td>";
    echo 
"         <td>".$row['mov_abono']."</td>";
    echo 
"         <td>".$row['mov_fecha']."</td>";
    
              
do {
?>


<?php
} while ($row mysql_fetch_array($result));

} else {
// En caso de no encontrar resultados
echo "No se encontraron resultados para: <b>$buscar</b>";
}
}
}
?>
  #2 (permalink)  
Antiguo 06/11/2008, 19:05
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: solo puedo ver el primer registro de la busqueda

Pero qué estás haiencdo ahí?

Lee el manual con respecto a la función mysql_fetch_array().

Para mostrar resultados necesitas crear un ciclo que tenga como condición el valor devuelto por esa función. Por lo tanto, no debes usar if, sino while. Además, no tiene sentido el do...while que pones dentro del if. Y finalmente, el else al último imagino que debe ejecutarse si no hay resultados. Mira la función mysql_num_rows()

Saludos,
  #3 (permalink)  
Antiguo 06/11/2008, 19:45
 
Fecha de Ingreso: noviembre-2008
Ubicación: En algún lugar del disco duro.
Mensajes: 95
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: solo puedo ver el primer registro de la busqueda

me pueden ayudar con una respuesta un poco mas clara, gracias de antemano
  #4 (permalink)  
Antiguo 06/11/2008, 19:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: solo puedo ver el primer registro de la busqueda

a parte de que repites posts... mmmm.....

Código PHP:
while ($row mysql_fetch_array($result))
{
  
// aqui es como si fuera tu IF
  // porque un IF solo saca un resultado
  // mientras (while significa MIENTRAS)
  // un while saca los que tenga... y no solo uno

así es claro?


suerte!



--

osea, la razón por la cual solo imprimes un resultado... es porque tu lo programaste asi, si quisieras mostrar mas de uno... debes usar un ciclo, y no un bloque sencillo...

aun así lee el manual de PHP, sírvete...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 06/11/2008, 20:03
 
Fecha de Ingreso: noviembre-2008
Ubicación: En algún lugar del disco duro.
Mensajes: 95
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: solo puedo ver el primer registro de la busqueda

Gracias amigo y perdona lo del post repetido pero me equivoque y un error lo comete cualquiera y solo queria algo de colaboracion y no molestar a nadie un poco de tolerancia con los que somos nuevos aca, en todo caso gracias por todo.
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 09:29.