Foros del Web » Programando para Internet » PHP »

Ordenar Resultados de la Búsqueda

Estas en el tema de Ordenar Resultados de la Búsqueda en el foro de PHP en Foros del Web. Hola, Tengo hecho un buscador con php y msql, me funciona bien, pero cuando muestra los resultados pues todos salen seguidos, uno debajo de otro, ...
  #1 (permalink)  
Antiguo 22/04/2011, 04:36
 
Fecha de Ingreso: marzo-2011
Ubicación: Barcelona
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Ordenar Resultados de la Búsqueda

Hola,
Tengo hecho un buscador con php y msql, me funciona bien, pero cuando muestra los resultados pues todos salen seguidos, uno debajo de otro, asi ocupan mucho espacio, pues yo quiero hacer que salgan los resultados en unas dos a tres columnas.
Aquí os paso la captura:
[URL="http://www.imagehosting.com/photo/captura-1?context=user#!/photo/captura-1?context=user"]http://www.imagehosting.com/photo/captura-1?context=user#!/photo/captura-1?context=user[/URL]
Aquí os paso el código:
Código:
//Consultar la base de dades
	if(isset($_POST['enviar'])) {
		$query = "SELECT * from llibres WHERE `{$_POST['buscaren']}` LIKE '%{$_POST['palaura']}%'";
		$result = mysql_query($query,$link);
		$found = false;
			while ($row = mysql_fetch_array($result)) {

$found = true;

echo "<p>";

foreach($row as $nombre_campo => $valor_campo) {


if(is_int($nombre_campo)) {

continue;

}

echo "<b>".$nombre_campo."</b> : ".$valor_campo."<br>";
}

echo "</p>";

}
		if(!$found) {
			echo "No s'ha trobat la paraula que buscas";
		}
	}
?>
Alguna idea ?
Gracias.
  #2 (permalink)  
Antiguo 22/04/2011, 06:30
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
Respuesta: Ordenar Resultados de la Búsqueda

Te dejo un script que hice yo hace tiempo para otra cosa, pero bueno, te lo adapté para que lo entiendas:


<table border="1">
<tr>
<?php

$i = 0;

while($i <= 20){

$resultado = $i % 5; // 5 es el número de columnas que quieres

if($resultado == 0 && $i != 0){
echo "</tr> <td> Número: ".$i."</td>";
}else{
echo "<td> Número: ".$i."</td>";
}

$i++;

}

?>
</tr>
</table>


Suerte

PD: perdona que no pueda ponerlo entre etiquetas PHP pero el % da problemas y lo toma como si fuese un comentario
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?

Última edición por Jask; 22/04/2011 a las 06:36
  #3 (permalink)  
Antiguo 22/04/2011, 06:58
 
Fecha de Ingreso: marzo-2011
Ubicación: Barcelona
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Ordenar Resultados de la Búsqueda

Cita:
Iniciado por Jask Ver Mensaje
Te dejo un script que hice yo hace tiempo para otra cosa, pero bueno, te lo adapté para que lo entiendas:


<table border="1">
<tr>
<?php

$i = 0;

while($i <= 20){

$resultado = $i % 5; // 5 es el número de columnas que quieres

if($resultado == 0 && $i != 0){
echo "</tr> <td> Número: ".$i."</td>";
}else{
echo "<td> Número: ".$i."</td>";
}

$i++;

}

?>
</tr>
</table>


Suerte

PD: perdona que no pueda ponerlo entre etiquetas PHP pero el % da problemas y lo toma como si fuese un comentario
Muchas Gracias por la respuesta es lo que me referia, pero no se como adaptarlo a mi código, estaba intentando y no lo entiendo de todo (Soy principiante en PHP) me podrias ayudar adaptaralo aún mas a mi código ?
Gracias.
  #4 (permalink)  
Antiguo 22/04/2011, 08:35
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
Respuesta: Ordenar Resultados de la Búsqueda

Cita:
Iniciado por HaOx93 Ver Mensaje
Muchas Gracias por la respuesta es lo que me referia, pero no se como adaptarlo a mi código, estaba intentando y no lo entiendo de todo (Soy principiante en PHP) me podrias ayudar adaptaralo aún mas a mi código ?
Gracias.
Ok te explico un poco. El 20 sería el número de registros en la tabla. Tendrías que hacer un COUNT de lo que necesites y guardarlo en una variable, luego esa variable iría donde 20.

5 son las columnas que quieres, puedes poner que un usuario elija el número de columnas o hacerlo vos mismo según te de.

Por otro lado, ¿qué tipos de datos estás mostrando como resultado?
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #5 (permalink)  
Antiguo 22/04/2011, 08:43
 
Fecha de Ingreso: marzo-2011
Ubicación: Barcelona
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Ordenar Resultados de la Búsqueda

Cita:
Iniciado por Jask Ver Mensaje
Ok te explico un poco. El 20 sería el número de registros en la tabla. Tendrías que hacer un COUNT de lo que necesites y guardarlo en una variable, luego esa variable iría donde 20.

5 son las columnas que quieres, puedes poner que un usuario elija el número de columnas o hacerlo vos mismo según te de.

Por otro lado, ¿qué tipos de datos estás mostrando como resultado?
Gracias por la respuesta
Ya es que yo quiero mostrar estos datos:
http://www.imagehosting.com/photo/captura-1?context=user
y no se como hacerlo, de la forma que me has ensenyado tu me iria muy bien, pero no se como decirlo en código.
Gracias.
  #6 (permalink)  
Antiguo 22/04/2011, 08:50
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
Respuesta: Ordenar Resultados de la Búsqueda

Si los quieres mostrar como la imagen no hay mucho lío. Prueba así:

Código PHP:
<?php
//Consultar la base de dades
    
if(isset($_POST['enviar'])) {
        
$query "SELECT * from llibres WHERE `{$_POST['buscaren']}` LIKE '%{$_POST['palaura']}%'";
        
$result mysql_query($query,$link);
        
$found false;
            while (
$row mysql_fetch_array($result)) {

$found true;

echo 
"<table border='1'>";

foreach(
$row as $nombre_campo => $valor_campo) {

    if(
is_int($nombre_campo)) {
        continue;
    }

    echo 
"<tr>";
    echo 
"    <td>";
    echo 
"        <b>".$nombre_campo."</b>: ";
    echo 
"    </td>";
    echo 
"    <td>";
    echo         
$valor_campo;
    echo 
"    </td>";
    echo 
"</tr>";
}

echo 
"</table>";

}
        if(!
$found) {
            echo 
"No s'ha trobat la paraula que buscas";
        }
    }
?>

Lo he tabulado para que puedas verlo mejor :)

Si ya lo que quieres son varias columnas, aparte de las 2 que viene por defecto ya sería más lío, pero si solo quieres como aparece en la imagen no vas a tener mucho más problema.

Probá y me decís

Suerte
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #7 (permalink)  
Antiguo 22/04/2011, 09:06
 
Fecha de Ingreso: marzo-2011
Ubicación: Barcelona
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Ordenar Resultados de la Búsqueda

Cita:
Iniciado por Jask Ver Mensaje
Si los quieres mostrar como la imagen no hay mucho lío. Prueba así:

Código PHP:
<?php
//Consultar la base de dades
    
if(isset($_POST['enviar'])) {
        
$query "SELECT * from llibres WHERE `{$_POST['buscaren']}` LIKE '%{$_POST['palaura']}%'";
        
$result mysql_query($query,$link);
        
$found false;
            while (
$row mysql_fetch_array($result)) {

$found true;

echo 
"<table border='1'>";

foreach(
$row as $nombre_campo => $valor_campo) {

    if(
is_int($nombre_campo)) {
        continue;
    }

    echo 
"<tr>";
    echo 
"    <td>";
    echo 
"        <b>".$nombre_campo."</b>: ";
    echo 
"    </td>";
    echo 
"    <td>";
    echo         
$valor_campo;
    echo 
"    </td>";
    echo 
"</tr>";
}

echo 
"</table>";

}
        if(!
$found) {
            echo 
"No s'ha trobat la paraula que buscas";
        }
    }
?>

Lo he tabulado para que puedas verlo mejor :)

Si ya lo que quieres son varias columnas, aparte de las 2 que viene por defecto ya sería más lío, pero si solo quieres como aparece en la imagen no vas a tener mucho más problema.

Probá y me decís

Suerte
Gracias otra vez por la respuesta
Ahora sale así:
http://www.imagehosting.com/photo/captura2-1?context=user
Pues eso ya se parece a lo que quiero conseguir, pero lo ideal seria poner unas dos columnas (una por izquierda y otra por la derecha) por que sino todo sale seguido y asi ocupa demasiado espacio.
Pero dices que esto ya seria mas complicado, no ?
Bueno si no se puede pues asi ya esta bien.
Gracias por todo :D
  #8 (permalink)  
Antiguo 22/04/2011, 09:26
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
Respuesta: Ordenar Resultados de la Búsqueda

Cita:
Iniciado por HaOx93 Ver Mensaje
Gracias otra vez por la respuesta
Ahora sale así:
http://www.imagehosting.com/photo/ca...1?context=user
Pues eso ya se parece a lo que quiero conseguir, pero lo ideal seria poner unas dos columnas (una por izquierda y otra por la derecha) por que sino todo sale seguido y asi ocupa demasiado espacio.
Pero dices que esto ya seria mas complicado, no ?
Bueno si no se puede pues asi ya esta bien.
Gracias por todo :D
Eso ya sería indagar entre el código que te pasé (el 1º) y lo que tienes. Prueba lo que te pasé e imagínate como lo aplicarías, teniendo en cuenta que hace cada parte de este :)

Suerte
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?

Etiquetas: resultados
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 17:37.