Foros del Web » Programando para Internet » PHP »

capturar id de determinada fila

Estas en el tema de capturar id de determinada fila en el foro de PHP en Foros del Web. Hola tengo una tabla que se llena mediante una consulta mysql que muestra registros y en cada fila al costado tiene un boton que al ...
  #1 (permalink)  
Antiguo 10/12/2008, 13:51
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
capturar id de determinada fila

Hola tengo una tabla que se llena mediante una consulta mysql que muestra registros y en cada fila al costado tiene un boton que al hacer clic manda a otra pagina y muestra los detalles del registro seleccionado.

Asi lleno mi tabla:

Código PHP:
<form name="lista" id="lista" action="anuncio_detalle.php" method="post"><table width="580" border="0" cellpadding="0" cellspacing="0">
                <tr>
                  <td width="2" rowspan="3" bgcolor="#00892F"></td>
                  <td height="2" bgcolor="#00892F"></td>
                  <td width="2" rowspan="3" bgcolor="#00892F"></td>
                </tr>
                <tr>
                  <td>
                    <table width="576" border="0" cellpadding="0" cellspacing="0">
<?php
//PREGUNTAMOS SI EXISTEN REGISTROS
if($num>0){
?>
                        <tr>
                          <td align="center" bgcolor="#61A54A"><table width="65" border="0" cellpadding="0" cellspacing="0">
                              <tr>
                                <td>Anuncio</td>
                                <td><div id="anuncioup" class="btnLista">
                                  <button name="btn_up" type="submit" id="bnuevo" class="btnLista">
                                    <table width="0" border="0" cellspacing="0" cellpadding="0">
                                      <tr>
                                        <td><img src="images/iconos/arrow_up.gif" width="9" height="8" /></td>
                                      </tr>
                                    </table>
                                    </button>
                                </div></td>
                              </tr>
                          </table></td>
                          <td width="1" bgcolor="#00892F"></td>
                          <td align="center" bgcolor="#61A54A"><table width="60" border="0" cellpadding="0" cellspacing="0">
                              <tr>
                                <td>Rubro</td>
                                <td><div id="anuncioup" class="btnLista">
                                  <button name="btn_up" type="submit" id="bnuevo" class="btnLista">
                                    <table width="0" border="0" cellspacing="0" cellpadding="0">
                                      <tr>
                                        <td><img src="images/iconos/arrow_up.gif" width="9" height="8" /></td>
                                      </tr>
                                    </table>
                                    </button>
                                </div></td>
                              </tr>
                          </table></td>
                          <td width="1" bgcolor="#00892F"></td>
                          <td align="center" bgcolor="#61A54A"><table width="100" border="0" cellpadding="0" cellspacing="0">
                              <tr>
                                <td>Fecha Registro </td>
                                <td><div id="anuncioup" class="btnLista">
                                  <button name="btn_up" type="submit" id="bnuevo" class="btnLista">
                                    <table width="0" border="0" cellspacing="0" cellpadding="0">
                                      <tr>
                                        <td><img src="images/iconos/arrow_up.gif" width="9" height="8" /></td>
                                      </tr>
                                    </table>
                                    </button>
                                </div></td>
                              </tr>
                          </table></td>
                          <td width="1" bgcolor="#00892F"></td>
                          <td align="center" bgcolor="#61A54A">Logo</td>
                          <td width="1" bgcolor="#00892F"></td>
                          <td width="70" align="center" bgcolor="#61A54A">Ver</td>
                        </tr>
                        <?php
          
//BUSQUEDA DE LOS REGISTROS DE LA EMPRESA DEL CLIENTE
         
for ($i=0$i<$num$i++) {
        
$idempresa=mysql_result($rs,$i,"empresa_id");
        
$nombre=mysql_result($rs,$i,"empresa_nombre");
        
$categoria=mysql_result($rs,$i,"categoria_nombre");
        
$fecha=mysql_result($rs,$i,"empresa_fecha_registro");
        
$imagen=mysql_result($rs,$i,"empresa_img_nombre");
                                
//CON ESTO CAPTURO EL ID DE LOS REGISTROS POR FILA
        
$_SESSION["idempresa"]=$idempresa;
        
$codempresa=$_SESSION["idempresa"];
      
?>
                        <tr>
                          <td height="25" align="center"><?php echo $nombre;  ?>//AQUI PONGO EL ID PARA VERIFICAR<?php echo $codempresa;  ?></td>
                          <td bgcolor="#00892F"></td>
                          <td align="center"><?php echo $categoria;  ?></td>
                          <td bgcolor="#00892F"></td>
                          <td align="center"><?php echo $fecha;  ?></td>
                          <td bgcolor="#00892F"></td>
                          <td height="40" align="center"><img src="<?php echo "../images/empresa/".$imagen?>" width="30" height="30" /></td>
                          <td bgcolor="#00892F"></td>
                          <td align="center"><table border="0" cellpadding="0" cellspacing="0">
                              <tr>
                                <td>//Este es el boton detalles que se genera en cada fila
<div id="anuncioup" class="btnVerLista">
<button name="btn_up" type="submit" id="bnuevo" class="btnVerLista">
<table width="0" border="0" cellspacing="0" cellpadding="0">
    <tr>
       <td><img src="images/iconos/mail/info.png" width="16" height="16" /></td>
    </tr>
</table>
</button>
</div>
                             </td>
                              </tr>
                          </table></td>
                        </tr>
                        <?php
           
//PREGUNTAMOS SI HAY MAS DE UNO PARA GENERAR LA LINEA
        
if($num>1){
            
?>
                        <tr>
                          <td height="1" colspan="10" bgcolor="#00892F"></td>
                        </tr>
                        <?php
                        
}
                          
?>
<?php
//CERRAMOS EL PRIMER IF Y EL FOR
        
}
}
else{
echo 
"No existen registro aun.";
}
?>
</table>
</td>
                </tr>
                <tr>
                  <td height="2" bgcolor="#00892F"></td>
                </tr>
            </table></form>
Como puedo saber en que fila estoy haciendo clic al boton? para poder capturar el id de esa fila y pasarlo a otro formulario?
  #2 (permalink)  
Antiguo 10/12/2008, 13:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: capturar id de determinada fila

Si quieres usar un boton vas a tener que hacer un formulario en la celda, y poner el boton, y aparte un campo del tipo hidden donde pases el idempresa.

De lo contrario te puedes ahorrar ese paso usando un link <a> normal.

Saludos.
  #3 (permalink)  
Antiguo 10/12/2008, 14:14
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: capturar id de determinada fila

toda la tabla esta dentro de en un formulario con el action al formulario y metodo post.... o te refieres a hacer el formulario envolviendo la etiqueta td ??

Y si es un link, que parametro le paso al href? el nombre de la web con el id? osea lo pasaria por url?

Última edición por cesarpunk; 10/12/2008 a las 14:21
  #4 (permalink)  
Antiguo 10/12/2008, 15:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: capturar id de determinada fila

Asi es necesitas hacer un formulario DENTRO de la etiqueta td, si no como url puedes pasarlo en el link, por ejemplo <a href="detalle.php?idempresa=$idempresa">Ver mas</a>

Saludos.
  #5 (permalink)  
Antiguo 10/12/2008, 15:26
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: capturar id de determinada fila

Bien , lo hice pasandolo por el url de esta manera:

Código PHP:
<?php
          
//BUSQUEDA DE LOS REGISTROS DE LA EMPRESA DEL CLIENTE
         
for ($i=0$i<$num$i++) {
        
$idempresa=mysql_result($rs,$i,"empresa_id");
        
$nombre=mysql_result($rs,$i,"empresa_nombre");
        
$categoria=mysql_result($rs,$i,"categoria_nombre");
        
$fecha=mysql_result($rs,$i,"empresa_fecha_registro");
        
$imagen=mysql_result($rs,$i,"empresa_img_nombre");
        
$_SESSION["idempresa"]=$idempresa;
        
$_SESSION["nombrempresa"]=$nombre;
        
$cempresa=$_SESSION["idempresa"];
        
$nempresa=$_SESSION["nombrempresa"];
      
?>
                        <tr>
                          <td height="25" align="center"><input name="codigo" type="text" id="codigo" value="<?php echo $cempresa?>" size="3" maxlength="3" />
                            <?php echo $nombre?></td>
                          <td bgcolor="#00892F"></td>
                          <td align="center"><?php echo $categoria?></td>
                          <td bgcolor="#00892F"></td>
                          <td align="center"><?php echo $fecha?></td>
                          <td bgcolor="#00892F"></td>
                          <td height="40" align="center"><img src="<?php echo "../images/empresa/".$imagen?>" width="30" height="30" /></td>
                          <td bgcolor="#00892F"></td>
                          <td align="center"><table border="0" cellpadding="0" cellspacing="0">
                              <tr>
                                <td>AQUI DONDE PONGO LA URL
<a href="<?php echo "anuncio_detalle.php?e=$idempresa$&n=$nombre"?>" class="linkImg"><img src="http://www.forosdelweb.com/images/iconos/mail/info.png" width="16" height="16" border="0" /></a></td>
                              </tr>
                          </table>
La buena noticia es que por cada fila la url captura el codigo y nombre de empresa que necesitaba. Pero el problema es cuando le doy clic al link para que pase los valores al formulario siempre me pasa el codigo de la ultima fila.
En mi caso la tabla genera 3 registro o 3 filas, cuando le doy clic en cualquier link me toma siempre el codigo de la tercera fila, pero en la url sale el codigo que deseo.... como capturo el codigo de esa url? ya que uso el metodo post en el formulario. o quizas estoy pasando mal los valores al formulario ya que uso variables de sesiones que esta en el codigo de arriba:

Código PHP:
//esta es la pagina que contiene el formulario
session_start();
$cempresa=$_SESSION["idempresa"];
$nempresa=$_SESSION["nombrempresa"];
$cad3="select * from empresa where empresa_id='$cempresa'";
$empresa=mysql_query($cad3,$c);
while(
$row mysql_fetch_array($empresa)){
    
$nomempresa $row["empresa_nombre"];
    
$codempresa $row["empresa_id"];
    
$dirempresa $row["empresa_direccion"];
    
$telempresa $row["empresa_telefono"];
    
$tel2empresa $row["empresa_telefono2"];
    
$emailempresa $row["empresa_email"];
    
$webempresa $row["empresa_website"];
    
$descempresa $row["empresa_descripcion"];


Última edición por cesarpunk; 10/12/2008 a las 15:55
  #6 (permalink)  
Antiguo 10/12/2008, 16:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: capturar id de determinada fila

Eso es porque estas rescatando desde $_SESSION el id, tienes que rescatarlo desde $_GET['idempresa'] que es el valor que viene de tu URL.

Lee: www.php.net/variables.external

Saludos.
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 10:57.