Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problemas con form y el método post

Estas en el tema de Problemas con form y el método post en el foro de PHP en Foros del Web. Hola a todos, soy nuevo en esta comunidad y en el entorno desarrollo webs y estoy tratando de hacer mi primera pagina. Mi problema es ...
  #1 (permalink)  
Antiguo 07/03/2016, 16:30
Avatar de elpodec77  
Fecha de Ingreso: marzo-2016
Ubicación: Lobos bs as
Mensajes: 3
Antigüedad: 8 años, 2 meses
Puntos: 0
Pregunta Problemas con form y el método post

Hola a todos, soy nuevo en esta comunidad y en el entorno desarrollo webs y estoy tratando de hacer mi primera pagina. Mi problema es el siguiente:

En una pagina se muestra una tabla de una base de datos y por cada fila o linea de registro de la bd hay dos botones uno que sirve para eliminar y otro para editar la mismas linea. Ademas hay un botón que sirve para agregar un nuevo campo.
Al seleccionar cada icono envía los datos correspondiente a una pagina que dependerá que tipo de botón allá oprimido, al oprimir, por ejemplo: el botón editar me tiene que mandar todos los datos de la fila seleccionada por el método post de un form. El problemas es que no envía nada, cual seria el motivo?

Acá esta el código:

Código PHP:
<?php   include("includes/conexion.php"); 
        
        if (isset(
$_POST['selc_localidad'])&&(isset($_POST['selc_categoria']))){
            
$post_loc$_POST['selc_localidad'];
            
$post_cat$_POST['selc_categoria'];
        }    
        
        function 
mostrar_filtro($row){    
            
$eliminar$row['id_publicidad'];
            
$editar$row['id_publicidad'];
            
            echo  
"<tr align='left'>
                        <td> $row[razon_social] </td>
                        <td> $row[localidad] </td>
                        <td> $row[direccion] </td>
                        <td> $row[categoria] </td>
                        <td>
                            <input type=image name='editar' src='imagenes/icon/btn_editar.png' width='18' height='24'>
                            <input type=image name='eliminar' src='imagenes/icon/btn_eliminar.png' width='18' height='24'>
                        </td>
                    </tr>"
;
        }    
        
?>

<div id="filtros">
    <form name="filtro" action="abm.php" method="post">
        Localidad 
            <select name="selc_localidad">
                <?php 
                    $sql_localidad
"select * from bd_localidad order by id";
                    
mysql_query('SET NAMES utf8');//reconoce los caracteres especiales [ñ,á,é,etc.] desde la bd
                    
$result_localidadmysql_query($sql_localidad);
                    while (
$fila=mysql_fetch_row($result_localidad)){
                        if(
$post_loc == $fila['1']){
                            echo 
"<option value='".$fila['1']."'".selected."> ".$fila['1']."</option>";
                        }else{
                            echo 
"<option value='".$fila['1']."'> ".$fila['1']."</option>";
                        }
                    }
                
?>
            </select>    
        Categoria 
            <select name="selc_categoria">
                <?php 
                    $sql_categoria
"select * from bd_categoria order by id";
                    
mysql_query('SET NAMES utf8');
                    
$result_categoriamysql_query($sql_categoria);
                    while (
$fila=mysql_fetch_row($result_categoria)){
                        if(
$post_cat == $fila['1']){
                            echo 
"<option value='".$fila['1']."'".selected."> ".$fila['1']."</option>";
                        }else{
                            echo 
"<option value='".$fila['1']."'> ".$fila['1']."</option>";
                        }
                    }
                
?>
            </select>
        <button type="submit" name="aceptar" id="aceptar">Filtrar</button>
    </form>
</div>
<div id="grilla">
    <form name="frm_grilla" action="tb_registro.php" method="post">
        <?php
            $sql
"SELECT * from bd_publicidad";
            
$result mysql_query($sql,$conexion);

            if(!
$result){die('Ocurrio un error al obtener los valores de la base de datos: ' mysql_error());}

            echo     
"<table border='1' style= 'width:100%''>";

            
/*Priemro los encabezados*/
            
echo    "<tr align='center'>
                         <td>NEGOCIO</td>
                         <td>LOCALIDAD</td>
                         <td>DIRECCION</td>
                         <td>CATEGORIA</td>
                         <td>
                             <input type=image name='agregar' title='Agregar registro' src='imagenes/icon/btn_agregar.png' width='18' height='24'>
                         </td>
                     </tr> "
;

                    
            
/*Y ahora todos los registros */
            
while($row=mysql_fetch_array($result))
            {    
                    if (
$row['sw'] > 0){
                        if (isset(
$_POST['selc_localidad'])&&(isset($_POST['selc_categoria']))) {

                            
$row_loc$row['localidad'];
                            
$row_cat$row['categoria'];

                            if ((
$post_loc == 'Sin filtro')&&($post_cat == 'Sin filtro')) //sin filtrar
                            
{
                                
mostrar_filtro($row);

                            }else if (((
$post_loc == $row_loc)&&($post_cat == $row_cat))) //filtro doble
                            
{
                                
mostrar_filtro($row);

                            }else if (((
$post_loc == $row_loc)&&($post_cat =='Sin filtro'))) //filtro de localidad
                            
{
                                
mostrar_filtro($row);

                            }else if (((
$post_loc == 'Sin filtro')&&($post_cat == $row_cat))) //filtro de categoria
                            
{
                                
mostrar_filtro($row);
                            }          
                          }
                          else{
                              
mostrar_filtro($row);
                          }
                     }
            }
            echo 
"</table>";
            
mysql_close($conexion);
        
?>
    </form>
</div>

Última edición por elpodec77; 07/03/2016 a las 16:31 Razón: Olvidar componentes
  #2 (permalink)  
Antiguo 07/03/2016, 17:02
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 9 años, 1 mes
Puntos: 8
Respuesta: Problemas con form y el método post

Si es PHP puro la mejor manera es tener una columna (TD) en ella tendras que definir la etiqueta tipo radio y en el atributo name como nombre "id" (por decir), en este caso sería asi <input type="radio" name="id[]" value="'.$row['id'].'"/>
Luego en los botones editar y eliminar que sean de tipo submit sino no se va a ejecutar el método POST.

EJM:
<td width='20'><input type='submit' name='editar' value='E'/></td>
<td width='20'><input type='submit' name='eliminar' value='D'/></td>

Al cargar tu página página puedes usar la siguiente instrucción que te permitirá obtener el ID del registro seleccionado.

if(isset($_POST['id'])){
foreach($_POST['id'] as $row){
echo "ID Seleccionado: ".$row;
}
}

Lo que hagas después de obtener el ID ya es criterio tuyo.
Espero te sea de ayuda.
  #3 (permalink)  
Antiguo 07/03/2016, 17:37
Avatar de elpodec77  
Fecha de Ingreso: marzo-2016
Ubicación: Lobos bs as
Mensajes: 3
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Problemas con form y el método post

hola oggy_15_3, yo utiliza de tipo imagen por que leí por ahí que si te lo tomaba el método post y lo quise incorporar, lo que dices es que agregue un boton general para todo los campos?? en el value pongo un valor que le corresponda a la clave primaria de la base de datos???
  #4 (permalink)  
Antiguo 07/03/2016, 18:21
Avatar de elpodec77  
Fecha de Ingreso: marzo-2016
Ubicación: Lobos bs as
Mensajes: 3
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Problemas con form y el método post

oggy_15_3 probé lo que me recomendaste y funciono perfectamente, muchas gracias
  #5 (permalink)  
Antiguo 07/03/2016, 20:07
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 9 años, 1 mes
Puntos: 8
Respuesta: Problemas con form y el método post

Cita:
Iniciado por elpodec77 Ver Mensaje
oggy_15_3 probé lo que me recomendaste y funciono perfectamente, muchas gracias
¿Cambiaste el input de tipo imagen por el submit?.
Para que sigas usando el input de tipo image creo que sería así.
Código PHP:
Ver original
  1. <td>
  2.                             <input type=image name='editar' src='imagenes/icon/btn_editar.png' width='18' height='24' onclick='document.forms[0].submit();'>
  3.                             <input type=image name='eliminar' src='imagenes/icon/btn_eliminar.png' width='18' height='24' onclick='document.forms[0].submit();'>
  4.                         </td>

Creo que la instrucción javascript era así. jejeje
document.forms[0].submit();
Saludos.

Etiquetas: boton, form, metodo, post
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:17.