Foros del Web » Programando para Internet » PHP »

modificar datos con opcion select

Estas en el tema de modificar datos con opcion select en el foro de PHP en Foros del Web. antes que nada la pregunta anterior me fue de gran ayuda sus respuestas, y ps aki molestando de nuevo quiero modificar un registro de mi ...
  #1 (permalink)  
Antiguo 25/04/2007, 16:28
 
Fecha de Ingreso: mayo-2006
Mensajes: 21
Antigüedad: 17 años, 11 meses
Puntos: 0
modificar datos con opcion select

antes que nada la pregunta anterior me fue de gran ayuda sus respuestas, y ps aki molestando de nuevo

quiero modificar un registro de mi base de datos, asi es como lo ingreso

Estado</b><br>
<select name="estado">
<option value=Revision>Revision</option>
<option value=Proceso>Proceso</option>
<option value=Entregado>Entregado</option>
</select><br><br>

selecciono es que necesito y se va a la base de datos

ahora, como le hago para que al momento de modificarlo me salga la lista desplegable pero con la opcion que esta guardada en la base de datos y como le hago para actualizar la informacion en el registro, se que es con UPDATE o algo asi.

gracias, y espero haberme explicado
  #2 (permalink)  
Antiguo 25/04/2007, 16:34
Avatar de locojars  
Fecha de Ingreso: mayo-2002
Mensajes: 265
Antigüedad: 21 años, 11 meses
Puntos: 4
Re: modificar datos con opcion select

Pues no te has explicado bien, al menos yo no he entendido bien , pero si lo que quieres es actualizar tu BD. La sentencia es:

Código:
"update tabla set tu_campo1='".$_POST['tu_campo_form1']."', tu_campo2='".$_POST['tu_campo_form2']."' where tu_campo_clave=".$_POST['tu_campo_llave'];
Espero te sirva, sino trata de explicarnos un poco mejor.

Salu2
Jars.
__________________
No le digas a Jehová que tan grande es tu problema, dile a tu problema cuan grande es Jehová.
  #3 (permalink)  
Antiguo 25/04/2007, 16:39
 
Fecha de Ingreso: mayo-2006
Mensajes: 21
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: modificar datos con opcion select

Cita:
Iniciado por locojars Ver Mensaje
Pues no te has explicado bien, al menos yo no he entendido bien , pero si lo que quieres es actualizar tu BD. La sentencia es:

Código:
"update tabla set tu_campo1='".$_POST['tu_campo_form1']."', tu_campo2='".$_POST['tu_campo_form2']."' where tu_campo_clave=".$_POST['tu_campo_llave'];
Espero te sirva, sino trata de explicarnos un poco mejor.

Salu2
Jars.
orale, esta es una parte, gracias

bueno la otra es que en el registro recolecto datos de un select

Estado</b><br>
<select name="estado">
<option value=Revision>Revision</option>
<option value=Proceso>Proceso</option>
<option value=Entregado>Entregado</option>
</select><br><br>
ya sea cualquiera de las 3 opciones y la guarda en la base de datos, hasta aqui voy bien creo

ahora, para poder modificarla posteriormente, quiesiera saber como hacer que apoaresca el select con la opcion que elegi en la base de datos y poder cambiar el estado, me explique, o soy muy wey
  #4 (permalink)  
Antiguo 25/04/2007, 16:47
Avatar de locojars  
Fecha de Ingreso: mayo-2002
Mensajes: 265
Antigüedad: 21 años, 11 meses
Puntos: 4
Re: modificar datos con opcion select

Veamos.

Lo que quieres es que vaya a la bd compare cual es el Estado actual y dependiendo de eso se seleccione una de estas opciones???
Cita:
Estado</b><br>
<select name="estado">
<option value=Revision>Revision</option>
<option value=Proceso>Proceso</option>
<option value=Entregado>Entregado</option>
</select><br><br>
Si es asi, lo que tienes que hacer es una comparacion en cada una de las opciones para ponerle un "selected", seria algo asi:

Código PHP:
// si ya tienes el campo de la BD con el cual haras la comparacion haces lo siguiente
en cada opcion

<select name="estado">
<option value=Revision <?php if($campo_bd=="Revision"){echo"selected";}?>>Revision</option>
<option value=Proceso <?php if($campo_bd=="Proceso"){echo"selected";}?>>Proceso</option>
<option value=Entregado <?php if($campo_bd=="Entregado"){echo"selected";}?>>Entregado</option>
</select>
Espero eso es lo que quieras hacer..sino.. pues sigue intentando que ya pronto te entendemos

Salu2
Jars
__________________
No le digas a Jehová que tan grande es tu problema, dile a tu problema cuan grande es Jehová.
  #5 (permalink)  
Antiguo 25/04/2007, 17:20
 
Fecha de Ingreso: mayo-2006
Mensajes: 21
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: modificar datos con opcion select

Cita:
Iniciado por locojars Ver Mensaje
Veamos.

Lo que quieres es que vaya a la bd compare cual es el Estado actual y dependiendo de eso se seleccione una de estas opciones???


Si es asi, lo que tienes que hacer es una comparacion en cada una de las opciones para ponerle un "selected", seria algo asi:

Código PHP:
// si ya tienes el campo de la BD con el cual haras la comparacion haces lo siguiente
en cada opcion

<select name="estado">
<option value=Revision <?php if($campo_bd=="Revision"){echo"selected";}?>>Revision</option>
<option value=Proceso <?php if($campo_bd=="Proceso"){echo"selected";}?>>Proceso</option>
<option value=Entregado <?php if($campo_bd=="Entregado"){echo"selected";}?>>Entregado</option>
</select>
Espero eso es lo que quieras hacer..sino.. pues sigue intentando que ya pronto te entendemos

Salu2
Jars
eso mero, lo probare y les aviso, gracias de nuevo
  #6 (permalink)  
Antiguo 26/04/2007, 08:39
 
Fecha de Ingreso: mayo-2006
Mensajes: 21
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: modificar datos con opcion select

Código PHP:
// si ya tienes el campo de la BD con el cual haras la comparacion haces lo siguiente
en cada opcion

<select name="estado">
<option value=Revision <?php if($campo_bd=="Revision"){echo"selected";}?>>Revision</option>
<option value=Proceso <?php if($campo_bd=="Proceso"){echo"selected";}?>>Proceso</option>
<option value=Entregado <?php if($campo_bd=="Entregado"){echo"selected";}?>>Entregado</option>
</select>
ps ya lo probe pero siempre me marca la primera opcion y no la almacenada en la base de datos, porque?
  #7 (permalink)  
Antiguo 26/04/2007, 08:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: modificar datos con opcion select

Que codigo estas usando?
  #8 (permalink)  
Antiguo 26/04/2007, 09:04
 
Fecha de Ingreso: mayo-2006
Mensajes: 21
Antigüedad: 17 años, 11 meses
Puntos: 0
De acuerdo Re: modificar datos con opcion select

Código PHP:
<title>Resultados de la Busqueda</title>
<?php
include("config.php");
if(
$palabra) {
$resp mysql_query("select * from soporte where solicitud LIKE '%".$_POST[palabra]."%'") or die (mysql_error());
if(
mysql_num_rows($resp) == "0") {
echo 
"Numero de orden incorrecto o no existe";
} else {
echo 
"<strong>Resultados de la busqueda:</strong><br><br>";
while(
$sql mysql_fetch_array($resp)) {
  echo 
"· Numero de Solicitud: ".$sql[solicitud]."<br>";
  echo 
"· Fecha: ".date("d/m/Y h:i A",$sql[fecha])."<br>";
  echo 
"· Descripcion: ".$sql[descpc]."<br>";
  echo 
"· Falla: ".$sql[descfalla]."<br>";
  echo 
"· Estado: ".$sql[estado]."<br>";
  echo 
"· Observaciones: ".$sql[observacion]."<br>";
?>
<select name='estado'> 
<option value=Revision <?php if($estado=="Revision"){echo"selected";}?>>Revision</option> 
<option value=Proceso <?php if($estado=="Proceso"){echo"selected";}?>>Proceso</option> 
<option value=Entregado <?php if($estado=="Entregado"){echo"selected";}?>>Entregado</option> 
</select> 
<?
}
echo 
"<br><br><b>Pulse <a href='form.php'>aqui</a> para realizar otra busqueda</b>";
echo 
"<br><b>Pulse <a href='index.html'>aqui</a> ir a la pagina principal";

}
?>
<form action="modificar.php" method="post">
Numero de solicitud: <input type="text" size="7" maxlength="7" name="palabra" class="form"><br>
<input type="submit" name="enviar" value="Buscar" class="form">
</form>
apenas le voy a poner la sentencia update para actualizar he?

pero ps necesito como le hago para que el select saque por default la opcion seleccionada en la base de datos

gracias
  #9 (permalink)  
Antiguo 26/04/2007, 09:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: modificar datos con opcion select

2 Cosas:

1.- No veo donde defines tu variable $estado.
2.- Tus arrays no los debes hacer asi:
Código PHP:
$_POST[palabra]; 
Deben de ser asi:
Código PHP:
$_POST['palabra']; 
O de lo contrario si lo subes a un host que tenga E_STRICT activado tu programa generara muchos errores.
  #10 (permalink)  
Antiguo 26/04/2007, 09:24
 
Fecha de Ingreso: mayo-2006
Mensajes: 21
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: modificar datos con opcion select

y donde se define
  #11 (permalink)  
Antiguo 26/04/2007, 09:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: modificar datos con opcion select

Esa es mi pregunta, para comparar y que te ponga el codigo de selected en el if, tu variable de $estado tiene que ser igual a algo, en este caso a tu resultado que viene de la base de datos, si no la igualas a nada, no te va a seleccionar a nada.
  #12 (permalink)  
Antiguo 26/04/2007, 09:49
 
Fecha de Ingreso: mayo-2006
Mensajes: 21
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: modificar datos con opcion select

si te entendi, pero ps soy bien novato en esto, eso como lo haria :(:(
  #13 (permalink)  
Antiguo 26/04/2007, 10:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: modificar datos con opcion select

Pues dependiendo de tu tabla en la base de datos yo cambiaria $estado por $sql['estado'], o igualar $estado = $sql['estado'];
  #14 (permalink)  
Antiguo 27/04/2007, 12:27
 
Fecha de Ingreso: mayo-2006
Mensajes: 21
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: modificar datos con opcion select

Código PHP:
<?
include("config.php");

if(
$palabra) {
$resp mysql_query("select * from soporte where solicitud LIKE '%".$_POST[palabra]."%'") or die (mysql_error());
if(
mysql_num_rows($resp) == "0") {
echo 
"Numero de orden incorrecto o no existe";
} else {


echo 
"<strong>Resultados de la busqueda:</strong><br><br>";
while(
$sql mysql_fetch_array($resp)) {
  echo 
"· Estado: ".$sql[estado]."<br>";
?>
<select name='estado'> 
<option value=Revision>Revision</option> 
<option value=Proceso>Proceso</option> 
<option value=Entregado>Entregado</option> 
</select>
<input type="submit" name="actual" value="Actualizar">
<?
}
echo 
"<br><br><b>Pulse <a href='form.php'>aqui</a> para realizar otra busqueda</b>";
echo 
"<br><b>Pulse <a href='index.html'>aqui</a> ir a la pagina principal";

}
?>
<form action="modificar.php" method="post">
Numero de solicitud: <input type="text" size="7" maxlength="7" name="palabra" class="form"><br>
<input type="submit" name="enviar" value="Buscar" class="form">
</form>
en que parte y como pongo la sentencia update para actualizar en la base de datos, es un ejemplo para poder comprenderlo he, gracias
  #15 (permalink)  
Antiguo 27/04/2007, 14:21
Avatar de eskorbutin  
Fecha de Ingreso: junio-2006
Mensajes: 65
Antigüedad: 17 años, 9 meses
Puntos: 2
De acuerdo Re: modificar datos con opcion select

mira, al dar clic en el select de tu form se lleva a cabo la accion change del selct, lo que tienes que haces es:
la segunda linea debe ir antes de cualquier codigo html, php, cualquier cosa, session_start(); (te sirve para actualizar el campo).
Código PHP:
<? 
session_start
();
include(
"config.php"); 
if (isset(
$_POST['estado'])) {
$resp mysql_query("UPDATE tabla SET campo = '" $_POST['estado'] . "' WHERE solicitud = '%"$_SESSION['numeroDeSolicitud'] . "%'") or die (mysql_error()); 
echo 
'Se modifico el estado correctamente';
}
if(
$palabra) { 
$_SESSION['numeroDeSolicitud'] = $_POST['palabra']; 
$resp mysql_query("select * from soporte where solicitud LIKE '%".$_POST[palabra]."%'") or die (mysql_error()); 
if(
mysql_num_rows($resp) == 0) { 
echo 
"Numero de orden incorrecto o no existe"
} else { 


echo 
"<strong>Resultados de la busqueda:</strong><br><br>"

while(
$sql mysql_fetch_array($respMYSQL_ASSOC)) { 
  echo 
"· Numero de Solicitud: ".$sql['solicitud']."<br>"
  echo 
"· Fecha: ".date("d/m/Y h:i A",$sql['fecha'])."<br>"
  echo 
"· Descripcion: ".$sql['descpc']."<br>"
  echo 
"· Falla: ".$sql['descfalla']."<br>"
  echo 
"· Estado: ".$sql['estado']."<br>"
  echo 
"· Observaciones: ".$sql['observacion']."<br>"
?> 

<form name='SelctEstado' method='post'>
<select name='estado' onchange='SelectEstado.submit()'>  
<option value=Revision>Revision</option>  
<option value=Proceso>Proceso</option>  
<option value=Entregado>Entregado</option>  
</select> 
</form>

<? 

echo 
"<br><br><b>Pulse <a href='form.php'>aqui</a> para realizar otra busqueda</b>"
echo 
"<br><b>Pulse <a href='index.html'>aqui</a> ir a la pagina principal"
}  

?>
//Este formulario yo solo lo usaria para buscar algun número de solicitud 
<form action="modificar.php" method="post"> 
Numero de solicitud: <input type="text" size="7" maxlength="7" name="palabra" class="form"><br> 
<input type="submit" name="enviar" value="Buscar" class="form"> 
</form>
OJO: en la sentencia UPDATE debes cambiar: tabla y campo, por sus respectivos nombres.

De esta forma, al seleccionar algún estado, este se actualizara en la base de datos, dando el valor del value que tenga el option seleccionado. Si selecciona Revisión le dara el valor que tenga el value de ése <option>.


Intentalo y posteas.!!!

Última edición por eskorbutin; 27/04/2007 a las 14:44
  #16 (permalink)  
Antiguo 27/04/2007, 15:11
 
Fecha de Ingreso: mayo-2006
Mensajes: 21
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: modificar datos con opcion select

ps no me funciono, ya estuve viendo el codigo, pero ps no se actualiza el estado
  #17 (permalink)  
Antiguo 27/04/2007, 15:25
Avatar de eskorbutin  
Fecha de Ingreso: junio-2006
Mensajes: 65
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: modificar datos con opcion select

ya vi por que, me equivoqué, va de esta forma en la condición:

Código PHP:

if (isset($_POST['estado'])) { 
mysql_query("UPDATE tabla SET campo = '" $_POST['estado'] . "' WHERE solicitud = '%"$_SESSION['numeroDeSolicitud'] . "%'") or die (mysql_error());  

}
echo 
'Se modifico el estado correctamente'

Lo que estaba pasando era que la función mysql_query() no se ejecutaba, sólo se guardaba en la variable $resp, disculpa
  #18 (permalink)  
Antiguo 27/04/2007, 16:11
 
Fecha de Ingreso: mayo-2006
Mensajes: 21
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: modificar datos con opcion select

if (isset($_POST['estado'])) {
mysql_query("UPDATE tabla SET campo = '" . $_POST['estado'] . "' WHERE solicitud = '%". $_SESSION['numeroDeSolicitud'] . "%'") or die (mysql_error());

}
echo 'Se modifico el estado correctamente';

esta parte que hace en si, y si aparece el mensaje de que se cambio el estado, pero no lo cambia

Código PHP:
WHERE solicitud '%". $_SESSION['numeroDeSolicitud] . 
es una duda, que actualiza ahi o como funcioa, se que son sesiones, pero no entiendo bien

por el momento esta es la base de datos que estoy usando para probar esto:

CREATE TABLE soporte (
id tinyint(7) unsigned NOT NULL auto_increment,
solicitud tinyint(7) not null,
fecha int(10) unsigned not null,
cliente varchar(50) not null,
direccion varchar(100) not null,
telefono tinyint(13) not null,
email varchar(20) not null,
tiposerv varchar(30) not null,
factura tinyint(7) unsigned not null,
descpc varchar(200) not null,
descfalla varchar(200) not null,
observacion varchar(200) not null,
asignado varchar(20) not null,
estado varchar(20) not null,
primary key (id, solicitud),
index(solicitud)
)

Última edición por Gainax; 27/04/2007 a las 16:25
  #19 (permalink)  
Antiguo 27/04/2007, 16:35
Avatar de eskorbutin  
Fecha de Ingreso: junio-2006
Mensajes: 65
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: modificar datos con opcion select

Se supone que vas a hacer una busqueda a través de un formulario:

Código HTML:
<form action="modificar.php" method="post">  
Numero de solicitud: <input type="text" size="7" maxlength="7" name="palabra" class="form"><br>  
<input type="submit" name="enviar" value="Buscar" class="form">  
</form> 
Supongo que la página en donde tienes este código se llama modificar.php, si es así, cuando cargue la página va a verificar si has introducido algo en la caja de texto, si es así, hace la busqueda y lo que hás introducido en el campo se guarda en la variable numeroDeSolicitud para no perder el valor del registro que posiblemente actualizaremos con el <select> (presisamente para eso son las variables de sesión para mantener valores en direfentes páginas):

Código PHP:
if($palabra) {  
$_SESSION['numeroDeSolicitud'] = $_POST['palabra'];  
...
...
... 
entonces cuando cambiemos el valor del estado, lo actualizara de esta forma:

Código PHP:
UPDATE tabla SET campo '" . $_POST['estado'] . "' WHERE solicitud '%". $_SESSION['numeroDeSolicitud'] . "%' 

Se traduciria como:
ACTUALIZA la tabla NombreTabla ASIGNANDO el valor de ElValorSeleccionado al campo estado DONDE el campo solisitud sea igual a ElNumeroDeSolicitudBuscada.

es decir, WHERE solicitud = '%". $_SESSION['numeroDeSolicitud'] . "%'
te sirve para decirle que registro debe modificar, por que si no lo especificas un registro en particular, se van a modificar todos los registros que tengas en tu tabla.



Se usa por que se supone que vas a actualizar el registro que actualmente estas viendo en pantalla, o no es así?

Última edición por eskorbutin; 27/04/2007 a las 16:41
  #20 (permalink)  
Antiguo 27/04/2007, 16:41
 
Fecha de Ingreso: mayo-2006
Mensajes: 21
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: modificar datos con opcion select

orale, pero ps no actualiza, si te entendi, pero no se porque no actualiza el estado
  #21 (permalink)  
Antiguo 27/04/2007, 16:48
Avatar de eskorbutin  
Fecha de Ingreso: junio-2006
Mensajes: 65
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: modificar datos con opcion select

agregame mejor, enter_cps(arroba)hotmail.com

(si quieres, jaja)
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 13:01.