Ver Mensaje Individual
  #6 (permalink)  
Antiguo 17/04/2003, 11:02
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Ok, ..

Bueno, hay dos técnicas para editar tus registros de un listado ..

1) .. la que te propongo .. Osese, en el listado que haces:
Código PHP:
<?php
//Mostramos los registros
while ($row=mysql_fetch_array($consulta))
{
?>
<tr>
<td><? echo $row["fecha"?></td>
<td><? echo $row["localidad"?></td>
<td><? echo $row["hora"?></td>
<td><a href="editar.php?id=<? echo $row["id"?>">editar este registro.</a></td>
<?php
}
?>
Como veras .. SE necesita un ID (identificador UNICO de ese registro .. ) No sé como tendras la estructura de esa tabla (SQL) pero necesitas SI o SI es campo ID (unico y autonumercio) .. que Identifique ese registro como diferente a los demas (unico).

En editar.php recoges el ID del registro y haces una consulta tipo:

Código PHP:
<?
$id
=$_GET['id']; //recoges el ID variable que te entra por GET (por el URL).

// haces una consulta SELECT * FROM tabla WHERE id='$id' para obtener ese UNICO registro q vas a editar ..
// Tu formulario lo generas como pusistes antes usando los campos Value ..

// AL editar (enviar al submit) .. envias a otro script o a la misma página (gestionanado alguna variable de control que indique el estado q está o debe hacer) .. Y haces tu UPDATE ..

"Update nombre_de_la_tabla Set  fecha='$fecha',localidad='$localidad',hora='$hora' WHERE id='$id'";
?>
Osese, si vas a editar SOLO un registro .. o ves que tienes muchos datos que editar .. Es recomendable que lo hagas así .. Lo mismo puedes poner mas "links (botones)" tipo Borrar este registro .. etc ..

2) .. Si quieres hacerlo todo de una vez (editar todos esos registros de una vez ..)

* Necesitas el famoso ID en tus tablas ..

* En todos los nombres de los campos de tu formualrio .. han de ser ARRAYS .. ademas .. el indice del array ha de ser un $contador (tipo $contador++) en tu bucle:
Código PHP:
$contador=0;
while(...) {
// etc tu código ..
 
$contador++;
 }; 
name="fecha[$contador]"
name="otrocampo[$contador]"
name="id[$contador]"
(así con todos)

* (por supuesto .. la definicion del formulario <form . .y cierrer del </form> .. ha de estar FUERA de tu bucle while que usas para mostrar todos esos regitros ..

* Donde edites esos registros .. necesitas recorrer esos arrays por ejemplo:

Código PHP:
for ($contador=0$contador <= count($id); $contador++){
   
$id=$id[$contador];
   
$fecha=$fecha[$contador]; 
   
$otrocampo=$otrocampo[$contador];

   
$sql="UPADATE tabla SET fecha='$fecha' .. etc con tus campos WHERE id='$id'"// Defines la consulta
   
mysql_query($sql) or die (mysql_error()); // ejecutas la consulta


Un salduo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 17/04/2003 a las 11:08