Foros del Web » Programando para Internet » PHP »

Mostrar datos de MySQL, en un tabla HTML - PHP

Estas en el tema de Mostrar datos de MySQL, en un tabla HTML - PHP en el foro de PHP en Foros del Web. Hola, Estimados tengo una duda miren estoy aprendiendo PHP y deseo crear y cargar una tabla Html desde una bd mysql, esto es para cargar ...
  #1 (permalink)  
Antiguo 11/04/2012, 19:26
Avatar de thekillerbrain  
Fecha de Ingreso: abril-2012
Mensajes: 22
Antigüedad: 12 años, 7 meses
Puntos: 0
Mostrar datos de MySQL, en un tabla HTML - PHP

Hola, Estimados tengo una duda miren estoy aprendiendo PHP y deseo crear y cargar una tabla Html desde una bd mysql, esto es para cargar los menus de un usuario, la idea esque llege a tres columnas e inserte una fila nueva y continue ahi el llenado:

esta es la consulta Sql
SELECT p.COD_UNIDAD, p.COD_USUARI, p.IND_ESTADO, u.NOM_UNIDAD, m.NOM_MENU
FROM tm_tpriunidad p, tm_tunidad u, tm_tmenu m
WHERE p.COD_USUARI = 'EGUERRA'
AND p.IND_ESTADO = 'V'
AND p.COD_UNIDAD = u.COD_UNIDAD
AND p.COD_UNIDAD = m.COD_UNIDAD

y de da como resultado (solo nesecito que me carge en la table lo que esta en NOM_MENU)

COD_UNIDAD COD_USUARI IND_ESTADO NOM_UNIDAD_________ NOM_MENU
BOD---------EGUERRA----- V --------LOGISTICA DE BODEGA INVENTARIO DIARIO
BOD---------EGUERRA----- V --------LOGISTICA DE BODEGA ORDEN DE TRABAJO

mi codigo php

Código PHP:
 <table>
 <tr>
 <?php
 
include 'conex.php';
 
$user $_SESSION['admin'] ;
 
$consulta mysql_query("SELECT p.COD_UNIDAD, p.COD_USUARI, p.IND_ESTADO, u.NOM_UNIDAD, m.NOM_MENU FROM tm_tpriunidad p, tm_tunidad u, tm_tmenu m WHERE p.COD_USUARI = '$user' AND p.IND_ESTADO = 'V' AND p.COD_UNIDAD = u.COD_UNIDAD AND p.COD_UNIDAD = m.COD_UNIDAD") or die(mysql_error());
 
$datos mysql_fetch_array($consulta);
 if(
mysql_num_rows($consulta) > 0)
 {
 
$acumulador mysql_num_rows($consulta);
 
$cuenta 0;
 while (
$datos mysql_fetch_array($consulta)) {
 
$cuenta++;
 if (
$cuenta%== 1) echo "</tr><tr>";
 
?>
 <td><?php echo $datos['m.NOM_MENU'];?></td>
 <?php
 
}
 }
 else
 {
 
$acumulador 'No existe privilegio cargado';
 
$_SESSION['acum'] =$acumulador;
 }
 
?>
 </tr></table>
Me arroja este error:
Notice: Undefined index: m.NOM_MENU in C:\wamp\www\46\portal.php on line 96
Corresponde a -->
Código PHP:
<td><?php echo $datos['m.NOM_MENU'];?></td>
solo con los que tienen cargados datos lanza el error, con los que no me arroja bien el mensaje No existe privilegio cargado

Espero me puedan ayudar, de ante mano gracias
  #2 (permalink)  
Antiguo 11/04/2012, 19:29
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 16 años, 3 meses
Puntos: 139
Respuesta: Mostrar datos de MySQL, en un tabla HTML - PHP

La forma de pedir el dato es solo con el nombre del campo

Código PHP:
Ver original
  1. <td><?php echo $datos['NOM_MENU'];?></td>
  #3 (permalink)  
Antiguo 11/04/2012, 19:51
Avatar de thekillerbrain  
Fecha de Ingreso: abril-2012
Mensajes: 22
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Mostrar datos de MySQL, en un tabla HTML - PHP

Gracias, ahi me funciono, ahora debo ver como cargar todos los datos que me arroja la sql en la tabla si sabes como puedo ir agregando uno por uno te agradeceria la ayudita :D
  #4 (permalink)  
Antiguo 11/04/2012, 21:28
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 15 años, 2 meses
Puntos: 44
Respuesta: Mostrar datos de MySQL, en un tabla HTML - PHP

esta linea para que al ocupas???

Código PHP:
Ver original
  1. if ($cuenta%3 == 1) echo "</tr><tr>";

trata quitandola
__________________
Desde hace tiempo estoy esperandote... bienvenido mi pequeño Diego!!!
  #5 (permalink)  
Antiguo 12/04/2012, 06:35
Avatar de thekillerbrain  
Fecha de Ingreso: abril-2012
Mensajes: 22
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Mostrar datos de MySQL, en un tabla HTML - PHP

Cita:
Iniciado por p414 Ver Mensaje
esta linea para que al ocupas???

Código PHP:
Ver original
  1. if ($cuenta%3 == 1) echo "</tr><tr>";

trata quitandola
Esa la uso para que cuente 3 columnas y me inserte una fila, ahora me muestra los datos, pero solo apartir del 2 registro no se porque, siendo que el acomulador dice que hay 5 valores encontrados me muestra 4 omitiendo el 1º

esta es la consulta Sql
SELECT p.COD_UNIDAD, p.COD_USUARI, p.IND_ESTADO, u.NOM_UNIDAD, m.NOM_MENU
FROM tm_tpriunidad p, tm_tunidad u, tm_tmenu m
WHERE p.COD_USUARI = 'EGUERRA'
AND p.IND_ESTADO = 'V'
AND p.COD_UNIDAD = u.COD_UNIDAD
AND p.COD_UNIDAD = m.COD_UNIDAD

Resultado sql

COD_UNIDAD COD_USUARI IND_ESTADO NOM_UNIDAD ................NOM_MENU
BOD ..................EGUERRA ....V ....................LOGISTICA DE BODEGA TRAZABILIDAD
BOD ..................EGUERRA ....V ....................LOGISTICA DE BODEGA INVENTARIO DIARIO
BOD ..................EGUERRA ....V ....................LOGISTICA DE BODEGA ORDEN DE TRABAJO
BOD ..................EGUERRA ....V ....................LOGISTICA DE BODEGA ENTREGA DE EQUIPAMIENTO
BOD ..................EGUERRA ....V ....................LOGISTICA DE BODEGA VISUALIZADOR DE ANALISIS

resultado por web

INVENTARIO DIARIO ------| ORDEN DE TRABAJO |ENTREGA DE EQUIPAMIENTO|
VISUALIZADOR DE ANALISIS |

Enque me puedo estar equivocando :S

Última edición por thekillerbrain; 12/04/2012 a las 06:43
  #6 (permalink)  
Antiguo 12/04/2012, 22:44
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 15 años, 2 meses
Puntos: 44
Respuesta: Mostrar datos de MySQL, en un tabla HTML - PHP

Código PHP:
Ver original
  1. while ($datos = mysql_fetch_array($consulta)) {
  2.  $cuenta++;


el incremento de $cuenta ponlo hasta el final, no al inicio del bucle
__________________
Desde hace tiempo estoy esperandote... bienvenido mi pequeño Diego!!!
  #7 (permalink)  
Antiguo 13/04/2012, 08:07
Avatar de thekillerbrain  
Fecha de Ingreso: abril-2012
Mensajes: 22
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Mostrar datos de MySQL, en un tabla HTML - PHP

Cita:
Iniciado por thekillerbrain Ver Mensaje
Esa la uso para que cuente 3 columnas y me inserte una fila, ahora me muestra los datos, pero solo apartir del 2 registro no se porque, siendo que el acomulador dice que hay 5 valores encontrados me muestra 4 omitiendo el 1º

esta es la consulta Sql
SELECT p.COD_UNIDAD, p.COD_USUARI, p.IND_ESTADO, u.NOM_UNIDAD, m.NOM_MENU
FROM tm_tpriunidad p, tm_tunidad u, tm_tmenu m
WHERE p.COD_USUARI = 'EGUERRA'
AND p.IND_ESTADO = 'V'
AND p.COD_UNIDAD = u.COD_UNIDAD
AND p.COD_UNIDAD = m.COD_UNIDAD

Resultado sql

COD_UNIDAD COD_USUARI IND_ESTADO NOM_UNIDAD ................NOM_MENU
BOD ..................EGUERRA ....V ....................LOGISTICA DE BODEGA TRAZABILIDAD
BOD ..................EGUERRA ....V ....................LOGISTICA DE BODEGA INVENTARIO DIARIO
BOD ..................EGUERRA ....V ....................LOGISTICA DE BODEGA ORDEN DE TRABAJO
BOD ..................EGUERRA ....V ....................LOGISTICA DE BODEGA ENTREGA DE EQUIPAMIENTO
BOD ..................EGUERRA ....V ....................LOGISTICA DE BODEGA VISUALIZADOR DE ANALISIS

resultado por web

INVENTARIO DIARIO ------| ORDEN DE TRABAJO |ENTREGA DE EQUIPAMIENTO|
VISUALIZADOR DE ANALISIS |

Enque me puedo estar equivocando :S
Modifique el incrementador, pero aun me muestra un registro menos... (el primero)

Codigo PHP

Código PHP:
            <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1 align="center">
             <tr>
                <?php
                    
include 'conex.php';
                    
$user $_SESSION['admin'] ;
                    
$consulta mysql_query("SELECT p.COD_UNIDAD, p.COD_USUARI, p.IND_ESTADO, u.NOM_UNIDAD, m.NOM_MENU, m.URL_IMAGEN, m.URL_DIRECCION FROM tm_tpriunidad p, tm_tunidad u, tm_tmenu m WHERE p.COD_USUARI = '$user' AND p.IND_ESTADO = 'V' AND p.COD_UNIDAD = u.COD_UNIDAD AND p.COD_UNIDAD = m.COD_UNIDAD") or die(mysql_error());
                    
$datos mysql_fetch_array($consulta);
                    if(
mysql_num_rows($consulta) > 0)
                    {
                        
$acumulador mysql_num_rows($consulta);
                        
$cuenta 0;
                        while (
$datos mysql_fetch_array($consulta)) 
                        {
                            
$ruta $datos['URL_IMAGEN'];
                            if (
$cuenta%== 1) echo "</tr><tr>";
                            
?>                   
                            
                            <tr><td style="background-color: rgb(255, 255, 255);" onmouseover="this.style.backgroundColor='#F3F3F3'" onmouseout="this.style.backgroundColor='#FFFFFF'" width="33%"><div class="Estilo2" align="center"><a href=<?php echo $datos['URL_DIRECCION'];?> class="greenlink" target=""><img src="<?php echo $ruta?>" border="0" height="32" width="32"><br><span><span id="dtx-highlighting-item" dtx-highlight-backgroundcolor="lime"><?php echo $datos['NOM_MENU'];?></span></span></a></div><br></td>
    
                        <?php
                        $cuenta
++;    
                        }
                    }
                    else
                    {
                        echo 
$acumulador 'No existe privilegio cargado';
                    }
                
?>
            </tr></table>
¿Que Podra ser ?
  #8 (permalink)  
Antiguo 13/04/2012, 09:03
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 15 años, 2 meses
Puntos: 44
Respuesta: Mostrar datos de MySQL, en un tabla HTML - PHP

Esta linea

Código PHP:
Ver original
  1. $acumulador = mysql_num_rows($consulta);

y

Código PHP:
Ver original
  1. if(mysql_num_rows($consulta) > 0)

hacen lo mismo y la variable $acumulador, no la ocupas ahi mas

y además tienes un "mysql_fetch_assoc" antes del bucle,

Código PHP:
Ver original
  1. $consulta = mysql_query("SELECT p.COD_UNIDAD, p.COD_USUARI, p.IND_ESTADO, u.NOM_UNIDAD, m.NOM_MENU, m.URL_IMAGEN, m.URL_DIRECCION FROM tm_tpriunidad p, tm_tunidad u, tm_tmenu m WHERE p.COD_USUARI = '$user' AND p.IND_ESTADO = 'V' AND p.COD_UNIDAD = u.COD_UNIDAD AND p.COD_UNIDAD = m.COD_UNIDAD") or die(mysql_error());
  2. $datos = mysql_fetch_array($consulta);
  3. if(mysql_num_rows($consulta) > 0)

Trata así:

Código PHP:
Ver original
  1. $consulta = mysql_query("SELECT p.COD_UNIDAD, p.COD_USUARI, p.IND_ESTADO, u.NOM_UNIDAD, m.NOM_MENU, m.URL_IMAGEN, m.URL_DIRECCION FROM tm_tpriunidad p, tm_tunidad u, tm_tmenu m WHERE p.COD_USUARI = '$user' AND p.IND_ESTADO = 'V' AND p.COD_UNIDAD = u.COD_UNIDAD AND p.COD_UNIDAD = m.COD_UNIDAD") or die(mysql_error());
  2. if(mysql_num_rows($consulta) > 0)
__________________
Desde hace tiempo estoy esperandote... bienvenido mi pequeño Diego!!!

Etiquetas: html, mysql, sql, tabla, usuarios
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 22:10.