Foros del Web » Programando para Internet » PHP »

GRID con PHP y HTML

Estas en el tema de GRID con PHP y HTML en el foro de PHP en Foros del Web. Hola compañeros, les describo mi problema a ver si pueden darme alguna ayuda o sugerencia Tengo una especie de Grid creado con tablas,estoy haciendo una ...
  #1 (permalink)  
Antiguo 21/02/2011, 17:20
 
Fecha de Ingreso: enero-2011
Ubicación: Maracaibo
Mensajes: 179
Antigüedad: 13 años, 11 meses
Puntos: 2
Pregunta GRID con PHP y HTML

Hola compañeros, les describo mi problema a ver si pueden darme alguna ayuda o sugerencia

Tengo una especie de Grid creado con tablas,estoy haciendo una consulta a la base de datos y me muestra los datos ordenados en el GRID dejo el codigo para que chequeen la manera como hago el GRID:

Código PHP:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Listado de Productos</title>
        <link rel="stylesheet" type="text/css" href="css/estilos.css" />
        <link rel="stylesheet" type="text/css" href="css/paginacion.css" />
        
        
    </head>
    <body>
    <?php
    
include("conex.php");
    
    
$cantidad "SELECT COUNT(*) FROM dpinv";
    
$resultado mysql_query($cantidad);
    
$total mysql_result($resultado00); 
    
    
?>
    
    <div align="center"><strong> RESULTADO DE LA BUSQUEDA</strong> </div>
    <div align="center"><strong> LISTADO DE PRODUCTOS</strong> </div>
    <div align="center"> SE ENCONTRARON <strong> <?php echo $total ?> </strong> REGISTROS </div>    
    
      <?php
        $registros_por_pagina 
30;//Cantidad de registros que se mostraran por pagina
        
$total_paginas ceil($total $registros_por_pagina);//Numero total de paginas
        
$pagina intval($_GET['p']);//Pagina actual
        
if ($pagina || $pagina $total_paginas$pagina 1;
        
$offset = ($pagina 1) * $registros_por_pagina;//posicion
         
$limite " LIMIT $offset, $registros_por_pagina";//sentencia SQL que limita los registros
         //Aqui termina la paginacion
        
$result=mysql_query("SELECT    inv_filbmp,inv_codigo,inv_descri,inv_fchcre,inv_grupo,inv_estado FROM dpinv $limite"); 
        
//Quiery de Consulta
            
        
$resultado $result;
     
?>
    
    <div align="center"><p>
      <table cellpadding="0" cellspacing="0" border = '1' align="center" style="width:85%;border:1px solid white ;font-size:14px">
          <tr class="fondo">
            <td class="tabla" width="200" align="center">Imagen</td>
            <td class="tabla" align="center">Codigo</td>
            <td class="tabla" width="320" align="center">Descripción</td>
            <td class="tabla" align="center">Fecha de Creación</td>
            <td class="tabla" align="center">Grupo</td>
            <td class="tabla" align="center">Estado</td>
            
          </tr>
          <?php
            
//Mostramos los registros
            
while ($row mysql_fetch_array($resultado))
            {
            echo 
'<tr><td><a href><img src = "'.$row['0'].'"width="190" height="150"/></a></td><td align="center">'.$row['1'].
                 
'</td><td>'.$row['2'].'</td><td align="center">'.$row['3'].'</td><td align="center">'.$row['4'].
                 
'</td><td align="center">'.$row['5'].'</td></tr>';
            }        
            
            
$display_pages=10;//Numero de links para paginas que se mostraran
 
            
echo "<a title='Inicio' id='paginado' href='?p=1'> << Inicio </a> ";//Inicio
            
if ($pagina>1) echo "</a><a title='Anterior' id='paginado' href='?p=".($pagina-1)."'> << Anterior </a> "//Anterior
 
            
for ($i $pagina$i <= $total_paginas && $i <= ($pagina+$display_pages); $i++) {
              if (
$i == $pagina) {
              echo 
"<strong id='paginado'>$i   </strong> ";
              }
              else {
              echo 
"</a><a title='pagina $i' id='paginado' href='?p=$i'>$i</a>  ";
              }
            }
 
            if ((
$pagina+$display_pages)< $total_paginas) echo "...";
            if (
$pagina<$total_paginas) echo "<a title='Siguiente' id='paginado' href='?p=".($pagina+1)."'> Siguiente >>  ";//Siguiente
            
echo "<a title='Ultimo' id='paginado' href='?p=$total_paginas'> Ultimo >> </a>";//Ultima pagina
        
            
mysql_free_result($result);
            
?>
        </table>
    <p>
      <?php
        
        $display_pages
=10;//Numero de links para paginas que se mostraran
 
            
echo "<a title='Inicio' id='paginado' href='?p=1'><< Inicio </a> ";//Inicio
            
if ($pagina>1) echo "</a><a title='Anterior' id='paginado' href='?p=".($pagina-1)."'> << Anterior </a> "//Anterior
 
            
for ($i $pagina$i <= $total_paginas && $i <= ($pagina+$display_pages); $i++) {
              if (
$i == $pagina) {
              echo 
"<strong id='paginado'>$i  </strong>";
              }
              else {
              echo 
"</a><a title='page $i' id='paginado' href='?p=$i'>$i</a>  ";
              }
            }
 
            if ((
$pagina+$display_pages)< $total_paginas) echo "..."
            if (
$pagina<$total_paginas) echo "<a title='Siguiente' id='paginado' href='?p=".($pagina+1)."'> Siguiente >>  ";//Siguiente
            
echo "<a title='Ultimo' id='paginado' href='?p=$total_paginas'> Ultimo >> </a>";//Ultima pagina
        
        
        
?>
      </p>
    </div>
       <div align="center"></div>
</body>
</html>

A medida que la base de datos se va llenando se van agregandos los datos en este GRID, hasta aqui no tengo problemas.

La consulta son productos que se mostraran en la lista del GRID donde estan la imagen, el codigo, descripcion, fecha, grupo y estado.

Mi pregunta es como hago para que al darle click a la imagen o codigo del producto me lleve a una pagina donde me muestre la informacion detallada del producto.

Pienso que seria como otra consulta, pero aun no logro resolver este problema que tengo.

Espero haberme explicado bien y que puedan ayudarme.

Saludos
  #2 (permalink)  
Antiguo 21/02/2011, 17:25
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 14 años
Puntos: 51
Respuesta: GRID con PHP y HTML

Tenés un <a href> por fuera de la imagen, es así, usa un link que rodee la imagen y lo envias a otra página, pero pone la URL. Ej:

Código PHP:
Ver original
  1. while ($row = mysql_fetch_array($resultado))
  2.             {
  3.             echo '<tr><td><a href="detalle.php?id='.$row['0'].'"><img src = "'.$row['0'].'"width="190" height="150"/></a></td><td align="center">'.$row['1'].
  4.                  '</td><td>'.$row['2'].'</td><td align="center">'.$row['3'].'</td><td align="center">'.$row['4'].
  5.                  '</td><td align="center">'.$row['5'].'</td></tr>';
  6.             }

puse $row['0'] como ejemplo, sería el row donde está el id.
  #3 (permalink)  
Antiguo 21/02/2011, 18:34
 
Fecha de Ingreso: enero-2011
Ubicación: Maracaibo
Mensajes: 179
Antigüedad: 13 años, 11 meses
Puntos: 2
Respuesta: GRID con PHP y HTML

Hola walterdevel, gracias por tu respuesta.

Hice lo siguiente, yo tengo un PHP llamado consultar.php que ahi es donde se hace la consulta para el detalle del producto mediante un formulario donde se ingresa el codigo del producto.

En el codigo que modificaste hice lo siguiente:

Código PHP:

while ($row mysql_fetch_array($resultado))
            {
            echo 
'<tr><td><a href="consultar.php?INV_CODIGO='.$row['1'].'"><img src = "'.$row['0'].'"width="190" height="150"/></a></td><td align="center">'.$row['1'].
                 
'</td><td>'.$row['2'].'</td><td align="center">'.$row['3'].'</td><td align="center">'.$row['4'].
                 
'</td><td align="center">'.$row['5'].'</td></tr>';
            } 
INV_CODIGO es mi campo autoincremental y mi campo primario, pero al hacer click en la imagen me da el mensaje que yo le coloque cuando el producto no existe, te colocare aqui el codigo de consultar.php para que le des un vistazo:


Código PHP:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<link rel="stylesheet" type="text/css" href="css/estilos.css" />
<script language="JavaScript" type="text/javascript" src="js/ajax.js"></script>
</head>

<body>
<?php
        
include("conex.php");

$codbusqueda=$_POST['codbusqueda'];
$env=$_GET["env"];

        
//Ejecutamos la sentencia SQL
$result=mysql_query("select dpinv.INV_CODIGO, dpinv.INV_DESCRI, dpinv.INV_CODMAR, dpmarcas.MAR_DESCRI,  dpinv.INV_MODELO,                    dpinv.INV_MATERI, dpinv.INV_TACON, dpinv.INV_COLOR, dpinv.INV_FILBMP FROM dpinv,dpmarcas 
                    WHERE dpinv.INV_CODIGO = '$codbusqueda' AND    dpinv.INV_CODMAR = dpmarcas.MAR_CODIGO "
);

$row mysql_fetch_row($result);

$sql mysql_query("SELECT dpprecios.PRE_CODIGO, dpprecios.PRE_PRECIO, dpinv.INV_CODIGO FROM dpprecios,dpinv WHERE dpinv.INV_CODIGO = '$codbusqueda' AND dpprecios.PRE_CODIGO = dpinv.INV_CODIGO " );
$row1 mysql_fetch_row($sql);


$sql1 mysql_query("SELECT DPINV.INV_CODIGO,DPINV.INV_DESCRI,
                     ROUND(SUM(DPMOVINV.MOV_CANTID*MOV_FISICO*MOV_CXUND )) AS MOV_CANTID
                    ,SUM(DPMOVINV.MOV_CANTID*MOV_FISICO*MOV_CXUND ) AS ANTERIOR
                    ,SUM(IF(MOV_FISICO= 1,DPMOVINV.MOV_CANTID*MOV_CXUND,0)) AS ENTRADA 
                    ,SUM(IF(MOV_FISICO=-1,DPMOVINV.MOV_CANTID*MOV_CXUND,0)) AS SALIDA  
                    ,SUM(IF(MOV_FISICO= 1,DPMOVINV.MOV_TALL01*MOV_CXUND,0)) AS T1E 
                    ,SUM(IF(MOV_FISICO= 1,DPMOVINV.MOV_TALL02*MOV_CXUND,0)) AS T2E 
                    ,SUM(IF(MOV_FISICO= 1,DPMOVINV.MOV_TALL03*MOV_CXUND,0)) AS T3E 
                    ,SUM(IF(MOV_FISICO= 1,DPMOVINV.MOV_TALL04*MOV_CXUND,0)) AS T4E 
                    ,SUM(IF(MOV_FISICO= 1,DPMOVINV.MOV_TALL05*MOV_CXUND,0)) AS T5E 
                    ,SUM(IF(MOV_FISICO= 1,DPMOVINV.MOV_TALL06*MOV_CXUND,0)) AS T6E 
                    ,SUM(IF(MOV_FISICO= 1,DPMOVINV.MOV_TALL07*MOV_CXUND,0)) AS T7E  
                    ,SUM(IF(MOV_FISICO= 1,DPMOVINV.MOV_TALL08*MOV_CXUND,0)) AS T8E 
                    ,SUM(IF(MOV_FISICO= 1,DPMOVINV.MOV_TALL09*MOV_CXUND,0)) AS T9E 
                    ,SUM(IF(MOV_FISICO= 1,DPMOVINV.MOV_TALL10*MOV_CXUND,0)) AS T10E 
                    ,SUM(IF(MOV_FISICO= 1,DPMOVINV.MOV_TALL11*MOV_CXUND,0)) AS T11E 
                    ,SUM(IF(MOV_FISICO= 1,DPMOVINV.MOV_TALL12*MOV_CXUND,0)) AS T12E 
                    ,SUM(IF(MOV_FISICO= 1,DPMOVINV.MOV_TALL13*MOV_CXUND,0)) AS T13E 
                    ,SUM(IF(MOV_FISICO= 1,DPMOVINV.MOV_TALL14*MOV_CXUND,0)) AS T14E 
                    ,SUM(IF(MOV_FISICO=-1,DPMOVINV.MOV_TALL01*MOV_CXUND,0)) AS T1S 
                    ,SUM(IF(MOV_FISICO=-1,DPMOVINV.MOV_TALL02*MOV_CXUND,0)) AS T2S 
                    ,SUM(IF(MOV_FISICO=-1,DPMOVINV.MOV_TALL03*MOV_CXUND,0)) AS T3S 
                    ,SUM(IF(MOV_FISICO=-1,DPMOVINV.MOV_TALL04*MOV_CXUND,0)) AS T4S 
                    ,SUM(IF(MOV_FISICO=-1,DPMOVINV.MOV_TALL05*MOV_CXUND,0)) AS T5S 
                    ,SUM(IF(MOV_FISICO=-1,DPMOVINV.MOV_TALL06*MOV_CXUND,0)) AS T6S 
                    ,SUM(IF(MOV_FISICO=-1,DPMOVINV.MOV_TALL07*MOV_CXUND,0)) AS T7S 
                    ,SUM(IF(MOV_FISICO=-1,DPMOVINV.MOV_TALL08*MOV_CXUND,0)) AS T8S 
                    ,SUM(IF(MOV_FISICO=-1,DPMOVINV.MOV_TALL09*MOV_CXUND,0)) AS T9S 
                    ,SUM(IF(MOV_FISICO=-1,DPMOVINV.MOV_TALL10*MOV_CXUND,0)) AS T10S 
                    ,SUM(IF(MOV_FISICO=-1,DPMOVINV.MOV_TALL11*MOV_CXUND,0)) AS T11S 
                    ,SUM(IF(MOV_FISICO=-1,DPMOVINV.MOV_TALL12*MOV_CXUND,0)) AS T12S 
                    ,SUM(IF(MOV_FISICO=-1,DPMOVINV.MOV_TALL13*MOV_CXUND,0)) AS T13S 
                    ,SUM(IF(MOV_FISICO=-1,DPMOVINV.MOV_TALL14*MOV_CXUND,0)) AS T14S 
                   ,DPESCALAS.ESC_TALL01,DPESCALAS.ESC_TALL02,DPESCALAS.ESC_TALL03,DPESCALAS.ESC_TALL04,
                    DPESCALAS.ESC_TALL05,DPESCALAS.ESC_TALL06,DPESCALAS.ESC_TALL07,DPESCALAS.ESC_TALL08,
                    DPESCALAS.ESC_TALL09,DPESCALAS.ESC_TALL10,DPESCALAS.ESC_TALL11,DPESCALAS.ESC_TALL12,
                   DPESCALAS.ESC_TALL13,DPESCALAS.ESC_TALL14,DPMOVINV.MOV_ESCASO FROM DPINV 
                   LEFT JOIN DPMOVINV ON DPINV.INV_CODIGO=DPMOVINV.MOV_CODIGO  INNER JOIN DPESCALAS ON ESC_CODIGO=MOV_ESCASO  
                    WHERE dpinv.INV_CODIGO = '$codbusqueda' AND dpmovinv.MOV_CODIGO = '$codbusqueda' AND(DPMOVINV.MOV_CODALM= '001') 
                    AND (DPMOVINV.MOV_CODSUC= '000001') AND MOV_INVACT=1 AND MOV_FISICO<>0 AND NOT (INV_UTILIZ='R' OR INV_UTILIZ='S') 
                    GROUP BY INV_CODIGO,INV_DESCRI,MOV_ESCASO 
                    HAVING SUM(DPMOVINV.MOV_CANTID*MOV_FISICO)> '' ORDER BY DPINV.INV_CODIGO"
);

$existencia mysql_fetch_row($sql1);

if (
$row=="")
  {
    echo 
"<script>alert('Codigo no existe!')</script>";
    echo 
"<script> window.history.back(-1)</script>";
   }
   
 
mysql_free_result($result);
 
mysql_free_result($sql);
 
mysql_free_result($sql1);
 
  
?>

<table width="620" border="0" bordercolor="#FFFFFF" align="center">
    <tr>
      <td width="500"  bordercolor="#F0F0F0" class="fondo"><div align="center">
        <p><strong><span class="Estilo8">INVENTARIO</span></strong></p>
        </div></td>
    </tr>
  </table>
<table width="620" border="0" align="center">
  <tbody>
    <tr>
      <td colspan="5" class="fondo"><div align="center" class="Estilo12 Estilo9">RESULTADO DEL CÓDIGO: <strong><?php echo $codbusqueda?></strong></div></td>
    </tr>
    <tr>
      <!-- <form name='formulario' method='post' action='prueba.php' > -->
      <td width="106" bgcolor="#CCCCCC"><span class="Estilo17">
        <label>Codigo:</label>
      </span></td>
      <td colspan="1" bgcolor="#CCCCCC" class="inputbox"><strong> <?php echo $row[0]?></strong></td>
      <td width="180" rowspan="9" bgcolor="#CCCCCC" ><img src = "<?php echo $row[8?>" width="180" height="180" /></td>
    </tr>
    <tr>
      <td bgcolor="#CCCCCC">
        <label>Descripcion: </label>
      </td>
      <td colspan="1" rowspan="1" bgcolor="#CCCCCC" class="inputbox"><strong><?php echo $row[1]?></strong></td>
    </tr>
    <tr>
      <td bgcolor="#CCCCCC">Marca: </td>
      <td colspan="1" bgcolor="#CCCCCC" class="inputbox"><strong> <?php echo $row[3]?></strong></td>
    </tr>
    <tr>
      <td bgcolor="#CCCCCC">
        <label>Precio: </label>
      </td>
      <td colspan="1" bgcolor="#CCCCCC" class="inputbox"><strong>
          <?php 
                
if ($row1[1] == ""
                  { 
                   echo 
$row1[1] = "0.00"
                  } 
                  else 
                  {
                    echo 
$row1[1];
                  }
          
?>
          </strong></td>
    </tr>
    <tr>
      <td bgcolor="#CCCCCC">
        <label>Modelo: </label>
      </td>
      <td colspan="1" bgcolor="#CCCCCC" class="inputbox"><strong> <?php echo $row[4]?></strong></td>
    </tr>
    <tr>
      <td bgcolor="#CCCCCC">Material: </td>
      <td colspan="1" bgcolor="#CCCCCC" class="inputbox"><strong> <?php echo $row[5]?></strong></td>
    </tr>
    <tr>
      <td bgcolor="#CCCCCC">Tacon: </td>
      <td colspan="1" bgcolor="#CCCCCC" class="inputbox"><strong> <?php echo $row[6]?></strong></td>
    </tr>
    <tr>
      <td bgcolor="#CCCCCC">Color: </td>
      <td colspan="1" bgcolor="#CCCCCC" class="inputbox"><strong> <?php echo $row[7]?></strong></td>
    </tr>
    <tr>
      <td bgcolor="#CCCCCC">Existencia: </td>
      <td colspan="1" bgcolor="#CCCCCC" class="inputbox"><strong>
       <?php 
         
if ($existencia[2]=="" || $existencia[2]< "0" 
                  { 
                   echo 
$existencia[2] = "0"
                  } 
                  else 
                  {
                    echo 
$existencia[2];
                  }
         
         
?>
         </strong>
        </td>
    </tr>
    <tr>
      <td bgcolor="#CCCCCC" colspan="5" align="right">
        <input name="volver" type="button" value="Volver" onclick="window.history.back(-1)" class="boton"  />
      </td>
    </tr>
    
  </tbody>
</table>
</body>
</html>
Espero no sea muy largo y complejo las consultas.

Saludos
  #4 (permalink)  
Antiguo 22/02/2011, 08:39
 
Fecha de Ingreso: enero-2011
Ubicación: Maracaibo
Mensajes: 179
Antigüedad: 13 años, 11 meses
Puntos: 2
Respuesta: GRID con PHP y HTML

Hola walterdevel, ya pude solucionar el problema.

En la pagina que va contener el detalle del producto cambie esto:
Código PHP:
Ver original
  1. $codbusqueda=$_POST['codbusqueda'];

Por esto:
Código PHP:
Ver original
  1. $codbusqueda=$_GET['inv_codigo'];

Ya con esto me funciona correctamente, gracias por tu ayuda.

Etiquetas: grid, mysql
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 20:44.