Foros del Web » Programando para Internet » PHP »

Devolver unos datos de base de datos en una tabla HTML

Estas en el tema de Devolver unos datos de base de datos en una tabla HTML en el foro de PHP en Foros del Web. Hola amigos, soy muy novato en programación PHP, y tengo un portal web prefabricado, y ese portal tiene una página de enlaces que se van ...
  #1 (permalink)  
Antiguo 12/06/2010, 10:35
Avatar de nani6to  
Fecha de Ingreso: noviembre-2007
Mensajes: 67
Antigüedad: 17 años
Puntos: 1
Devolver unos datos de base de datos en una tabla HTML

Hola amigos,
soy muy novato en programación PHP, y tengo un portal web prefabricado,
y ese portal tiene una página de enlaces que se van creando desde el admin...

El enlace que está en "echo" estaba metido en un div, pero yo lo he toqueteado para ver si en vez de un div podía meterlos en una tabla con tres celdas cada uno, para así no sacar un enlace debajo de otro, cuando hay sitio al lado para que salgan dos o más...

La pregunta es, como puedo hacer que salgan los datos en una tabla de html con las celdas que yo quiera y sin que se repitan los enlaces? Porque quiero que se distribuyan los enlaces por la pagina de tres en tres, o de cuatro en cuatro, porque hay espacio en blanco y todos estan alineados a la izquierda con titulos cortos...

Este es el código que ahora mismo tengo, aunque ya he dicho que lo he modificado un poco:

Código PHP:
<?php
$sql 
mysql_query("SELECT * FROM ava_links ORDER BY id asc");

while(
$row mysql_fetch_array($sql))    {
    
    echo 
'<a class="pagelinks" href="'.$row['url'].'" target="_blank" title="'.$row['description'].'">'.$row['name'].'</a>';

}
?>
Espero que puedan ayudarme, muchas gracias!
Un Saludo.
  #2 (permalink)  
Antiguo 12/06/2010, 11:17
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 15 años, 4 meses
Puntos: 66
Respuesta: Devolver unos datos de base de datos en una tabla HTML

mira si esta idea te sirve:

Código PHP:
$i=0;
echo 
"<table>";

while 
etc.{

$i++;

if(
$i==1)
echo
"<tr><td>tu código enlaces</td>";

if(
$i==2)
echo
"<td>tu código enlaces</td>";

if(
$i==3){
echo
"<td>tu código enlaces</td></tr>";
$i=0;}

}

echo 
"</table>"
__________________
Tu álbum de cromos online!!
  #3 (permalink)  
Antiguo 12/06/2010, 11:32
Avatar de nani6to  
Fecha de Ingreso: noviembre-2007
Mensajes: 67
Antigüedad: 17 años
Puntos: 1
Respuesta: Devolver unos datos de base de datos en una tabla HTML

perdona que pregunte, ya que soy algo novato,
tendria que declarar una nueva variable que se llame i y hacer lo que has hecho aparte del codigo que yo tengo?

O eso lo deberia hacer con la variable row que yo tengo?

Perdona mi ignorancia enserio,
es que no sé aplicarlo a lo que quiero,
espero tu respuesta y gracias por tu ayuda!
  #4 (permalink)  
Antiguo 12/06/2010, 11:40
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 15 años, 4 meses
Puntos: 66
Respuesta: Devolver unos datos de base de datos en una tabla HTML

esta es la idea, prueba a ver que tal

mira si esta idea te sirve:

Código PHP:
$i=0;
$sql mysql_query("SELECT * FROM ava_links ORDER BY id asc"); 
echo 
"<table>";

while (
$row mysql_fetch_array($sql)){

$i++;

if(
$i==1)
echo
"<tr><td><a class='pagelinks' href= '$row['url']' target='_blank' title= '$row['description']'>'$row['name']'</a></td>";

if(
$i==2)
echo
"<td><a class='pagelinks' href= '$row['url']' target='_blank' title= '$row['description']'>'$row['name']'</a></td>";

if(
$i==3){
echo
"<td><a class='pagelinks' href= '$row['url']' target='_blank' title= '$row['description']'>'$row['name']'</a></td></tr>";
$i=0;}

}

echo 
"</table>"
__________________
Tu álbum de cromos online!!
  #5 (permalink)  
Antiguo 12/06/2010, 11:46
Avatar de nani6to  
Fecha de Ingreso: noviembre-2007
Mensajes: 67
Antigüedad: 17 años
Puntos: 1
Respuesta: Devolver unos datos de base de datos en una tabla HTML

me devuelve un error:

Cita:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /includes/misc/links.php on line 12
He contado el documento desde la primera linea, y la linea 12 creo que es la del primer echo, no sé por que da ese error, no entiendo mucho de esto

Gracias por la ayuda
  #6 (permalink)  
Antiguo 12/06/2010, 11:54
Avatar de nani6to  
Fecha de Ingreso: noviembre-2007
Mensajes: 67
Antigüedad: 17 años
Puntos: 1
Respuesta: Devolver unos datos de base de datos en una tabla HTML

Perdón, ya lo solucioné, era un problema de comillas

Ahora si que funciona, ahora queda muchísimo mejor la verdad, aunque me gustaria darle un poquitin de separación a las columnas, porque aparecen algo pegados una columna con la otra, no sé si se podrá poner un simple width por ahi en medio, o como...

Un Saludo y muchisimas gracias por la ayuda de verdad
  #7 (permalink)  
Antiguo 12/06/2010, 11:58
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 15 años, 4 meses
Puntos: 66
Respuesta: Devolver unos datos de base de datos en una tabla HTML

Cita:
Iniciado por nani6to Ver Mensaje
Perdón, ya lo solucioné, era un problema de comillas

Ahora si que funciona, ahora queda muchísimo mejor la verdad, aunque me gustaria darle un poquitin de separación a las columnas, porque aparecen algo pegados una columna con la otra, no sé si se podrá poner un simple width por ahi en medio, o como...

Un Saludo y muchisimas gracias por la ayuda de verdad
Muchisimas de nada,

Saludos-)
__________________
Tu álbum de cromos online!!
  #8 (permalink)  
Antiguo 13/06/2010, 03:34
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 15 años, 4 meses
Puntos: 66
Respuesta: Devolver unos datos de base de datos en una tabla HTML

Falta un detalle para que la tabla se cierre correctamente dependiendo de donde acabe el ciclo del while, pongo la forma general por si fuese de interés:

Código PHP:
$i=0;
echo 
"<table>";

while (
código){

$i++;

if(
$i==1)
echo
"<tr><td>tu código enlaces</td>";

if(
$i==2)
echo
"<td>tu código enlaces</td>";

if(
$i==3){
echo
"<td>tu código enlaces</td></tr>";
$i=0;}

}

if(
$i==1)
echo
"<td></td><td></td></tr>";

if(
$i==2)
echo
"<td></td></tr>";

echo 
"</table>"
__________________
Tu álbum de cromos online!!
  #9 (permalink)  
Antiguo 13/06/2010, 03:37
Avatar de nani6to  
Fecha de Ingreso: noviembre-2007
Mensajes: 67
Antigüedad: 17 años
Puntos: 1
Respuesta: Devolver unos datos de base de datos en una tabla HTML

¿Le tengo que añadir eso del final?

Pero oye no entiendo por qué la tabla no se cierra bien, ni entiendo por qué le pones más <tr> y <td> vacíos.

Aunque bueno aqui el que entiende de programación eres tu
Un Saludo.
  #10 (permalink)  
Antiguo 13/06/2010, 03:42
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 15 años, 4 meses
Puntos: 66
Respuesta: Devolver unos datos de base de datos en una tabla HTML

Cita:
Iniciado por nani6to Ver Mensaje
¿Le tengo que añadir eso del final?

Pero oye no entiendo por qué la tabla no se cierra bien, ni entiendo por qué le pones más <tr> y <td> vacíos.

Aunque bueno aqui el que entiende de programación eres tu
Un Saludo.
Si, tienes que añadir solo esto fuera del while:
Código PHP:
if($i==1)
echo
"<td></td><td></td></tr>";

if(
$i==2)
echo
"<td></td></tr>"
Explicación:
La tabla tiene tres columnas, si se acaba el ciclo en la opción 1 la última fila quedaría con una columna nada más y no cerraría la fila, por eso fuera del ciclo le digo que si se ha quedado en la opción 1 añada dos columnas mas y cierre la fila. Lo mismo con la opción 2.

En cuanto a lo de entender de programación, aquí hay muchos entendidos y seguro que hay una opción mas elegante para hacer esto, yo hago lo que puedo.

Saludos
__________________
Tu álbum de cromos online!!
  #11 (permalink)  
Antiguo 13/06/2010, 03:44
Avatar de nani6to  
Fecha de Ingreso: noviembre-2007
Mensajes: 67
Antigüedad: 17 años
Puntos: 1
Respuesta: Devolver unos datos de base de datos en una tabla HTML

Ahh ya entiendo, tienes razón, bien pensado, Graciaas!
ahora mismo se lo añado

Etiquetas: devolver, html, tablas
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 17:08.