Ver Mensaje Individual
  #3 (permalink)  
Antiguo 07/12/2010, 07:42
Tram
 
Fecha de Ingreso: noviembre-2006
Mensajes: 82
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Varios formularios en la misma pagina

Hola, he probado tu sugerencia pero no me funciona. Cuando pasa al segundo formulario no tengo ningún botón para ejecutar la actualización.

Este es el código actualizado, he incluído la sentencia que actualiza, pero no modifica nada en la base de datos.

El accion2 lo puse para que entre en el if que tiene dentro la sentencia mysql, si no saldría del "else if($valor=='Modificar')"


Código PHP:
include ("conexion.php");

  
$valor $_GET['accion'];
  
  if(
$valor==''){
  
    echo 
'<form method="get" action="admin_modificar_item.php">';
    
$query mysql_query("SELECT * FROM item");
    if (
mysql_num_rows($query)==0){ 
            echo 
"No hay elementos.";
            }
            else{
            
                if (
$row mysql_fetch_array($query)){ 
                echo 
'<select name= "comboitems">';
                do { 
                   echo 
'<option value= "'.$row["descripcion_item"].'">'.$row["descripcion_item"].'</option>';
                } while (
$row mysql_fetch_array($query)); 
                echo 
'</select>';
                }
        }
    echo 
'<p>
        <input type="submit" name="accion" value="Modificar" />
        <input type="submit" name="accion" value="Cancelar" />
        </p>'
;
    echo 
'</FORM>';
    
  
    
 }
//fin if
 
else if($valor=='Modificar'){
 
 
$item $_GET['comboitems'];
 
$descripcion $_GET['descripcionitem'];
 
    
 
$idmetodo mysql_query("SELECT iditem FROM item WHERE descripcion_item='$item' ") or die(mysql_error());
 
       while(
$row mysql_fetch_array($idmetodo))  
    {  
    
$numeroitem$row['iditem']; 
    
    }
    
     echo 
'<FORM action="admin_modificar_item.php" method="get">';
    echo 
"<br>";
    echo 
"<b>Descripción:  </b>".$item."<br>";
    echo 
"<b>Nueva descripción:  </b><input name='nuevadescripcion' type='text' size='40' /><br>";
    echo 
"<br>";
    echo 
'<input type="submit" name="accion2" value="Actualizar" />';
    echo 
'<input type="submit" name="accion2" value="Cancelar" />';
    echo 
'</FORM>';
 
     
$valor=$_GET['accion2'];
    
    if(
$valor=='Actualizar'){
    
mysql_query("UPDATE item SET iditem='$numeroitem', descripcion_item='$nuevades', idmetodo='$idmetodo'",$conexion) or die(mysql_error());
    }
                                

 }
//fin if modificar 

Resumiendo lo que intento hacer: me aparece un combobox lleno de items, selecciono el que quiero modificar, pulso "Modificar" y me lleva a otro formulario, dentro de la misma página, donde hay un cuadro de texto para escribir la nueva descripción del item seleccionado, pulso "Actualizar" y me debería actualizar ese item en la base de datos.