Foros del Web » Programando para Internet » PHP »

enviar el valor de un campo lista

Estas en el tema de enviar el valor de un campo lista en el foro de PHP en Foros del Web. buenas antes que todo gracias por la ayuda.. soy nuevo en programacion con php hago aqui la pregunta porque estoy trabajando en html y php. ...
  #1 (permalink)  
Antiguo 24/06/2015, 11:37
 
Fecha de Ingreso: enero-2007
Mensajes: 58
Antigüedad: 17 años, 2 meses
Puntos: 3
enviar el valor de un campo lista

buenas antes que todo gracias por la ayuda..
soy nuevo en programacion con php hago aqui la pregunta porque estoy trabajando en html y php.
resulta que tengo un formulario grid que trae los datos de una tabla de todas las requisiciones confeccionadas. entre los datos esta un campo select que despliega de una tabla de usuarios los nombres de los usuarios del sistema.
lo que necesito es que al seleccionar un usuario de la lista y darle click a un link "asignar" me actualice la tabla de las requisiciones con el nombre de usuario seleccionado en la lista


este es codigo del campo lista:
Código:
        <td><select name="UserEsp" id="UserEsp">
          <?php
			do {  
			?>
			<option value="<?php echo $row_ConsultaUserPres['Usuario']?>"><?php echo $row_ConsultaUserPres['Nombre']?></option>
					  <?php
			} while ($row_ConsultaUserPres = mysql_fetch_assoc($ConsultaUserPres));
			  $rows = mysql_num_rows($ConsultaUserPres);
			  if($rows > 0) {
				  mysql_data_seek($ConsultaUserPres, 0);
				  $row_ConsultaUserPres = mysql_fetch_assoc($ConsultaUserPres);
			  }
			?>
        </select> <a href="asignar_req_pres.php?VarUser=<?php echo $row_ConsultaUserPres['Usuario']; ?>&VarReq=<?php echo $row_ConsultaReq['NumRequisicion']; ?>">Asignar</a></td>
este es el codigo del php que actualiza:
Código:
if ((isset($_GET['VarUser'])) && ($_GET['VarUser'] != "")) {
	$VarUsuario = $_GET['VarUser'];
	$updateSQL = sprintf("UPDATE requisicion SET requisicion.AsignadoPres=%sWHERE requisicion.NumRequisicion=%s",
					   GetSQLValueString($VarUsuario, "text"),
					   GetSQLValueString($VarReq, "text"));

  mysql_select_db($database_SRE, $SRE);
  $Result1 = mysql_query($updateSQL, $SRE) or die(mysql_error());
}
lo que esta haciendo es actualizarme siempre con el primer valor de la lista, no importa que opcion tome siempre actualiza con el primero.

gracias por ayudarme, me estoy rompiendo la cabeza, y he buscado por dias en la internet y no encuentro una solucion.
  #2 (permalink)  
Antiguo 24/06/2015, 12:04
Avatar de alealvaro  
Fecha de Ingreso: junio-2004
Ubicación: BA - Argentina
Mensajes: 210
Antigüedad: 19 años, 10 meses
Puntos: 12
Respuesta: enviar el valor de un campo lista

Hola!

Te actualiza siempre por el primero porque es el que se indica en el link de "Asignar"

Código PHP:
Ver original
  1. <a href="asignar_req_pres.php?VarUser=<?php echo $row_ConsultaUserPres['Usuario']; ?>

VarUser siempre tiene el primer usuario. Lo que podrías hacer es que al hacer click en "Asignar" haga una llamada por ajax para actualizar según el valor actual del select. O sino al menos, con un poco de js, capturar el click en "Asignar" y actualizarle ese campo.

Avisa si necesitas ayuda con eso! Saludos!
__________________
Always learning a little more...
Videos y frases para dedicar
Quotes and Phrases for You
  #3 (permalink)  
Antiguo 25/06/2015, 13:09
 
Fecha de Ingreso: enero-2007
Mensajes: 58
Antigüedad: 17 años, 2 meses
Puntos: 3
Respuesta: enviar el valor de un campo lista

de verdad no hay otra opcion?....
  #4 (permalink)  
Antiguo 25/06/2015, 14:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: enviar el valor de un campo lista

El usar un formulario y enlace al mismo tiempo produce una desconexión total de los datos.

Los enlaces son independientes de los formularios y con ellos no puedes mantener el estado del formulario dónde se encuentre.

Ese es tu primer problema, si en vez de un enlace hubieras usado un botón entonces la historia es otra: los botones están diseñados para existir y significar algo dentro de los formularios.

Es decir: el enlace es incapaz de obtener el valor del <select> asociado.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 01/07/2015, 14:04
 
Fecha de Ingreso: enero-2007
Mensajes: 58
Antigüedad: 17 años, 2 meses
Puntos: 3
Respuesta: enviar el valor de un campo lista

debo cambiar el enlace por un boton?
voy a intentarlo a ver como me va

gracias..
  #6 (permalink)  
Antiguo 02/07/2015, 14:15
 
Fecha de Ingreso: enero-2007
Mensajes: 58
Antigüedad: 17 años, 2 meses
Puntos: 3
Respuesta: enviar el valor de un campo lista

ok este es el codigo que hice aun sigue haciendo lo mismo me agrega la primera opcion de la lista de asignar_a.
Código:
if(isset($_POST['Actualizar'])=='Actualizar') {
	$Usuario = $_POST['UserEsp'];
	$NumReq = $row_ConsultaReq['NumRequisicion'];
	$updateSQL = sprintf("UPDATE requisicion SET requisicion.AsignadoPres=%s WHERE requisicion.NumRequisicion=%s",
						   GetSQLValueString($_POST['UserEsp'], "text"),
						   GetSQLValueString($NumReq, "text"));

	mysql_select_db($database_SRE, $SRE);
	$Result1 = mysql_query($updateSQL, $SRE) or die(mysql_error());
  
	$updateGoTo = "asignar_req_pres.php";
	if (isset($_SERVER['QUERY_STRING'])) {
	  $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
	  $updateGoTo .= $_SERVER['QUERY_STRING'];
	}
	header(sprintf("Location: %s", $updateGoTo));}
aqui el codigo del boton:
Código:
<input name="Actualizar" type="submit" id="Actualizar" value="Actualizar" />

Etiquetas: campo, formulario, html, lista, mysql, select, sql, tabla, usuarios, valor
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 16:31.