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>";
while( $sRows = mysql_fetch_array( $sQuery, MYSQL_NUM )){
$sHTML .= "<td>".$sRows[0]."</td>";
}
$sHTML .= "</tr>";
$sHTML .= "</table>";
return $sHTML;
}
No se como hacerlo, alguna idea?
# HTML
$sHTML .= "<table border='1'>";
$i = 2;
while( $sRows = mysql_fetch_array( $sQuery, MYSQL_NUM )){
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
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;
while( $sRows = mysql_fetch_array( $sQuery, MYSQL_NUM ))
{
$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.
siempre seran 4 categorias? las que mecionas lujas,latas,partes electricas,aseo????
Espero que te sirva de esta manera ;D:
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 );
@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.
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
$link = mysql_connect("127.0.0.1", "root", "pass");
mysql_selectdb("ejemplo", $link);
function ejemplo()
{
//
//SQL
$sql = mysql_query("SELECT id,categoria, imageurl FROM categoria");
//Iinicio la variable $i
$i = 0;
while($row = mysql_fetch_array($sql, MYSQL_ASSOC)):
$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