Foros del Web » Programando para Internet » PHP »

recoger value de un select

Estas en el tema de recoger value de un select en el foro de PHP en Foros del Web. Hola muy buenas a todo el mundo, me pasaba por estos lares a ver si me podía aprovexar algo de vuestros conocimientos e imaginación Explico ...
  #1 (permalink)  
Antiguo 27/09/2005, 05:00
 
Fecha de Ingreso: septiembre-2005
Mensajes: 37
Antigüedad: 12 años, 3 meses
Puntos: 0
Pregunta recoger value de un select

Hola muy buenas a todo el mundo, me pasaba por estos lares a ver si me podía aprovexar algo de vuestros conocimientos e imaginación
Explico lo que me pasa
Tengo un select parecido a esto concretamente son 3 selects q los uno pareciendo un datagrid

- + producto1 | Los productos los cojo d una bbdd (postgres concretamente)
- + producto2 | entoncs aprovecho el identificador del producto para el value
- 2 producto3 | de los options pq os recuerdo que son selects. Entonces
- 5 producto4 | (y esto ya lo hice...) si le dan al "+" o al "numero" se
incrementa en 1 unidad (esto lo hice con javaScript).Pero mi problema está como recojo (con Post) todos estos datos. Porque...
El value no lo puedo cambiar si no no se a que producto (id) se corresponde y con post el texto del option no lo puedo recoger...
Mis ideas para solucionarlo... pero sin gustarme ninguna es crearme un array[][] con javaScript uno con el identificador y el otro con la cantidad. Antes de enviarlo guardarlo en un text y con funciones de cadena tratarlo para así cogerlo con php, pero me parece un rollazo.... y no me termina de convencer, pensé también con cookies pero prefiriría no utilizarlas... Bueno si teneis alguna otra "mejor forma" de como lo haríais vosotros os lo agradeceré eternamente como siempre MUCHAS GRACIAS
  #2 (permalink)  
Antiguo 28/09/2005, 04:18
 
Fecha de Ingreso: septiembre-2005
Mensajes: 37
Antigüedad: 12 años, 3 meses
Puntos: 0
Umm nadie me contesta con una idea de como hacerlo me bastaría no se no hace falta ni una linea de código solo una idea. Please, es q llevo un par de días próximos a la locura
  #3 (permalink)  
Antiguo 28/09/2005, 08:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Podrías poner el código que usas para ilustrar el problema mejor ...

En principio .. si dices que esos datos que usas para genear tu "select" los obtienes de una BD donde ya está registrado el "ID" de ese registro y anexo otro dato como esa "cantidad" ...

Lo más sano y sin complicaciones sería que pases tu ID del "select" seleccionado en en tu página de proceso PHP vuelvas a consultar tu BD si necesitas ese valor de "cantidad" asociado a ese registro(s).

Si no quieres hacer una consulta nueva a tu BD (que por cierto sería como la confirmación final y real de esa cantidad) .. tendrás que jugar con javascript .. PHP sólo recibe lo que le envies y si no usas otras técnicas javascript .. sólo generas un dato no más.

Un saludo,
  #4 (permalink)  
Antiguo 28/09/2005, 10:35
 
Fecha de Ingreso: septiembre-2005
Mensajes: 37
Antigüedad: 12 años, 3 meses
Puntos: 0
Perdona Cluster pero me parece algo confusa tu respuesta no entendí muy bien que me quieres decir
El código la verdad que como tiene mogollón de consultas a la BD funciones y etc sería de+iado complejo. Yo quería una idea general
Cuando la pagina se carga siempre empieza así

- + producto1
- + producto2
- + producto3
- + producto4

Al darle al + en vez del + aparece un 1


- 1 producto1
- + producto2
- + producto3
- + producto4

Si ahora le doy al 1, aparece un 2, esto lo voy cambiando con javascript, pero hay que tener en cuenta que lo que cambio es la propiedad text y NO el value que sería lo que recoge php con post/get

No me sería factible si despues de cada click tengo que guardar en la base de datos y recargar la pagina, pq ad+ ese número indica las veces q tengo q guardar ese producto si es un 6 pues guardaré 6 veces el producto ya que no me conviene por otros motivos tener un campo cantidad. Si en vez de un <select> fuesen text no tendría ningún problema (pero esto me produce otros inconvenientes) porq ya les recogería yo por su nombre el contenido pero claro los selects no están pensado para eso sino para seleccionar uno/s de la lista

Mis opciones son:
por cada option hacer un hidden y cada vez que hagan click con JS cambiar el texto
La q probablemente haga con cookies (pq se q las van a admitir) (aunq aún no las controlo)
Un array en javascript y despues meterlo en un textarea para despues con funciones de cadena de php coger todo como me interesa
Pero todas son laboriosas...
  #5 (permalink)  
Antiguo 28/09/2005, 11:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Si ahora le doy al 1, aparece un 2, esto lo voy cambiando con javascript, pero hay que tener en cuenta que lo que cambio es la propiedad text y NO el value que sería lo que recoge php con post/get
Vía javascript tendrías que cambiar el "value" ... el problema lo tendrás tal vez si en el "value" de esa opción pasas el "id" de ese producto .. podrías añadirlo como una columna más en ese texto ..

"1 [espacio] producto"
ó
"45 [espacion] producto"
etc ..

Puedes usar explode() (www.php.net/explode)

Con eso "partes" esa cadena por el caracter delimitador .. en tu caso el espacio separa esa "cantidad" con ese "producto" .. ya lo tendrías separado para hacer lo que requieras con esos datos.

(esperemos que el "producto" no tenga espacios .. sino usa otro separador para no tener problemas)

Cita:
Si en vez de un <select> fuesen text no tendría ningún problema (pero esto me produce otros inconvenientes) porq ya les recogería yo por su nombre el contenido pero claro los selects no están pensado para eso sino para seleccionar uno/s de la lista
Tienes los slelect multiples:
<Select name="nose" multiple>

Realmente creo que para una mejor solución deberías ver alternativas en javascript.

Un saludo,
  #6 (permalink)  
Antiguo 03/10/2005, 06:38
 
Fecha de Ingreso: septiembre-2005
Mensajes: 37
Antigüedad: 12 años, 3 meses
Puntos: 0
Perdón por tardar tanto en contestar pero tuve algún q otro problema con mi conexión a internet pero ya está
Umm lo solucioné de una forma no demasiado complicada la explico aquí por si algún día alguien está en una situación parecida

Cada vez que alguien suma o resta producto lo voy guardando en una matriz con javascript (q son dinamicas) entonces si alguien pide el producto1 (q por ej tiene el id 8) guardo en la matriz[8]=cantidad y así sucesivamente...
Cuando acaba le da a aceptar y lo que hace antes de hacer el submit es escribir la matriz de un campo de texto oculto :) separado con un espacio, por ejemplo quedaría.. 1 2 2 7 3 4 esto quiere decir q del 1 se pidieron 2 unidades del 2 siete unidads y sucesivamente despues con la función q bien decia cluster pero ya en php recojo y separo los datos a mi gusto y disgusto insertando en la base de datos o eliminando tantas veces como me indiquen. Bueno una vez más siento haber dado el coñaso por aqí pero ojalá esto le sirva a alguien algún día aburrrrrrrr!!
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 00:43.