Foros del Web » Programando para Internet » PHP »

Ayuda con Mysql, mostrar resultados en diferentes filas

Estas en el tema de Ayuda con Mysql, mostrar resultados en diferentes filas en el foro de PHP en Foros del Web. hola amigos, miren soy medio novato en esto del mysql pero aprendo rápido... verán mi consulta seguramente sea sencilla para quien sepa un poco.... agradecería ...
  #1 (permalink)  
Antiguo 07/07/2008, 17:22
 
Fecha de Ingreso: julio-2008
Mensajes: 4
Antigüedad: 15 años, 9 meses
Puntos: 0
Ayuda con Mysql, mostrar resultados en diferentes filas

hola amigos, miren soy medio novato en esto del mysql pero aprendo rápido... verán mi consulta seguramente sea sencilla para quien sepa un poco.... agradecería desde ya cualquier respuesta que me pudieran dar y que me ayudara en el proceso de resolucion del problema....

tengo un script .php que esto editando, es un portal de trabajos y en la portada principal aparecen por defecto los 3 ultimos trabajos publicados.... en el codigo está esto...

$sql_query = "
SELECT * FROM employer
WHERE
employer_status = 'approved' AND
employer_status_email = 'approved' AND
employer_status_featured = 'Y' AND
employer_date_expired > '$date_database'
ORDER BY RAND()
LIMIT 0, 3
";

Hasta aquí todo bien, funciona perfectamente y lo que viene a decir es que se recoja de la base de datos un listado de aquellos que estan aprobados, tienen el email aprobado, no han caducado y que escupa un maximo de 3 resultados aleatorios....

Ahora bien, todo funciona perfecto pero si cambio el limit a 4 , es decir,

LIMIT 0, 4

me salen 4 resultados pero en la misma fila de la pagina principal donde esta incrustada la tabla, y a mi me gustaria que salieran por ejemplo 2 filas de 2 resultados cada una, en lugar de 1 sola porque ademas me descuadra todo....

¿Cómo puedo hacer? ¿Se puede a través de una consulta Mysql pedir que muestre los listados, por ejemplo, en una tabla de 2 filas y de 2 columnas cada una, total los 4 que se piden? o por el contrario eso es algo que hay que hacer desde el php? Y cómo?

Muchísimas gracias por su tiempo y respuestas.

Un abrazo
  #2 (permalink)  
Antiguo 07/07/2008, 18:44
 
Fecha de Ingreso: julio-2008
Mensajes: 9
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Ayuda con Mysql, mostrar resultados en diferentes filas

No se si entiendo muy bien la pregunta, pero de todas maneras si creas una consulta en php ejm: $sql = "SELECT * FROM nom_tabla WHERE condicion";
da como resultado un listado de datos existentes en esa tabla, si quieres minimizar la consulta indica que campos quieres ver ejem: $sql = "SELECT campo1. campo2 FROM nom_tabla WHERE condicion ";

Espero que esa sea tu duda, no tienes que darles limites de búsqueda, los límites los puedes utilizar utilizando la condicion, creo que seria mejor y no olvides despues de utilizar la consulta liberarla con mysql_free_result($sql);

agur y hasta la proxima
  #3 (permalink)  
Antiguo 07/07/2008, 21:04
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Exclamación Respuesta: Ayuda con Mysql, mostrar resultados en diferentes filas

Ya he reportado este mensaje al foro PHP y, si no me equivoco, creo que puedo responder en PHP incluyendo en mi respuesta el icono de reporte. Si no es este el método que debe emplearse en estos casos, pido disculpas a los moderadores y les ruego que me digan todos los pasos que debo seguir en situaciones como esta.

Es muy fácil hacer lo que quieres con PHP y tags HTML.
El código sería este: (he puesto signo del tanto por ciento en lugar del signo porque el editor no parece mostrarlo bien).
Código PHP:
<?php
$conexion 
mysql_connect('localhost','user','tuclave');
mysql_query ("SET NAMES 'utf8'");//yo utilizo utf-8.
mysql_select_db("nombrebase"$conexion);
$query1="SELECT campo from tabla limit 4";
$res1=mysql_query($query1);
$numcol 2;
$x=0;
echo 
'<table>';
while (
$carga1=mysql_fetch_array($res1)) {
if (
$x signotantoporciento $numcol==0) {echo '<tr><td>'.$carga1['campo'].'</td>';} elseif ($x signotantoporciento $numcol==$numcol 1) {echo '<td>'.$carga1['campo'].'</td></tr>';} else {echo '<td>'.$carga1['campo'].'</td>';} $x++;}
echo 
'</table>';
?>
Uso un contador $x que voy incrementando en uno cada vez que avanzo un registro en el bucle; dependiendo del módulo (resto de una división entera) y si el resultado de ese módulo es 0, coloco las etiquetas de comienzo de fila y columna, dato y final de columna; y si no es 0, coloco las etiquetas de comienzo de columna, texto, final de columna y final de fila para que coloque en la columna final o en las centrales. Si pones en $numcol el número de columnas que deseas... verás el resultado

Última edición por jurena; 08/07/2008 a las 09:57
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 23:23.