Autor
|
Tema: Un pequeño problema de lógica (Leído 3,071 veces)
|
Shell Root
|
Tengo lo siguiente, mysql> SELECT categoria, imgurl FROM categoria; +-------------------+----------------+ | categoria | imgurl | +-------------------+----------------+ | Lujos | lujos.jpg | | Latas | latas.jpg | | Aseo | aseo.jpg | | Partes Electricas | electricas.jpg | +-------------------+----------------+ 4 ROWS IN SET (0.00 sec)
Ahora dentro de PHP quiero que aparezca lo mismo en la siguiente estructura: +-------------------+-------------------+ | Lujos | Latas | +-------------------+-------------------+ | lujos.jpg | latas.jpg | | | | | | | +-------------------+-------------------+ | Aseo | Partes Electricas | +-------------------+-------------------+ | aseo.jpg | partes.jpg | | | | | | | +-------------------+-------------------+
Las columnas depende de un parámetro ingresado en la función. function sCategorias( $sColumnas ) { $sHTML = ""; $sSQL = ""; $sQuery = ""; # QUERY $sSQL = "SELECT categoria, imgurl FROM categoria;"; $sQuery = sExecQuery( $sSQL ); # HTML $sHTML .= "<table border='1'>"; $sHTML .= "<tr>"; $sHTML .= "<td>".$sRows[0]."</td>"; } $sHTML .= "</tr>"; $sHTML .= "</table>"; return $sHTML; }
No se como hacerlo, alguna idea?
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
bomba1990
|
# HTML $sHTML .= "<table border='1'>"; $i = 2; if($i == 2){$sHTML .= "<tr>";} $sHTML .= "<td>".$sRows[0]."</td>"; if($i == 2){$sHTML .= "</tr>";$i=0} $i++; } $sHTML .= "</table>"; return $sHTML;
asi, te lo deberia imprimir pero cada 2 salta de linea. lo hice rapidito, no lo probe
|
|
|
En línea
|
|
|
|
Shell Root
|
Thanks, pero así lo tenia no me funciona para la linea de la imagen. function sCategorias( $sColumnas ) { $sHTML = ""; $sSQL = ""; $sQuery = ""; # QUERY $sSQL = "SELECT categoria, imgurl FROM categoria;"; $sQuery = sExecQuery( $sSQL ); # HTML $sHTML .= "<table border='1'>"; $sHTML .= "<tr>"; $i = 0; { $sHTML .= "<td>".$sRows[0]."</td>"; $i++; if( $i == $sColumnas ) { $sHTML .= "</tr><tr>"; $i = 0; } } $sHTML .= "</tr>"; $sHTML .= "</table>"; return $sHTML; } print sCategorias( 2 );
OUTPUT:Lujos Latas Aseo Partes Electricas
Seguiré codeando un rato.
|
|
« Última modificación: 29 Marzo 2011, 06:11 am por Shell Root »
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
RedZer
Desconectado
Mensajes: 666
|
siempre seran 4 categorias? las que mecionas lujas,latas,partes electricas,aseo????
|
|
|
En línea
|
Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
|
|
|
whalther
Desconectado
Mensajes: 1
|
Espero que te sirva de esta manera : function sCategorias( $sColumnas ) { $sHTML = ""; $sSQL = ""; $sQuery = ""; # QUERY $sSQL = "SELECT categoria, imgurl FROM categoria;"; $sQuery = sExecQuery( $sSQL ); # HTML $sHTML .= "<table border='1'>"; $i = 1; while( $sRows = mysql_fetch_array( $sQuery)){ if($i==1){$sHTML .= '<tr>';} $sHTML .= "<td>".$sRows['categoria']."<br><img src='".$sRows['imgurl']."'></td>"; if($i==$sColumnas){$sHTML .= '</tr>';$i=0;} $i++; }//end while $sHTML .= "</table>"; return $sHTML; } print sCategorias( 2 );
|
|
« Última modificación: 29 Marzo 2011, 08:14 am por whalther »
|
En línea
|
|
|
|
Shell Root
|
@RedZer, no quizás existan más. @whalther, esperaría que fuese la última opción. Si miras mi segudo POST, espero que sea en tablas como el ejemplo que dí.
Hoy pensando, quizás pueda usar 2 arrays, sería más fácil manejarlo.
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
~ Yoya ~
Wiki
Desconectado
Mensajes: 1.125
|
Bueno, creo que pude terminarlo xD mysql> DESCRIBE categoria; +-----------+------------------+------+-----+---------+----------------+ | FIELD | TYPE | NULL | KEY | DEFAULT | Extra | +-----------+------------------+------+-----+---------+----------------+ | id | INT(10) UNSIGNED | NO | PRI | NULL | AUTO_INCREMENT | | categoria | VARCHAR(30) | NO | MUL | NULL | | | imageurl | VARCHAR(30) | NO | | NULL | | +-----------+------------------+------+-----+---------+----------------+ 3 ROWS IN SET (0.00 sec)
<?php function ejemplo() { // //SQL $sql = mysql_query("SELECT id,categoria, imageurl FROM categoria"); //Iinicio la variable $i $i = 0; $i += 1; $tab[$i] = array($row['categoria'], $row['imageurl']); endwhile;//Fin del while return $tab;// Retorno un array } ?> <?php $results = ejemplo(); //Debe ser multiplo de 2, ya que la tabla es // 2xN(numero que sea multiplo de 2) //Ej: 2x2, 2x4, 2x8 $show = 4; ?> <table border="1"> <tbody> <?php for($i = 2; $i <= $show; $i+= 2): ?> <tr> <td><?php echo $results[$i-1][0] ?></td> <td><?php echo $results[$i][0] ?></td> </tr> <tr> <td><?php echo $results[$i-1][1] ?></td> <td><?php echo $results[$i][1] ?></td> </tr> <?php endfor; ?> </tbody> </table>
Salida: Lujos Latas lujos.jpg latas.jpg Aseo Partes Electricas aseo.jpg electricas.jpg
|
|
« Última modificación: 30 Marzo 2011, 00:09 am por ~ Yoya ~ »
|
En línea
|
Mi madre me dijo que estoy destinado a ser pobre toda la vida. Engineering is the art of balancing the benefits and drawbacks of any approach.
|
|
|
|
|