Foros del Web » Programando para Internet » PHP »

Problema con Update en MySQL

Estas en el tema de Problema con Update en MySQL en el foro de PHP en Foros del Web. Hola, les cuento, estoy haciendo un pequeño software de administración de clientes de una empresa de radio taxis. La idea es ingresar sus datos, que ...
  #1 (permalink)  
Antiguo 17/08/2006, 13:49
 
Fecha de Ingreso: junio-2006
Mensajes: 11
Antigüedad: 17 años, 9 meses
Puntos: 0
Problema con Update en MySQL

Hola, les cuento, estoy haciendo un pequeño software de administración de clientes de una empresa de radio taxis. La idea es ingresar sus datos, que estos queden registrados y que más tarde se ingrese el valor del viaje que hizo la persona, el numero de movil, la patente y el nombre del conductor. Hasta alli vamos bien. El problema viene cuando necesito hacer un Update para ingresar lso valores anteriormente mencionados, ya que haciendolo de una forma me escribe los datos ingresados y me los repite para todos los usuarios. La ultima forma en que stoy haciendolo es esta:

UPDATE usuarios SET precio=%s, num_movil=%s, patente=%s, nom_conductor=%s WHERE id_usuarios=40

pero de esta manera solo estoy actualizando el cliente con ID40. ¿Como puedo hacer para actualizar los datos de otro cleinte sin pasar a llevar los demás?

Espero sus sabios consejos.
Gracias
  #2 (permalink)  
Antiguo 17/08/2006, 14:29
 
Fecha de Ingreso: septiembre-2003
Mensajes: 384
Antigüedad: 20 años, 7 meses
Puntos: 0
lo siento podrias explicarte mejor??, si es posible pon tu codigo y explica por paso, porque en esto de programacion, es muy dificl adivinar :P lo que hace el otro.

saludos,
__________________
-----------------------------
Edgar Gonzalez
  #3 (permalink)  
Antiguo 17/08/2006, 14:30
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
Sólo haciendo un ciclo en el que en cada iteracion actualices un determinado id_usuario.
  #4 (permalink)  
Antiguo 17/08/2006, 14:43
 
Fecha de Ingreso: septiembre-2003
Mensajes: 384
Antigüedad: 20 años, 7 meses
Puntos: 0
uuuh si ya vi lo que quieres hacer, es eto:

Código PHP:
//te conectas a la db
$db->conectas();

// Tu consulta a la tabla de usuarios
$consulta=mysql_query("Select * from tabla_usuarios");
// Cantidad de usuarios
$cantidad_usuarios=mysql_num_rows($consulta);

//entonces puedes hacer un for que valla desde 1 hasta la cantidad de usuarios
for($n=1;$n<=$cantidad_usuarios;$n++)
    {
    
// El update que quieres hacer y donde dice:
    
mysql_query("UPDATE usuarios SET precio=%s, num_movil=%s, patente=%s,nom_conductor=%s WHERE id_usuarios='$n'") or die (" Error en Update");

    } 
ojala y esto te sirva y plis por favor, mientras mejor explicas tus problemas mas facil aprendemos de ellos, me ha tocado veces que explicandoles a otros mis problemas de logica, me aclaro yo mismo.

saludos,
__________________
-----------------------------
Edgar Gonzalez
  #5 (permalink)  
Antiguo 19/08/2006, 11:12
 
Fecha de Ingreso: junio-2006
Mensajes: 11
Antigüedad: 17 años, 9 meses
Puntos: 0
Gracias... creo que con tu ayuda he ido acercandome a lo que busco... pero te cuento de nuevo... quizas me explique mal anteriormente. Tengo dos páginas en php una que se llama boleta_cliente.php que es en donde almaceno a todos los clientes y donde me muestra sus datos, es decir, el lugar hacia donde realizó el viaje, la fecha, el precio de este, nº de movil, patente del vehiculo y nombre de conductor. Además de un pequeño boton que dice editar datos, el cuál me lleva a la segunda página que se llama editar_datos.php, en donde tengo un pequeño formulario de 4 campos, valor viaje, nº movil, patente y nombre conductor. La idea de hacer esto es que pueda actualizar solo estos datos, ya que los otros ya fueron ingresados. Al actualizar estos datos de la manera que les explicaba anteriormente me lo hacia en todas las filas de la boleta_clientes.php (en donde cada fila tiene un id distinto).

Con lo que me acaba de explicar eagoweb2, al querer ir de mi página boleta_clientes a editar_datos me dice error al actualizar, que es lo que definimos en la linea del Update. Quizas cometi el error de decirles que en editar_datos tengo el formulario que ingresara los datos a cambiar.

¿Como deberia hacerlo en ese caso?
  #6 (permalink)  
Antiguo 19/08/2006, 12:26
 
Fecha de Ingreso: septiembre-2003
Mensajes: 384
Antigüedad: 20 años, 7 meses
Puntos: 0
oh creo que te entendi, entonces necesitarias pasar de la primera pagina a la de actualizacion una variable con el valor del id del cliente:

entonces el codigo seria asi:

imaginando que pases el id por una variable de session

Código PHP:
//te conectas a la db
$db->conectas();

$id=$_SESSION['usuario_id'];
//entonces puedes hacer un for que valla desde 1 hasta la cantidad de usuarios
// El update que quieres hacer y donde dice:
mysql_query("UPDATE usuarios SET precio=%s, num_movil=%s, patente=%s,nom_conductor=%s WHERE id_usuarios='$id") or die (" Error en Update"); 
recuerda que cuando el cliente entra puedes crear una variable de session para que asi nada mas sea quien pueda editar sus datos.

seria algo como esto
Código PHP:
// haces una consulta a la DB pidiendo el id
$consul=mysql_query("Select id_usuario from $tabla where usuario=$usuario");
$consulta=mysql_fetch_array($consul);
$_SESSION['usuario_id']=$consulta['id_ususario']; 
__________________
-----------------------------
Edgar Gonzalez
  #7 (permalink)  
Antiguo 19/08/2006, 12:58
 
Fecha de Ingreso: junio-2006
Mensajes: 11
Antigüedad: 17 años, 9 meses
Puntos: 0
Disculpa que sea tan duro, pero el segundo codigo iria en la pagina editar_datos???
  #8 (permalink)  
Antiguo 19/08/2006, 12:59
 
Fecha de Ingreso: junio-2006
Mensajes: 11
Antigüedad: 17 años, 9 meses
Puntos: 0
Mejor te dejo el codigo para que lo veas y me digas con exactitud como lo hago... por favor. Gracias.
  #9 (permalink)  
Antiguo 19/08/2006, 15:54
 
Fecha de Ingreso: septiembre-2003
Mensajes: 384
Antigüedad: 20 años, 7 meses
Puntos: 0
ah no perdona el segundo codigo seria para guardar el id del usuario en una variable de session y va en la pagina donde autentificas al usuario
__________________
-----------------------------
Edgar Gonzalez
  #10 (permalink)  
Antiguo 19/08/2006, 16:50
 
Fecha de Ingreso: junio-2006
Mensajes: 11
Antigüedad: 17 años, 9 meses
Puntos: 0
Disculpa... es posible que me des tu MSN o algun correo en donde te pueda enviar los archivos y los puedas ver. Te lo pido ya que soy nuevo en este foro y no me deja pegar aqui el codigo hasta una cierta cantidad de mensajes.

Por favor.
Gracias
  #11 (permalink)  
Antiguo 19/08/2006, 18:33
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Cita:
Iniciado por gafg Ver Mensaje
Te lo pido ya que soy nuevo en este foro y no me deja pegar aqui el codigo hasta una cierta cantidad de mensajes.
Lo que no se permite es dejar enlaces. El "insertar código" sí es permitido (sigue siendo "texto").

Te sugiero leas las Políticas de Foro. La idea del foro es mantener las discuciones "abiertas" para que todos --si así se dá el caso-- puedan sacar provecho de los casos que aquí se van presentando.

Más allá de que te resulvan tu problema sería bueno tú mostraras cómo es que haz estado implementando las diferentes "soluciones" que se te van sugiriendo... muestra tu código implicado (aquí) y en caso de haber errores menciona exáctamente cuáles.

Saludos.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #12 (permalink)  
Antiguo 19/08/2006, 23:04
 
Fecha de Ingreso: septiembre-2003
Mensajes: 384
Antigüedad: 20 años, 7 meses
Puntos: 0
no importa gafg, no te molestes en enviarmelo, solo ponlo aqui y como dice jam113, asi aprendemos todo ( por eso se llama foro ), pegalo todo y explicame bien lo que quieres hacer, que al parecer no se ve que sea tan dificil, aprovecha ahora que tengo tiempo,
saludos,
__________________
-----------------------------
Edgar Gonzalez
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 20:48.