Programación Web y Scripting > PHP
Actualización de Datos
Kataky:
Hola a todos:
Soy nueva en PHP, antes programaba en Visual. Me he recorrido todo internet tratando de resolver mi problema. Tengo un código (EditaEmp.php) que mediante un select permite seleccionar el nombre de la empresa a actualizar y llama a otro script (EditaEmp1.php) en el cual muestra los datos a editar y una vez clicleado Guardar llama a otro script (grabau.php) que recibe los datos y no me hace el update del registro, sé que por alguna razón extraña no le llega el valor de la variable $Nombre_emp que es con la que busco el registro a modificar, pero sin embargo todas las otras variables son recibidas.
Les quedó agradecida de antemano si me pueden ayudar.
Edita Emp.php
<table width="800" border="1" bordercolor="#CCCCCC" align="center" cellpadding="10" cellspacing="0">
<form method='POST' action='EditaEmp1.php'>
<tr>
<td colspan='2' bgcolor="#ECEEF0"><div align='center'>
<p><span class="Estilo1">Editar Empresa</span><br/>
</p>
</div></td>
</tr>
<tr>
<td width="210">Nombre Empresa :</td>
<td width="544">
<?
include("config.inc.php");
$consult_emp="SELECT id_emp,Nombre_emp,Rut_emp,Telefono_emp,Direccion_emp FROM empresa ORDER BY Nombre_emp";
$result=mysql_query($consult_emp) or die ("Fallo la busqueda");
echo '<select name="Nombre_emp"/>';
//Generamos el menu desplegable
while ($row=mysql_fetch_array($result))
{
echo '<option>'.$row["Nombre_emp"];
$Nombre_emp=$row["Nombre_emp"];
}
?>
</td>
</tr>
<br/>
<tr>
<td colspan='2' align='center' bgcolor="#ECEEF0">
<input name='Seleccionar' type='submit' value='Seleccionar' /></td>
</tr>
</form>
</table>
EditaEmp1.php
<?
include("config.inc.php");
$Nom=$_POST["Nombre_emp"];
$sql="SELECT Nombre_emp,Rut_emp,Telefono_emp,Direccion_emp FROM Empresa WHERE Nombre_emp='$Nombre_emp'";
$result=mysql_query($sql) or die("Problemas en la conexion en la Selección");
while ($row=mysql_fetch_array($result))
{
$Nombre_emp=$row["Nombre_emp"];
$rut=$row["Rut_emp"];
$separar = explode('-',$rut);
$rut1=$separar[0];
$dig=$separar[1];
$tel=$row["Telefono_emp"];
$dir=$row["Direccion_emp"];
}
?>
<table width="800" border="1" bordercolor="#CCCCCC" align="center" cellpadding="10" cellspacing="0">
<form id='EditaEmp1' name='form1' method='POST' action='grabau.php?Nombre_emp'>
<tr>
<td colspan='2' bgcolor="#ECEEF0"><div align='center'>
<p><span class="Estilo1">Editar Datos de la Empresa: <? echo $Nombre_emp; ?></span><br/>
</p>
</div></td>
</tr>
<tr><td>Rut :</td><td><span>
<input name='rut1' value='<? echo $rut1 ?>' type='text' size='10' maxlength='9' />
-
<input name='dig' value='<? echo $dig ?>' type='text' size='1' maxlength='2' />
</span>
</td></tr><tr><td>Telefono :</td><td><span>
<input name='tel' value='<? echo $tel ?>' type='text' size='10' maxlength='10' />
</span>
</td></tr><tr><td>Dirección :</td><td><span>
<input name='dir' value='<? echo $dir ?>' type='text' size='65' maxlength='150' /></span></td>
</tr>
<br/>
<tr>
<td colspan='2' align='center' bgcolor="#ECEEF0">
<input name='Guardar' type='submit' value='Guardar' /></td>
</tr>
<tr>
<td colspan='2' valign='top'> </td>
</tr>
</form>
</table>
grabau.php:
<?
include ("config.inc.php");
$Nombre_emp=$_POST["Nombre_emp"];
$rut1 = $_POST['rut1'];
$dig = $_POST['dig'];
$rut = $rut1.'-'.$dig;
$tel = $_POST['tel'];
$dir = $_POST['dir'];
$Nom = $_POST['Nom'];
echo "Nombre_emp: ",$Nombre_emp,$Nom,$rut1,"- ",$rut,"Dir: ",$dir,"Tel; ",$tel;
mysql_query("UPDATE 'empresa' SET Rut_emp='$rut',Telefono_emp='$tel',Direccion_emp='$dir' WHERE Nombre_emp='$Nombre_emp'") or die ("NO GRABO");
?>
<form name='add_emp' method='POST' >
<table width="800" border="1" bordercolor="#CCCCCC" align="center" cellpadding="10" cellspacing="0">
<tr>
<th align="center" bgcolor="#ECEEF0" class="titnoticia2" scope="col">Grabación Empresa </th>
</tr>
<tr>
<td bordercolor="#000000"><table width="774" height="35">
<tr>
<td><div align="center">
<div align="center" class="Estilo1"> DATOS DE NUEVA EMPRESA GRABADO EXITOSAMENTE</div></td>
</tr>
</table></td>
</tr>
<tr>
<td align='center' bgcolor="#ECEEF0"><a href="menu_central.php">VOLVER</a></span> <span align="right"> <a href="logout.php">SALIR</a></span></td>
</tr>
</table>
</form>
lair:
Hola:
lo que pasa es que en este fragmento de tu codigo tienes lo siguiente:
--- Código: PHP ---$result=mysql_query($consult_emp) or die ("Fallo la busqueda");echo '<select name="Nombre_emp"/>'; //AQUI//Generamos el menu desplegablewhile ($row=mysql_fetch_array($result)){echo '<option>'.$row["Nombre_emp"];// Y AQUI ESPECIFICAMENTE$Nombre_emp=$row["Nombre_emp"];}
la sintaxis basica del select dice asi:
--- Código: Text ---<SELECT NAME=“puntuacion” SIZE=11><OPTION VALUE=“10”>Puntuo con un 10<OPTION VALUE=“9”>Puntuo con un 9<OPTION VALUE=“8”>Puntuo con un 8<OPTION VALUE=“7”>Puntuo con un 7<OPTION VALUE=“6”>Puntuo con un 6<OPTION VALUE=“5”>Puntuo con un 5<OPTION VALUE=“4”>Puntuo con un 4<OPTION VALUE=“3”>Puntuo con un 3<OPTION VALUE=“2”>Puntuo con un 2<OPTION VALUE=“1”>Puntuo con un 1<OPTION VALUE=“0”>Puntuo con un 0</SELECT>
donde value es el valor real que se envia en la variable puntuacion, que en tu caso seria <select name="Nombre_emp"/>
suerte
Kataky:
Hola Lair
Gracias por responder pero mi problema no esta en el llenado del SELECT eso lo hace bien, puedo seleccionar mi empresa sin problema pasando el nombre al segundo script (EditaEmp1.php) sin problemas y recupero los datos para ser modificados, una vez que pinchan GUARDAR llamo al script grabau.php que lo único que hace es llamar a la función guardar() quien realiza el UPDATE y retorna a grabau.php con un mensaje de exito o fracaso. En este caso es de fracaso la grabación, sé que fracasó porque no le llega la variable $Nombre_emp,este es mi problema, la variable pasa de un script a otro pero no llega a la función.
Gracias de todas maneras, seguiré intentandolo..... :comp:
lair:
--- Cita de: "Kataky" --- sé que fracasó porque no le llega la variable $Nombre_emp,este es mi problema,
--- Fin de la cita ---
por eso, me parese que no esta llegando por que no estas haciendo el llenado del select de manera correcta, en la creacion del select (<select name="nombre">) ese es el nombre de tu variable y en cada option lleva un atributo value (<option value="variable PHP">), este value es el que se envia en la variable del select.
verifica tu codigo y ve como esta el ejemplo que te planteo.
tu codigo deberia de ser de la siguiente manera:
--- Código: PHP ---$result=mysql_query($consult_emp) or die ("Fallo la busqueda");echo '<select name="Nombre_emp">'; //AQUI//Generamos el menu desplegablewhile ($row=mysql_fetch_array($result)){ echo '<option value="'.$row["Nombre_emp"].'">'.$row["Nombre_emp"];// Y AQUI ESPECIFICAMENTE $Nombre_emp=$row["Nombre_emp"];}echo '</select>';
pruebalo y suerte, aqui estamos para cualquier duda
Kataky:
Hola Lair
Lo probe pero en el momento que coloco el option value me deja de mostrar los nombres de empresa y por lo tanto no puedo hacer la selección.
De todas formas un millón de gracias, seguire buscando e intentandolo... :hitcomp:
Navegación
[#] Página Siguiente
Ir a la versión completa