Inicio > MySQL > pedroip > matriz de datos,filas por columnas

matriz de datos,filas por columnas

Experto:
Usuario:
Fecha: 10/04/2006
Valoración: (3,00 sobre 5) Categoría: MySQL
30/03/2006
interbytes, usuario preguntando en MySQL
Usuario
agradezco tu atencion y ayuda.
1. tengo una BD con 3 campos(codigo,imagen,descricion).
2.generalmente los visualizo linea por linea los registros de cada una de ellas.(adjunto script).
3. Pero deseo solo mostrar en una tabla de 3 columnas lo siguiente:
para la fila 1:
codigo1 en columna1
codigo2 en columna2
codigo3 en columna3

para la fila 2:
codigo4 en columna1
codigo5 en columna2
codigo6 en columna3
...etc
la finalidad es hacer una matriz de datos de 3 columnas con el numero de filas variable y paginado, este paso ya lo tengo.



el script es el siguiente:

<html>
<head>
<title>Subida de casos</title>
<link rel="stylesheet" type="text/css" href="../css/styles.css">
</head>
<body leftmargin="0" topmargin="0">
<table width="400" border="0" cellspacing="3" cellpadding="0">


<?php
include("conexion.php");
$link=Conectarse();

//inicializo el criterio y recibo cualquier cadena que se desee buscar
$criterio = "";
//if ($_GET["criterio"]!=""){
// $txt_criterio = $_GET["criterio"];
// $criterio = " WHERE marca like $txt_criterio ";
//}

//Limito la busqueda
$TAMANO_PAGINA = 5;

//examino la página a mostrar y el inicio del registro a mostrar
$pagina = $_GET["pagina"];
if (!$pagina) {
$inicio = 0;
$pagina=1;
}
else {
$inicio = ($pagina - 1) * $TAMANO_PAGINA;
}

//miro a ver el número total de campos que hay en la tabla con esa búsqueda

$ssql = "SELECT * FROM joyeria_galeria ";
//. $criterio;
$rs = mysql_query($ssql);
$num_total_registros = mysql_num_rows($rs);

//calculo el total de páginas
$total_paginas = ceil($num_total_registros / $TAMANO_PAGINA);

//pongo el número de registros total, el tamaño de página y la página que se muestra
//construyo la sentencia SQL

$ssql = "SELECT * FROM joyeria_galeria LIMIT $inicio , $TAMANO_PAGINA";
$rs = mysql_query($ssql);


while($row=mysql_fetch_array($rs))
{
echo"<tr align=\"center\">"
. " <td width=\"137\">$row[1]</td>"

. " <td width=\"133\"></td>"


. " <td width=\"118\"></td>"


. " </tr>"
."";

}


echo "</table>";

//cerramos el conjunto de resultados y la conexión con la base de datos
mysql_free_result($rs);
mysql_close($link);

echo "<p>";

//muestro los distintos índices de las páginas, si es que hay varias páginas
echo "<table border='0' cellpadding='0' cellspacing='1' width='58%'>";
echo " <tr>";
echo " <td width='20%' valign='top' align='left' bgcolor='#54CA1C' class=\"cuerpo\">";
if ($total_paginas > 1){
for ($i=1;$i<=$total_paginas;$i++){
if ($pagina == $i)
//si muestro el índice de la página actual, no coloco enlace
echo $pagina . " ";
else
//si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página
echo "<a href='consultax_galeria_edit.php?pagina=" . $i . "&criterio=" . $txt_criterio . "'>" . $i . "</a> ";
}
}

echo "</td>";
echo " </tr>";
echo "</table>";

//muestro un formulario para marcar el criterio


echo "<font face='Verdana' size='1'>Número de Casos: " . $num_total_registros . "</font>"."<br>";
echo "<font face='Verdana' size='1'>Se muestran páginas de " . $TAMANO_PAGINA . " Casos</font>"."<br>";
echo "<font face='Verdana' size='1'>Mostrando la página " . $pagina . " de " . $total_paginas ."</font>"."<p>";

?>

</body>
</html>

gracias por la ayuda

freddy
03/04/2006
interbytes, experto respondiendo en MySQL
Experto
No lo he testado pereo creo que funciona ....
espero te sea de ayuda.


<html>
<head>
<title>Subida de casos</title>
<link rel="stylesheet" type="text/css" href="../css/styles.css">
</head>
<body leftmargin="0" topmargin="0">


<table width="400" border="0" cellspacing="3" cellpadding="0">

<?php
include("conexion.php");
$link=Conectarse();

//inicializo el criterio y recibo cualquier cadena que se desee buscar
$criterio = "";

//Limito la busqueda
$TAMANO_PAGINA = 5;

//examino la página a mostrar y el inicio del registro a mostrar
$pagina = $_GET["pagina"];
if (!$pagina)$pagina=0;

//miro a ver el número total de campos que hay en la tabla con esa búsqueda

$ssql = "SELECT * FROM joyeria_galeria ";
$rs = mysql_query($ssql);
$num_total_registros = mysql_num_rows($rs);
$total_paginas = ceil($num_total_registros / $TAMANO_PAGINA);

//calculo el total de páginas
$total_paginas = ceil($num_total_registros / $TAMANO_PAGINA);

$posicion=pagina*$TAMANO_PAGINA*3;
$final_posicion=((pagina+1)*$TAMANO_PAGINA*3)-1;
while ($posicion<=$final_posicion)
{
echo("<tr>");
for ($X=1;$X<=3;$X++)
{
if ($posicion>=$num_total_registros)
$Valor='---';
else
$Valor=mysql_result($ssql,$posicion,'codigo');
echo("<td>$Valor</td>");
$inicio_posicion++;
}
echo("</tr>");
}

//Visualización de la páginación
echo("<br>");
for ($X=1;$X<$total_paginas;$X++)
{
if ($X==$pagina)
{
echo(" $X |">;
}
else
{
echo("<a href='consultax_galeria_edit.php?pagina=". $X-1 .">")
echo(" $X </a>|">;
}
$X++;
}
echo("<br>");

?>

</table>

</body>
</html>
10/04/2006
interbytes, experto respondiendo en MySQL
Experto
!! El codigo no es bueno !!
10/04/2006
interbytes, usuario preguntando en MySQL
Usuario
Bien. Una respuesta aceptable.
Más opciones
Enlaces patrocinados