Foros del Web » Programando para Internet » PHP »

Maquetar este resultado de MySQL

Estas en el tema de Maquetar este resultado de MySQL en el foro de PHP en Foros del Web. Hola amigos, Necesito urgentemente su ayuda, llevo dos dias tratando de hacer algo que no he podido lograr. Tengo una tabla ( $tabla ) en ...
  #1 (permalink)  
Antiguo 10/09/2012, 05:28
Avatar de insyse  
Fecha de Ingreso: abril-2005
Ubicación: Colombia
Mensajes: 206
Antigüedad: 19 años
Puntos: 5
Maquetar este resultado de MySQL

Hola amigos,

Necesito urgentemente su ayuda, llevo dos dias tratando de hacer algo que no he podido lograr.

Tengo una tabla ($tabla) en una bd MySQL ($base) con 5 campos ($c_nit, $c_codigo, c_cert, $c_fecha, $c_descr)

estoy haciendo esta consulta



Código PHP:
mysql_select_db($base,$conexion); 

$resultadomysql_query("SELECT c_codigo, c_cert, c_fecha, c_descr FROM $tabla WHERE c_nit=$ElNit ORDER BY c_fecha DESC LIMIT 0,30" ,$conexion); 
Hasta ahi todo va bien, pues me muestra la consulta que requiero.


Ahora necesito poder mostrar esta consulta en una tabla, pero adicionalmente necesito que el primer campo ($c_codigo) tenga un vinculo a una pagina dinamicamente (index.php?codigo=[el valor de $c_codigo])

Lo estoy haciendo asi, y me sale perfectamente la tabla, pero el vinculo me sale en cada campo y no me sirve, necesito que sea solo en el primer campo ($c_codigo) o en un campo adicional ej. VER, pero con el valor de ($c_codigo)

Código PHP:
echo "<table align=center border=1><tr><td>Código</td><td>Cert</td><td>Fecha</td><td>Desc</td>"

while (
$registro mysql_fetch_row($resultado)){ 
  echo 
"<tr>"
     foreach(
$registro as $clave){ 
     echo 
"<td>",$clave,"</td>";
     } 

echo 
"</table>"
Si alguien me puede ayudar a formatear este resultado como necesito, se lo agradeceria muchisimo.
__________________
.................................................. ...........................
No todos nacemos aprendidos !
  #2 (permalink)  
Antiguo 10/09/2012, 07:26
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Maquetar este resultado de MySQL

usa

foreach($registro as $key => $clave){

y compara si $key == 0 entonces concatena el <a></a>
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 10/09/2012, 10:02
Avatar de HackGhost  
Fecha de Ingreso: marzo-2012
Ubicación: En la pesadilla de mis enemigos
Mensajes: 114
Antigüedad: 12 años, 1 mes
Puntos: 23
Respuesta: Maquetar este resultado de MySQL

Modificando un poco el codigo que publicas y basandonos en la idea de maycolalvarez seria asi :
Código PHP:
Ver original
  1. echo "<table align=center border=1><tr><td>Código</td><td>Cert</td><td>Fecha</td><td>Desc</td>";
  2.  
  3. while ($registro = mysql_fetch_array($resultado)){ //mysql_fetch_array en vez de mysql_fetch_row para entender mejor
  4.   echo "<tr>";
  5.      foreach($registro as $key => $clave){
  6.             if($key=='$c_codigo'):                   //si es el primer campo
  7.                    echo '<td><a href="index.php?codigo='.$clave.'">"'.$clave.'</a></td>';  //se imprime como un link
  8.             else:
  9.                    echo '<td>'.$clave.'</td>';
  10.             endif;
  11.      }
  12.    echo "</tr>";// me parece que esto es necesario para cerrar cada fila
  13. }
  14. echo "</table>";


Y creo que eso es todo..
__________________
Recursos para diseñadores
lacatedradeboris.com
  #4 (permalink)  
Antiguo 10/09/2012, 10:20
Avatar de insyse  
Fecha de Ingreso: abril-2005
Ubicación: Colombia
Mensajes: 206
Antigüedad: 19 años
Puntos: 5
Respuesta: Maquetar este resultado de MySQL

Si me funciono perfecto, Mil gracias a los dos...
__________________
.................................................. ...........................
No todos nacemos aprendidos !
  #5 (permalink)  
Antiguo 10/09/2012, 10:36
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Maquetar este resultado de MySQL

@HackGhost le recuerdo que php no analiza variables dentro de comillas simples:

if($key=='$c_codigo'): //compara con la cadena $c_codigo

y de todas formas en dicho caso no hace falta ni usar comillas, solo para dejar claro el punto, saludos
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #6 (permalink)  
Antiguo 11/09/2012, 18:21
Avatar de insyse  
Fecha de Ingreso: abril-2005
Ubicación: Colombia
Mensajes: 206
Antigüedad: 19 años
Puntos: 5
Respuesta: Maquetar este resultado de MySQL

Reviviendolo, Una pregunta mas...

Y si ademas quisiera mostrar en la tabla HTML de resultado dos columnas adicionales, pero que no estan dentro de la consulta MySQL? Es decir si necesito que ademas de las columnas que me muestra por la consulta, necesitara insertar dos columnas más con algun valor constante?

Como podría hacer esto?
__________________
.................................................. ...........................
No todos nacemos aprendidos !
  #7 (permalink)  
Antiguo 11/09/2012, 18:57
 
Fecha de Ingreso: febrero-2012
Mensajes: 49
Antigüedad: 12 años, 2 meses
Puntos: 2
Respuesta: Maquetar este resultado de MySQL

Te recomiendo que para tu aplicación utilices la extensión "mysqli" dado que las funciones "mysql" están en proceso de deprecamiento, para que no tengas problemas en un futuro cercano.
Si podes hacer en POO mejor todavía.
Un abrazo!
__________________
@vindt89

Etiquetas: maquetar, mysql, registro, tabla, resultados
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 18:08.