Foros del Web » Programando para Internet » PHP »

Editar resultado de consulta

Estas en el tema de Editar resultado de consulta en el foro de PHP en Foros del Web. Buenas noches tengo una bd en mysql llamada netbooks con una tabla llamada estado_netbooks. con la siguiente estructura id nombre apellido documento mail. Cree una ...
  #1 (permalink)  
Antiguo 07/05/2012, 18:25
 
Fecha de Ingreso: junio-2010
Mensajes: 25
Antigüedad: 13 años, 10 meses
Puntos: 0
Pregunta Editar resultado de consulta

Buenas noches
tengo una bd en mysql llamada netbooks con una tabla llamada estado_netbooks. con la siguiente estructura id nombre apellido documento mail. Cree una consulta para buscar en la tabla y lo muestro en un <table> asi
id nombre apellido documento mail
1 pepe lopez 12345667 [email protected].

esto lo muestro dentro de un form con imput por lo que puedo modifircarlo simplemente
EL problema es que a lo ultimo quiero agregar un boton eliminar y uno editar Actualmente hice el boton editar que me lleva a un archivo.php que hace un update todo eso funciona bien si el resultado es uno solo. El problema es que si yo busco pepe y hay mas de un pepe no me lo edita porque obviamente no sabe que editar con el codigo que yo he puesto. Necesito saber como hacer para que actualice solo la linea en la que aprieto el boton. aca pongo el codigo

$result = mysql_query("SELECT * FROM estado_netbooks WHERE CONCAT(Nombre,Apellido,Curso,Documento,Marca,Serie ,Problema,Estado,Reclamo,Garantia) LIKE '%$buscar%' ORDER BY Nombre", $link);
$encontrados = mysql_num_rows($result);
//Mostramos el encabezado de los resultados dentro de un formulario que actualizará datos

echo"<form action=actualizar.php method =post><table border=1 cellspacing=1 cellpadding=1>

<tr>
<td><b>id</b></td>
<td><b>Nombre</b></td>
<td><b>Apellido</b></td>
<td><b>Curso</b></td>
<td><b>Documento</b></td>
<td><b>Marca</b></td>
<td><b>Serie</b></td>
<td><b>Problema</b></td>
<td><b>Tipo</b></td>
<td><b>N Garan.</b></td>
<td><b>Est Garantia</b></td>
</tr>";

if ($encontrados > 0) {
//Creamos el bucle para los resultados
while($row=mysql_fetch_array($result)){

echo"
<tr>
<td><input type=text name=id size=1 maxlength=30 value=$row[id]></td>
<td><input type=text name=nombre size=13 maxlength=30 value=\"$row[Nombre]\"></td>
<td><input type=text name=apellido size=15 maxlength=30 value=$row[Apellido]></td>
<td><input type=text name=curso size=2 maxlength=4 value=$row[Curso]></td>
<td><input type=text name=documento size=8 maxlength=8 value=$row[Documento]></td>
<td><input type=text name=marca size=3 maxlength=3 value=$row[Marca]></td>
<td><input type=text name=serie size=14 maxlength=15 value=$row[Serie]></td>
<td><input type=text name=problema size=30 maxlength=50 value=\"$row[Problema]\"></td>
<td><input type=text name=tipo size=10 maxlength=30 value=$row[Estado]></td>
<td><input type=text name=reclamo size=8 maxlength=30 value=$row[Reclamo]></td>
<td><input type=text name=garantia size=15 maxlength=30 value=$row[Garantia]></td>
<td><input type=submit name=boton value=ACTUALIZAR></td>
</tr>";

}
echo"</table></form>";
} else{
echo 'No se encontraron resultados';
}

Desde ya muchas gracias
  #2 (permalink)  
Antiguo 07/05/2012, 18:47
Avatar de educhip  
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 84
Antigüedad: 15 años, 11 meses
Puntos: 6
Respuesta: Editar resultado de consulta

Buenas noches, mira, en la tabla de la base de datos debes tener un campo id, que tiene que ser unico, no nulo y autoincrementable.

Cuando vas a editar un registro y llamas al archivo editar.php debes pasarle el id del registro a modificar, lo puedes hacer con el método GET, en cuyo caso sería:
<a href="editar.php?id=<?php echo encontrados['id'];?>">modificar</a>
O por el método post introduciendo un campo de formulario hidden.

Y esto lo recibes en el archivo php, de modo que al hacer el UPDATE pondrías lo siguiente

UPDATE netbooks SET campo=$valor..... WHERE id=$id;

De esa forma solo seleccionas el registro con el id que has recibido.
Para eliminar tienes que hacer lo mismo ok?

Saludos.
  #3 (permalink)  
Antiguo 07/05/2012, 19:06
 
Fecha de Ingreso: junio-2010
Mensajes: 25
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Editar resultado de consulta

Hola si muchas gracias lo que no sabia es si de esa manera el metodo envia el id de la fila que hice click esto es asi entonces? Ahora el problema es que me sa este error.
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\wamp\www\netbooks\buscador.php on line 54

la linea 54 es la que agregué lo que me dijiste

gracias
  #4 (permalink)  
Antiguo 07/05/2012, 19:10
 
Fecha de Ingreso: junio-2010
Mensajes: 25
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Editar resultado de consulta

Ademas necesito pasar el id y todos los datos tambien ya que la idea es que al apretar se modifique y no tenga que ir a otro formulario me explico? por eso el resultado de la consulta los pongo en input.
  #5 (permalink)  
Antiguo 08/05/2012, 06:04
Avatar de educhip  
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 84
Antigüedad: 15 años, 11 meses
Puntos: 6
Respuesta: Editar resultado de consulta

Hola, el error que comentas:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\wamp\www\netbooks\buscador.php on line 54

tiene pinta de que te falte un ; en la línea anterior, revisa eso.

Para modificar el registro sólo necesitas pasar el id, por eso en la consulta haces WHERE id=$id;

Si no te funciona, dinos el error y pega el código.

Saludos.
  #6 (permalink)  
Antiguo 08/05/2012, 11:34
 
Fecha de Ingreso: junio-2010
Mensajes: 25
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Editar resultado de consulta

Hola arriba puse el codigo y se ve la linea que supuestamente le falta un ; pero no se adonde iria, ademas funciona hasta que pongo el link que me pasaste y ahi deja de funcionar (obviamente funciona como explique arriba solo cuando el resultado es uno solo) gracias
  #7 (permalink)  
Antiguo 08/05/2012, 13:03
 
Fecha de Ingreso: septiembre-2010
Mensajes: 41
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Editar resultado de consulta

Hola, sobre el error intenta poner las comillas simples en cambio de \" poner '
i mirar bien los cierres ;
estos errores salen por las comillas mal cerradas o por falta ;
o por un punto (.)o coma (,)
si no lo encuentras pon codigo entero otra vez pero con
<a href="editar.php?id=<?php echo encontrados['id'];?>">modificar</a>

pegado
  #8 (permalink)  
Antiguo 08/05/2012, 16:27
 
Fecha de Ingreso: junio-2010
Mensajes: 25
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Editar resultado de consulta

Hola sigo con el mismo error a mi me parece que para que funcione, la tabla tiene que estar armada de esta manera

td><?php echo $row['id']; ?></td>
td><?php echo $row['nombre']; ?></td>
td><?php echo $row['apellido']; ?></td>
td><?php echo $row['curso']; ?></td>

y no con los input como lo tengo en el codigo de arriba. EL problema es que yo quiero que sea con input para editar ahi mismo.
  #9 (permalink)  
Antiguo 09/05/2012, 07:25
 
Fecha de Ingreso: junio-2010
Mensajes: 25
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Editar resultado de consulta

Hola logre que ya no me diera ese error verificando unas comillas que estaban mal como bien dice "taldigi". EL problema ahora es que cuando hago click en modificar me sale error en todas las variables me dicen que estan indefinida como que no mado bien el valor en URL. Al hacer clik en modificar me lleva a un actualizar.php donde recupero las variables por get pero parece que no las envio bien.
Como decia antes tengo que mandar no solo el id en la url sino todos los campos de esa fila.
  #10 (permalink)  
Antiguo 09/05/2012, 07:52
Avatar de educhip  
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 84
Antigüedad: 15 años, 11 meses
Puntos: 6
Respuesta: Editar resultado de consulta

Hola, revisa cómo se hace un paso de parámetros por la URL, es sencillo y es algo que debes tener claro, prueba primero pasando sólo una y después añades más.

Y con respecto a pasar sólo el id, perdona pero quizás me expresé mal. Para editar sí debes pasar todos los campos ya que pueden contener valores nuevos actualizados, es en el caso de eliminar dónde pasando el id es suficiente.

Ánimo que con estos tropezones son con los que más se aprende.

Saludos.
  #11 (permalink)  
Antiguo 09/05/2012, 15:07
 
Fecha de Ingreso: junio-2010
Mensajes: 25
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Editar resultado de consulta

Hay algo que no entiendo: si yo busco por ejemplo el nombre pepe y la consulta me devuelve:
id nombre apellido
1 pepe perez editar
2 pepe gonzalez editar
3 pepe henriquez editar

si yo hago click en editar de pepe gonzalez y paso por get id nombre y apellido cuando los recupero en editar.php va a recuperar los valor de esa fila? porque me parece que al haber mas de un nombre id y apellido no toma ninguno. Me explico?
  #12 (permalink)  
Antiguo 15/05/2012, 13:16
 
Fecha de Ingreso: septiembre-2010
Mensajes: 41
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Editar resultado de consulta

Hola,
esto es asi
seleciona campo que se llama nombre y otro campo que se llama apellido de tabla contactos donde id de formulario es igual que campo id
SELECT 'nombre', 'apellido' FROM contactos WHERE $REQUEST['id'] = 'id'
entonces se recuperan campos solo estos que tienen id igual que pj id de formulario


ejemplo
id=1 nombre=pepe apellido =perez
id =2 nombre=pepe apellido= gonzalez
id =3 nombre= pepe apellido=henriquez

ahora
pulsas el link
gonzales <a href=editar.php?id=2>editar</a>

entonces $REQUEST['id'] es 2

por esto se selecciona solo campos de id =2
en este caso
id =2 nombre=pepe apellido= gonzalez
tambien se puede hacer
SELECT * FROM contactos WHERE $REQUEST['id'] = 'id'

Etiquetas: formulario, mysql, sql, tabla, resultados
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 22:21.