Foros del Web » Programando para Internet » PHP »

tomar mas de un resultado del option value

Estas en el tema de tomar mas de un resultado del option value en el foro de PHP en Foros del Web. Hola que tal queria saber si se puede de una opcion de un formalario arrojar dos resultados ejemplo eleji el nombre del empleado y me ...
  #1 (permalink)  
Antiguo 28/02/2012, 10:20
 
Fecha de Ingreso: enero-2012
Mensajes: 224
Antigüedad: 12 años, 3 meses
Puntos: 1
tomar mas de un resultado del option value

Hola que tal queria saber si se puede de una opcion de un formalario arrojar dos resultados

ejemplo

eleji el nombre del empleado y me devuelve el nombre como valor y el mail como valor para luego insertarlo en dos campos distintos con un insert



Código PHP:

<select name="empleados" id="empleados">
                          <?php
do {  
?>
                          <option value="<?php echo $row_emp['nombrecompleto']?><?php echo $row_emp['nombrecompleto']?>"<?php if (!(strcmp($row_emp['nombrecompleto'], $row_emp['nombrecompleto']))) {echo "SELECTED";} ?>><?php echo $row_emp['nombrecompleto']?><?php  $row_emp['email']?></option>
                          
                          <?php
} while ($row_emp mysql_fetch_assoc($emp));
  
$rows mysql_num_rows($emp);
  if(
$rows 0) {
      
mysql_data_seek($emp0);
      
$row_emp mysql_fetch_assoc($emp);
  }
?>
                        
                        
                      </select>
  #2 (permalink)  
Antiguo 28/02/2012, 10:25
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: tomar mas de un resultado del option value

puedes tener ambos datos en su value usando un carácter como separador (alvarez|maycol), a la hora de aplicar separas con explode por ejemplo
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 28/02/2012, 10:26
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años
Puntos: 50
Respuesta: tomar mas de un resultado del option value

si le entendi bien lo que quiere hacer, mm hay dos opciones:

1. En el value colocque los dos datos que necesita separados por un caracter especial como _ o o algo asi... los recibe y listo...funciona aunque me parece poco elegante por decirlo de laguna manera.

2. la segunda opción es que en el value coloque el di del usuario.... luego recibe el id del usuario seleccionado.. .consutla todos los datos que necesita del usario y estos los inserta en la otra tabla dodne esta guardando la info.... aunque si tiene normalizada la bd con el simple id que inserte en la otra tabla ya tendira la relacion y no tendira que guardar "quemados" los otros datos.
  #4 (permalink)  
Antiguo 28/02/2012, 10:37
 
Fecha de Ingreso: julio-2008
Ubicación: Córdoba, Argentina
Mensajes: 266
Antigüedad: 15 años, 9 meses
Puntos: 26
Respuesta: tomar mas de un resultado del option value

Adhiero a la segunda propuesta de helacer, sin dudas es lo más sencillo y más lógico, siempre que las tablas de la base de datos estén bien hechas, no debería haber ningún problema.

Un saludo.
  #5 (permalink)  
Antiguo 28/02/2012, 10:41
manugiralda
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: tomar mas de un resultado del option value

Código PHP:

<select name="empleados" id="empleados"> 

<option value="<?php echo $row_emp['nombrecompleto']."|".$row_emp['email']; ?>"> AKI LO QUE QUIERAS QUE SE VEA EN EL OPTION</option>

</select>
En el que recibe

Código PHP:

$separar 
explode("|",$_POST['empleados']);
$nombre $separar[0];
$email $separa[1]; 
  #6 (permalink)  
Antiguo 28/02/2012, 10:51
 
Fecha de Ingreso: enero-2012
Mensajes: 224
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: tomar mas de un resultado del option value

entiendo ya coloque el id

Código PHP:
 <option value="<?php echo $row_emp['id']?>"<?php if (!(strcmp($row_emp['id'], $row_emp['nombrecompleto']))) {echo "SELECTED";} ?>><?php echo $row_emp['nombrecompleto']?></option>
ahora como levanto esta id para poder enviar por un lado el nombre y por otro lado el email a la pagina de registro
  #7 (permalink)  
Antiguo 28/02/2012, 10:57
 
Fecha de Ingreso: enero-2012
Mensajes: 224
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: tomar mas de un resultado del option value

manugiralda superclaro!! ahora una pregunta este formulario que tengo se ejecuta en confirmado.php haciendo un insert sql y me guarda en el campo tanto el nombre como el mail

como debo hacer para que guarde el nombre por un lado y el mail por otro


Código PHP:

$insertSQL 
sprintf("INSERT INTO tareas (empleado, titulo, descripcion, fechadeentrega, fechadecarga, verde, amarillo, rojo, email) VALUES (%s, %s, %s, %s, '$tiempo', '$verde', '$amarillo', '$rojo', %s)",
                       
GetSQLValueString($_POST['empleados'], "text"),
                       
GetSQLValueString($_POST['titulo'], "text"),
                       
GetSQLValueString($_POST['detalle'], "text"),
                       
GetSQLValueString($_POST['fecha'], "date"),
                       
GetSQLValueString($_POST['empleados'], "date")); 
  #8 (permalink)  
Antiguo 28/02/2012, 11:11
 
Fecha de Ingreso: enero-2012
Mensajes: 224
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: tomar mas de un resultado del option value

puse el explode en el action.php


si hago un echo

echo $separar[0] ;
echo $separar[1] ;

los muestra perfecto pero a la hora de insertarlo en los registros con sql solo me guarda $nombre, el otro lo guarda vacio no es problema de sentencia sql



$separar = explode("|",$_POST['empleados']);

$nombre = $separar[0];
$email = $separa[1];

Última edición por mktalternativa; 28/02/2012 a las 11:35
  #9 (permalink)  
Antiguo 28/02/2012, 12:32
manugiralda
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: tomar mas de un resultado del option value

La verdad, no se muy bien como tienes compuestos tus scripts, pero quizas lo guarde vacio, porque en el array separar que corresponde al email, cometi una falta de ortografia y puse separa en vez de separaR. En teoria, deberia guardatelo sin problemas en la BD o asi:

$separar = explode("|",$_POST['empleados']);

$nombre = $separar[0];
$email = $separar[1];

$insertSQL = mysql_query("INSERT INTO tabla (nombre, email) VALUES ('".$nombre."','".$email."' ");

o asi:

$insertSQL = mysql_query("INSERT INTO tabla (nombre, email) VALUES ('".$separar[0]."','".$separar[1]."' ");

Ya formulas la consulta sql a tu gusto, pero empleo eso en mi pagina en algunas ocasiones y no tengo problemas para indexar datos en la BD.
  #10 (permalink)  
Antiguo 02/03/2012, 11:08
 
Fecha de Ingreso: enero-2012
Mensajes: 224
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: tomar mas de un resultado del option value

perfecto

el unico problema es que no puedo tomar echo $separar[1] los demas me los toma que puede ser?



$separar = explode("|",$_POST['empleados']);

$nombre = $separar[0];
$email = $separar[1];
$foto = $separar[2];

echo $separar[0];
echo $separar[1];
echo $separar[2];

Código PHP:

  <option value="<?php echo $row_emp['nombrecompleto']."|".$row_emp['foto']."|".$row_emp['email']; ?>"<?php if (!(strcmp($row_emp['nombrecompleto'], $row_emp['nombrecompleto']))) {echo "SELECTED";} ?>><?php echo $row_emp['nombrecompleto']?></option>
  #11 (permalink)  
Antiguo 02/03/2012, 11:46
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: tomar mas de un resultado del option value

Cita:
Iniciado por mktalternativa Ver Mensaje
perfecto

el unico problema es que no puedo tomar echo $separar[1] los demas me los toma que puede ser?



$separar = explode("|",$_POST['empleados']);

$nombre = $separar[0];
$email = $separar[1];
$foto = $separar[2];

echo $separar[0];
echo $separar[1];
echo $separar[2];

Código PHP:

  <option value="<?php echo $row_emp['nombrecompleto']."|".$row_emp['foto']."|".$row_emp['email']; ?>"<?php if (!(strcmp($row_emp['nombrecompleto'], $row_emp['nombrecompleto']))) {echo "SELECTED";} ?>><?php echo $row_emp['nombrecompleto']?></option>
en tu option

$separar[0]=$row_emp['nombrecompleto']
$separar[1]=$row_emp['foto']
$separar[2]=$row_emp['email']

como veras el $separar[1] corresponde a lo que envies en foto y no en email
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #12 (permalink)  
Antiguo 02/03/2012, 12:44
 
Fecha de Ingreso: enero-2012
Mensajes: 224
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: tomar mas de un resultado del option value

no funciona olvide mencionar que el option value esta en una pagina y el


$separar = explode("|",$_POST['empleados']);

$nombre = $separar[0];
$email = $separar[1];
$foto = $separar[2];



en otra

probe asi pero tampco


$separar[0]=$_POST['nombrecompleto'];
$separar[1]=$_POST['foto'];
$separar[2]=$_POST['email'] ;
  #13 (permalink)  
Antiguo 02/03/2012, 14:58
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: tomar mas de un resultado del option value

antes de asignar escribe

print_r($_REQUEST);

para verificar que variables y cuales son sus nombres
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”

Etiquetas: mysql, option, tomar, 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 01:33.