Foros del Web » Programando para Internet » PHP »

actualizar registro

Estas en el tema de actualizar registro en el foro de PHP en Foros del Web. tengo este codigo , queiro actualizar un registro seleccionando de un select, y que me aparezcan todos los datos que he ingresado , para actualizarlos ...
  #1 (permalink)  
Antiguo 14/02/2005, 13:24
Avatar de pekeña  
Fecha de Ingreso: enero-2005
Ubicación: CONCEPCION
Mensajes: 57
Antigüedad: 19 años, 3 meses
Puntos: 0
actualizar registro

tengo este codigo , queiro actualizar un registro seleccionando de un select, y que me aparezcan todos los datos que he ingresado , para actualizarlos pero no me aparece nada , que sera??

<HTML>
<HEAD>
<TITLE>Actualizar.php</TITLE>
<LINK REL="STYLESHEET" HREF="style.css" TYPE="text/css">

</HEAD>

<BODY>

<?php

include('config.php');
$link=Conectarse();

$sql="select A.di_numdi, B.di_estadodi_id,B.nomempr, B.nomtransp, A,crt_numcrt, A.mezcla, A.merc, A.codaran, A.cant_merc, A.kmeto FROM item A, emptrans B WHERE A.id = B.id AND A.id = '$valor_buscado$'";


$result=mysql_query($sql, $link);
echo '<select di="id">';

while ($row=mysql_fetch_array($result))
{echo '<option>'.$row["1"];
echo '<option>'.$row["2"];
echo '<option>'.$row["3"];
echo '<option>'.$row["4"];
echo '<option>'.$row["5"];
echo '<option>'.$row["6"];
echo '<option>'.$row["7"];
echo '<option>'.$row["8"];
echo '<option>'.$row["9"];





}
?>
</select>
<br>
ID<br>
<body topmargin="0" leftmargin="0" marginheight="0" marginwidth="0">
<table width="780" border="0" cellspacing="0" cellpadding="0">

<tr>
<td>&nbsp;</td>
</tr>
</table>
<table width="780" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="780" border="0" cellspacing="0" cellpadding="0" height="50">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td valign="top">&nbsp; </td>
</tr>
</table>
</td>
</tr>
</table>
<table width="780" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="texto1" align="center"><table width="520" border="0" cellspacing="0" cellpadding="0" class="borderB">
<tr>
<td height="14" class="texto1b" bgcolor="#FFFFFF"><b><img src="images/isotipo.jpg" width="573" height="67" align="top"></b></td>
</tr>
<tr>
<td height="1" bgcolor="353648"></td>
</tr>
<tr>
<td height="4"></td>
</tr>
<tr>
<td> <table width="508" border="0" cellspacing="0" cellpadding="0" align="center" class="borderA" height="300">
<tr>
<td bgcolor="ececef"> <table border="0" cellpadding="0" cellspacing="0" width="100%" class="texto1" >
<tr>
<td valign="top" width="468"> <table border=0 cellpadding=10 cellspacing=0 bgcolor="ececef" class="texto1" width="100%">
<form method="get" action='actualizardi2.php'>
<input type=hidden name='id' value='$row[0]' >

<tr valign=top>
<td><br>
Modifique los datos de la DI<br> <br>
<br> <br>
<table class="texto1" border=0 cellpadding=5 cellspacing=0>
<tr>
<td colspan=2 height="10"></td>
</tr>
<tr>
<td width="164">Numero DI</td>
<td width="273"> <input type='hidden'name=numdi class="input">
</td>
</tr>
<tr>
<td width="164">Estado DI</td>
<td width="273"> <input type= text name=codestado class="input" value='<? $row[codestado]; ?>'
>

</td>
</tr>
<tr>
<td>Empresa Transporte</td>
<td> <input name=nomempr class="input" value='<? $row[nomempr]; ?>'>
</td>
</tr>
<tr>
<td>Transportista&nbsp;</td>
<td> <input name=nomtransp class="input" value='<? $row[nomtransp]; ?>'>
</td>
</tr>
<tr>
<td>Crt</td>
<td> <input name=numcrt class="input" value='<? $row[numcrt]; ?>'>
</td>
</tr>
<tr>
<td>Mezcla</td>
<td> <input name=mezcla class="input" value='<? $row[mezcla]; ?>'>
</td>
</tr>
<tr>
<td>Mercancia&nbsp;</td>
<td> <input name=merc class="input" value='<? $row[merc]; ?>'>
</td>
</tr>

<td>Kn</td>
<td> <input name=kneto class="input" value='<? $row[kneto]; ?>'>
</td>
</tr>
<tr>
<td>Codigo Arancelario&nbsp;</td>
<td> <input type=text name=codaran value='' class="input" value='<? $row[codaran]; ?>'>
</td>
</tr>
<tr>
<td>Cantidad Mercancia </td>
<td> <input name=cant_merc value="" class="input" value='<? $row[cant_merc]; ?>'>
</td>
</tr>
<tr>
<td colspan=2>&nbsp;</td>
</tr>


<tr>
<td align=middle colspan=2><div align="center"> <input name="image" type="image" src="images/enviar.gif" align="middle" width="58" height="11" border="0">
</div></td>
</tr>
</table></td>
</tr>
</form>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td height="4"></td>
</tr>
</table>
<table width="427" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="5"></td>
</tr>
</table>
<td width="20"></td>
</tr>
</table>
<table width="780" border="0" cellspacing="0" cellpadding="0">

<tr>
<td>&nbsp;</td>
</tr>
</table>

</form>
__________________
Josi-Jo :adios: saludos
  #2 (permalink)  
Antiguo 14/02/2005, 14:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Para los indices de los arrays como:
$row[nomempr];

Usa preferentemente comillas:
$row['nomempr'];

Esto de aquí realmente no comprendo para que lo usas:
echo '<select di="id">';

while ($row=mysql_fetch_array($result))
{echo '<option>'.$row["1"];
echo '<option>'.$row["2"];
echo '<option>'.$row["3"];
echo '<option>'.$row["4"];
echo '<option>'.$row["5"];
echo '<option>'.$row["6"];
echo '<option>'.$row["7"];
echo '<option>'.$row["8"];
echo '<option>'.$row["9"];

una "selección como esa debería crear en su bucle (while) que obtiene los registros que arroja la consulta SQL que ejecutas más arriba un dato como "value" para los <option> (el ID .. $row['id']) y a lo sumo otro dato como el $row['nomempr'] o algunos más para componer:

Código PHP:
echo "<select name=\"id_nose\">";

while (
$row=mysql_fetch_array($result)){
     echo 
"<option value=\"".$row['id_nose']."\">".$row['nomempr']."</option>";
}
?>
</select> 
El "name" de tu <select>" será tu variable para aplicarla en tu consulta SQL condicional (WHERE ... id_nose='".$_POST['id_nose']."'" ....) con el valor que seleccionas en el option.

Código PHP:
$sql="select A.di_numdi, B.di_estadodi_id,B.nomempr, B.nomtransp, A,crt_numcrt, A.mezcla, A.merc, A.codaran, A.cant_merc, A.kmeto FROM item A, emptrans B WHERE A.id = B.id AND A.id = '".$_POST['id_nose']."'"
Ese "<select>" HTML ha de estar en un formulario <form ... > con un action que apunte si lo deseas a este mismo script pues vas a ejecutar ahí tu "edición" de tus datos que rescates con tu consulta SQL. Pero debes poner un botón subit para ese "formulario" o hacerlo vía javascript (el submit) automáticamente al cambiar una opción de tu select HTML.

Un saludo,

Un saludo,
  #3 (permalink)  
Antiguo 14/02/2005, 15:18
Avatar de pekeña  
Fecha de Ingreso: enero-2005
Ubicación: CONCEPCION
Mensajes: 57
Antigüedad: 19 años, 3 meses
Puntos: 0
ahora me quedo asi , pero nose no me muetsra el select ni los datos en el formulario




<HTML>
<HEAD>
<TITLE>Actualizar.php</TITLE>
<LINK REL="STYLESHEET" HREF="style.css" TYPE="text/css">

</HEAD>

<BODY>

<?php

include('config.php');
$link=Conectarse();

$sql="select A.di_numdi, B.di_codestado_id,B.nomempr, B.nomtransp, A,crt_numcrt, A.mezcla, A.merc, A.codaran, A.cant_merc, A.kmeto FROM item A, emptrans B WHERE A.id = B.id AND A.id = '".$_POST['id_numdi']."'";



$result=mysql_query($sql, $link);





echo "<select name=\"id_numdi\">";

while ($row=mysql_fetch_array($result)){
echo "<option value=\"".$row['id_numdi']."\">".$row['numdi']."</option>";
}
?>
</select>





<br>
DI<br>
<body topmargin="0" leftmargin="0" marginheight="0" marginwidth="0">
<table width="780" border="0" cellspacing="0" cellpadding="0">

<tr>
<td>&nbsp;</td>
</tr>
</table>
<table width="780" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="780" border="0" cellspacing="0" cellpadding="0" height="50">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td valign="top">&nbsp; </td>
</tr>
</table>
</td>
</tr>
</table>
<table width="780" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="texto1" align="center"><table width="520" border="0" cellspacing="0" cellpadding="0" class="borderB">
<tr>
<td height="14" class="texto1b" bgcolor="#FFFFFF"><b><img src="images/isotipo.jpg" width="573" height="67" align="top"></b></td>
</tr>
<tr>
<td height="1" bgcolor="353648"></td>
</tr>
<tr>
<td height="4"></td>
</tr>
<tr>
<td> <table width="508" border="0" cellspacing="0" cellpadding="0" align="center" class="borderA" height="300">
<tr>
<td bgcolor="ececef"> <table border="0" cellpadding="0" cellspacing="0" width="100%" class="texto1" >
<tr>
<td valign="top" width="468"> <table border=0 cellpadding=10 cellspacing=0 bgcolor="ececef" class="texto1" width="100%">
<form method="get" action='actualizardi2.php'>
<input type=hidden name='id' value='$row[0]' >

<tr valign=top>
<td><br>
Modifique los datos de la DI<br> <br>
<br> <br>
<table class="texto1" border=0 cellpadding=5 cellspacing=0>
<tr>
<td colspan=2 height="10"></td>
</tr>
<tr>
<td width="164">Numero DI</td>
<td width="273"> <input type='hidden'name=numdi class="input">
</td>
</tr>
<tr>
<td width="164">Estado DI</td>
<td width="273"> <input type= text name=codestado class="input" value='<? "$row[codestado]"; ?>'
>

</td>
</tr>
<tr>
<td>Empresa Transporte</td>
<td> <input name=nomempr class="input" value='<? "$row[nomempr]"; ?>'>
</td>
</tr>
<tr>
<td>Transportista&nbsp;</td>
<td> <input name=nomtransp class="input" value='<? "$row[nomtransp]"; ?>'>
</td>
</tr>
<tr>
<td>Crt</td>
<td> <input name=numcrt class="input" value='<? "$row[numcrt]"; ?>'>
</td>
</tr>
<tr>
<td>Mezcla</td>
<td> <input name=mezcla class="input" value='<? "$row[mezcla]"; ?>'>
</td>
</tr>
<tr>
<td>Mercancia&nbsp;</td>
<td> <input name=merc class="input" value='<? "$row[merc]"; ?>'>
</td>
</tr>

<td>Kn</td>
<td> <input name=kneto class="input" value='<?" $row[kneto]"; ?>'>
</td>
</tr>
<tr>
<td>Codigo Arancelario&nbsp;</td>
<td> <input type=text name=codaran value='' class="input" value='<? "$row[codaran]"; ?>'>
</td>
</tr>
<tr>
<td>Cantidad Mercancia </td>
<td> <input name=cant_merc value="" class="input" value='<? "$row[cant_merc]"; ?>'>
</td>
</tr>
<tr>
<td colspan=2>&nbsp;</td>
</tr>


<tr>
<td align=middle colspan=2><div align="center"> <input type="submit" name="image" type="image" src="images/enviar.gif" align="middle" width="58" height="11" border="0">
</div></td>
</tr>
</table></td>
</tr>
</form>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td height="4"></td>
</tr>
</table>
<table width="427" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="5"></td>
</tr>
</table>
<td width="20"></td>
</tr>
</table>
<table width="780" border="0" cellspacing="0" cellpadding="0">

<tr>
<td>&nbsp;</td>
</tr>
</table>

</form>


este es el codigo para actualizar

</HEAD>
<BODY>

<?php


$numdi = $_GET["numdi"];
$codestado = $_GET["codestado"];
$nomempr = $_GET["nomempr"];
$nomtransp = $_GET["nomtransp"];
$numcrt=$_GET["numcrt"];
$mezcla=$_GET["mezcla"];
$codaran=$_GET["codaran"];
$merc=$_GET["merc"];
$cant_merc=$_GET["cant_merc"];
$kneto=$_GET["kneto"];



$sql="update emprtrans nomempr='$nomempr', nomtransp ='$nomtransp' where id='$id'";
$sql=mysql_query($sql,$link);
$sql="update crt numcrt='$numcrt' where id='$id'";
$sql=mysql_query($sql,$link);
$sql="update item mezcla='$mezcla' ,merc='$merc' ,codaran='$codaran', cant_merc='$cant_merc' , kneto='$kneto'";
$sql=mysql_query($sql,$link);

?>

<h1><div align="center">Registro Actualizado</div></h1>
<div align="center"><a href="lectura.php">Visualizar el contenido de la base</a></div>

</BODY>
</HTML>


ups que largo

ayuda plis
__________________
Josi-Jo :adios: saludos
  #4 (permalink)  
Antiguo 15/02/2005, 05:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En el <select> no ves nada por qué en tu consulta SQL no indicas que quieres obtener también ese:
id_numdi y numdi de las tablas que corresponda, falta que lo indiques expresamente en el select SQL:

$sql="select A.di_numdi, B.di_codestado_id,B.nomempr, B.nomtransp, A,crt_numcrt, A.mezcla, A.merc, A.codaran, A.cant_merc, A.kmeto FROM item A, emptrans B WHERE A.id = B.id AND A.id = '".$_POST['id_numdi']."'";

Igualmente te comenté que falta que metas tu <select> bajo un <form> .. con su botón de submit y su action que apunte a ese mismo script (eso todavía no lo has hecho) .. También tienes un par de "<body>" que no corresponde (a nivel HTML) revisa bien tu HTML generado ..

Por otro lado . .usa método POST en lugar de GET .. te irá mejor (en consecuencia en actualiza2.php tendrás que usar $_POST en lugar de $_GET donde lo usas.
<form method="get" action='actualizardi2.php'>


(PD: Usa el botón "PHP" para colorear tu código . se lee mejor)

Un saludo,
  #5 (permalink)  
Antiguo 15/02/2005, 15:34
Avatar de pekeña  
Fecha de Ingreso: enero-2005
Ubicación: CONCEPCION
Mensajes: 57
Antigüedad: 19 años, 3 meses
Puntos: 0
edita

probe con un modificar una sola tabla no multiples ahora solo me lansa error en el editar
Parse error: syntax error, unexpected $end in edita2.php on line 40

Código PHP:
<center>
<?php
$busqueda
="SELECT * FROM emprtrans WHERE id ='$id'";
$resultado_b=mysql_query($busqueda); 
if(
$row=mysql_fetch_row($resultado_b)) 

echo 
"

<form name=formulario method=post action='modifica_registro.php'>
<input type=hidden name='id' value='$id'>

<table border='0' width='769' cellpadding='0' cellspacing='1' >
<input type='HIDDEN' name='id' value='$row[0]' size='10' maxlength='10'>

<tr>
<td width='92' height='34'>&nbsp;NOMBRE EMPRESAs&nbsp;</td>
<td width='568' height='34'> &nbsp; <input type='text' name='nomempr'value='<? $row[2] ?>' size='75' maxlength='50'></td>
</tr>
<tr>
<td width='92' height='34'>&nbsp;ROL PROP&nbsp;</td>
<td width='568' height='34'>&nbsp; <input type='text' name='rolprop' value='<? $row[3]?>' size='6' maxlength='25'></td>
</tr>
<tr>
<td width='92' height='34'>NOMBRE PROP</td>
<td width='568' height='34'>&nbsp; <input type='text' name='nomprop' size='5' maxlength='11' value='<? $row[4] ?>'</td>
</tr>
<tr>
<td width='92' height='2'>&nbsp;PAIS</td>
<td width='568' height='2'>&nbsp;&nbsp; <input type='text' name='pais' size='23' maxlength='35' value='<? $row[5] ?>'
COD TRANSP  <input type='text' name='codtransp' size='5' maxlength='11'value='<? $row[6] ?>'&nbsp;
COD EMPRESA <input type='text' name='codempresa' size='13' maxlength='11' value='<? $row[7] ?>'&nbsp;&nbsp;
<input type=submit value='Enviar &gt;&gt;'>
</td>
</tr>
</table>
</form>
"
;

?> </center>
__________________
Josi-Jo :adios: saludos
  #6 (permalink)  
Antiguo 15/02/2005, 16:43
Avatar de pekeña  
Fecha de Ingreso: enero-2005
Ubicación: CONCEPCION
Mensajes: 57
Antigüedad: 19 años, 3 meses
Puntos: 0
modificar registro

ya me resulto el editar ahora tengo problemas con el modificar me sale error k no s epuede modificar ayuda


Código PHP:
php
<html>
<body>
<table border="0" width="100%">
<tr>
<td width="100%" bgcolor=eec236>
<p align="center"><font color="#800000" size="6" face="Arial Rounded MT Bold">modificar empresa trasnporte</font></td>
</tr>
</table>

<br>
<?php

$conexion 
mysql_connect("localhost""root","");
mysql_select_db("mibase",$conexion);




$nomempr $_POST["nomempr"]; 
$rolprop $_POST["rolprop"];
$nomprop $_POST["nomprop"];
$pais $_POST["pais"];  
$nomtransp $_POST["nomtransp"]; 
$codtransp $_POST["codtransp"]; 
$codempresa $_POST["codempresa"]; 


$sql="update emprtrans nomempr='$nomempr',rolprop='$rolprop', nomprop='$nomprop',pais='$pais' nomtransp ='$nomtransp' codtransp='$codtransp',codempresa='$codempresa' where id='$id'"
$sql=mysql_query($sql,$conexion);
$resultado mysql_query($sql,$conexion);
if (
$resultado)
{
echo 
"<font color=ff0000 size=4> El registro ha sido Modificado </font>\n";

}
else 

echo 
"<p>¡No se ha podido modificar.!</p>\n"

exit;
}
mysql_close($conexion);
?>
</body>
</html>
__________________
Josi-Jo :adios: saludos
  #7 (permalink)  
Antiguo 16/02/2005, 21:06
Avatar de pekeña  
Fecha de Ingreso: enero-2005
Ubicación: CONCEPCION
Mensajes: 57
Antigüedad: 19 años, 3 meses
Puntos: 0
modificar registro

puchas nadie me va a responder!!
__________________
Josi-Jo :adios: saludos
  #8 (permalink)  
Antiguo 17/02/2005, 05:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Usa:

$resultado = mysql_query($sql,$conexion) or die (mysql_error());

así veras el error SQL que estás provocando: La sintax de UPDATE de Mysql que usas no es correcta.

www.mysql.com/update

UPDATE tabla SET campo=valor,otrocampo=otrovalor ...

Un saludo,
  #9 (permalink)  
Antiguo 25/02/2005, 23:54
Avatar de pekeña  
Fecha de Ingreso: enero-2005
Ubicación: CONCEPCION
Mensajes: 57
Antigüedad: 19 años, 3 meses
Puntos: 0
gracias ya me resulto pero con una sola tabla
__________________
Josi-Jo :adios: 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 14:13.