Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Pedro Castillo Terrones en 24 Abril 2012, 05:09 am



Título: Otra consulta sobre php
Publicado por: Pedro Castillo Terrones en 24 Abril 2012, 05:09 am
Estimados,disculpen mi ignorancia pero no se como hacer esto

Esta es mi consulta
<?php
$query="SELECT * FROM tabla";
$result=mysql_query($query,$Conexion) or die("Error: ".mysql_error());
if(mysql_num_rows($result) > 0){
while($Rs=mysql_fetch_array($result)) {
?>
 
<tr>
<td><?php echo $Rs["nombre"]; ?></td>
<td><?php echo $Rs["fecha"]; ?> </td>
</tr>
 
<?php
}
?>

Este es mi resultado
(http://i1056.photobucket.com/albums/t379/achorao/cons03.jpg)

Yo quiero que mi resultado sea de esta manera:
(http://i1056.photobucket.com/albums/t379/achorao/cons04.jpg)
Que deberia hacer, por donde empiezo. Espero me puedan orientar para resolverlo
Gracias


Título: Re: Otra consulta sobre php
Publicado por: engel lex en 29 Abril 2012, 03:42 am
la opcion mas facil es algo asi:

1-. saca un array con solo las fechas (sin repetir)

para obtener sin repetir puedes decirle a la db "SELECT DISTINCT aqui_nombre_de_tu_columna FROM aqui_tu_tabla"

2-.imprime la fila de las fechas

3.- saca un array con solo los nombres (sin repetir)

4.- con un for recorre los nombres

5.- imprime el nombre

6.- dentro del for, pide las fechas asociadas a ese nombre ("where nombre")

7.- recorre cada resultado usando un array_search($resultado, $array_fechas) si es true entonces imprime una columna con x si no, una columna vacia...

8.- repite paso 7 hasta que tengas todas las columnas

9.- repite desde paso 4 hasta que hayas impreso todos los nombres

(no te escribo el código porque me da pereza XD pero con eso deberías poder resolver algo... )

creo que es el método mas simple sin caer en arrays asociativos, ni multidimensionales D: o en búsquedas super locas

si tienes alguna duda vuelve a preguntar :P