Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/06/2010, 21:13
cloncarlos
 
Fecha de Ingreso: junio-2005
Mensajes: 20
Antigüedad: 18 años, 10 meses
Puntos: 0
Ayuda para actualizar datos en sql

Estoy haciendo un sistema en donde para editar datos de una base de datos en mysql utilizo primero un llamado con un listado de todos los datos de la tabla, las cuales tengo identificados por Id's. En la tabla(EN LA TABLA DONDE APARECE EL LISTADO HTML) existe una fila oculta que con un javascript aparace en cada id(por debajo), todos los datos salen bien con la función: <? echo $datos[account] ?> dentro del campo para editar.
Código HTML:
<tr name="edit<? echo $datos[id] ?>" id="edit<? echo $datos[id] ?>"  style="display:none">
    <td bordercolor="#000000" class="tabla_mensaje"><span class="Estilo1">
      <label>
      <input name="id2" type="text" id="id2" value="<? echo $datos[id] ?>" size="5" style="display:none" />
      </label>
      <input name="date2" type="text" id="date2" value="<? echo $datos[date] ?>" size="10" />
    </span></td>
    <td bordercolor="#000000" class="tabla_mensaje"><span class="Estilo1">
      <input name="num2" type="text" id="num2" value="<? echo $datos[num] ?>" size="15" />
    </span></td>
    <td bordercolor="#000000" class="tabla_mensaje"><span class="Estilo1">
      <input name="hbl2" type="text" id="hbl2" value="<? echo $datos[hbl] ?>" size="15" />
    </span></td>
    <td bordercolor="#000000" class="tabla_mensaje"><span class="Estilo1">
      <input name="account2" type="text" id="account2" value="<? echo $datos[account] ?>" size="15" />
    </span></td>
    <td bordercolor="#000000" class="tabla_mensaje"><span class="Estilo1">
      <input name="consignee2" type="text" id="consignee2" value="<? echo $datos[consignee] ?>" size="15" />
    </span></td>
    <td bordercolor="#000000" class="tabla_mensaje"><span class="Estilo1">
      <input name="pcs2" type="text" id="pcs2" value="<? echo $datos[pcs] ?>" size="5" />
    </span></td>
    <td bordercolor="#000000" class="tabla_mensaje"><span class="Estilo1">
      <input name="c12" type="text" id="c12" value="<? echo $datos[c1] ?>" size="5" />
    </span></td>
    <td bordercolor="#000000" class="tabla_mensaje"><span class="Estilo1">
      <textarea name="c22" cols="10" id="c22"><? echo $datos[c2] ?></textarea>
    </span></td>
    <td bordercolor="#000000" class="tabla_mensaje"><span class="Estilo1">
      <input name="c32" type="text" id="c32" value="<? echo $datos[c3] ?>" size="10" />
    </span></td>
    <td bordercolor="#000000" class="tabla_mensaje"><input name="Submit2" type="submit" id="Submit2" value="Edit" /></td>
  </tr> 
Cada campo lo tengo nombrado de una forma, por ejemplo
"date2". Con la función update renuevo la fila de la tabla:
Código PHP:
mysql_query("update cliente1 SET [B]date='{$_POST['date2]']}',[/B]num='{$_POST['num2']}',hbl='{$_POST['hbl2']}',account='{$_POST['account2']}',consignee='{$_POST['consignee2']}',pcs='{$_POST['pcs2']}',c1='{$_POST['c12']}',c2='{$_POST['c22']}',c3='{$_POST['c32']}' WHERE id='{$_POST['id2']}' ",$link); 
Todo va bien, hasta que existe más de un dato en la fila.. entonces el dato "mas nuevo" nadamás puede ser modificado y el primer dato no.

Mi teoría es que al existir DOS CAPOS con el mismo nombre, "date2", simplemente afecta de alguna forma en la inserción de los datos en la base.

Yo intente cambiar el codigo de los campos a:

Código HTML:
<input name="date<? echo $datos[id] ?>" type="text" id="date<? echo $datos[date] ?>" value="<? echo $datos[date] ?>" size="10" /> 
Para que por ejemplo el dato con id 24 Quede asi el input name: date24 y así lo identifique de manera individual y no genere conflicto.

Pero al intentar ponerlo en la función update, lo trate de poner asi:
Código PHP:
mysql_query("update cliente1 SET date='{$_POST['date<? echo $datos[id?>]']}'
para que quedara: date='{$_POST['date24']}'

Pero sin embargo no funciona, supongo que no es posible realizar en sentencias de sql, por eso les pido su ayuda para resolver este problena

Gracias!