[Php-avanzado] Consulta por Select
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Lun Jul 23 12:56:34 ART 2012
Hola Sergio,
gracias por el aporte.
A David no le sirve usar solo atributos data, ya que su problema es
obtener ese otro dato en PHP, y los data no serán enviados por el
formulario.
Podría usar los data para que, mediante JavaScript, obtener el valor y
ponerlos como input hidden del formulario que envía, pero para esto
podría precargar directamente los hidden al armar programáticamente el
formulario y listo.
Se puede usar, pero parece más complicado que otras soluciones
posibles, y el principio KISS de programación alienta a usar las
soluciones más simples que se puedan.
Interesante discusión!
El lun, 23-07-2012 a las 10:56 -0300, Sergio Marquez escribió:
> Hola David, te recomiendo usar los atributos data, que son una novedad
> en html5. Son muy faciles de usar y son standard.
> Aca te paso un articulo que aparecio entre los primeros en
> google http://scriptinside.blogspot.com.ar/2010/11/html-5-jquery-y-los-atributos-data.html.
>
>
> Te dejo un ejemplo.
>
>
> <select name="miSelect">
> <option value="Muy Bien" data-nota="10"
> data-otrovalor="Cualquier Cosa"> Muy bien </option>
> ...
> </select>
>
>
> Si utilizás características de HTML5 no te olvides de cambiar tu
> doctype a:
> <!DOCTYPE>
>
>
> Salu2.
>
>
> El 20 de julio de 2012 16:57, David Barraud <davidbarraud en gmail.com>
> escribió:
> Si, me quedo con la solución de pasar un sólo dato y recuperar
> en el otro formulario mediante la consulta a la BD. Es esto lo
> que había pensado en un principio pero era curiosidad por
> saber si se podía hacer. Es interesante lo del separador y el
> parseo.
> Muchas gracias!
>
> El 19 de julio de 2012 21:33, Leonardo Tadei - Pegasus Tech
> Supply <leonardot en pegasusnet.com.ar> escribió:
>
> David,
>
> la respuesta vendría a ser no, sí y no te
> conviene.
>
> No: un value de un elemento de form solo tiene
> un solo valor (y no hay
> javascript que te salve para que un valor se convierta
> en dos valores)
>
> Sí: porque podés armar una regla para tener un
> separador y del otro
> lado parsear el único valor que podés enviar para
> obtener los dos
> valores. Por ejemplo:
>
> <select name="miSelect">
> <option value="10|Muy bien">Muy bien </option>
> <option value="5|Regula">Regular </option>
> <option value="0|Muy mal">Muy mal </option>
> </select>
>
> Se envía un solo valor, pero luego de
> analizarlo, tenés los dos
> valores.
>
> No te conviene: si armaste el select leyendo
> de una tabla de base de
> datos, basta con pasarte el ID para que con un select
> recuperes el
> valor. No tengas miedo a hacer consultas!!
> Si esto no se lee de una tabla, es posible que
> hayas normalizado mal y
> no la hayas encontrado (por ejemplo creyendo que esto
> no era un dato que
> el sistema tenia que "mostrar" o "gestionar".
>
> Si por algún motivo extraño estos datos no
> están en una tabla, entonces
> podés definir un array en un archivo de configuración
> con los valores,
> generar el <SELECT> con un foreach, y del otro lado
> con el ID del vector
> obtener el texto que ve el usuario.
>
> Todo esto es mejor que otras soluciones,
> porque la solución "sí" parece
> buena, pero te obliga a tener que revisar todos los
> datos para que no
> esté el separador, porque si no perdés los valores; o
> si son fijos y
> tenés que hacer un cambio tenés que cambiar también la
> forma de
> recogerlos en el script de destino; o si los datos van
> directamente a
> guardarse alguien que se de cuenta puede enviarte "0|
> Muy bien" con lo
> que te genera una inconsistencia de datos... y una
> inconsistencia de
> datos es culpa del programador.
>
>
> Tal vez si nos das el ejemplo concreto que te
> plantea este problema,
> podemos ver soluciones más puntuales al problema.
>
> Saludos!
>
>
> El jue, 19-07-2012 a las 11:25 -0300, David Barraud
> escribió:
> > Hola Leo, tengo una consulta con respecto al select
> >
> >
> > Supongamos que tengo el siguiente select
> > <select name="miSelect">
> > <option value="10">Muy bien </option>
> > <option value="5">Regular </option>
> > <option value="0">Muy mal </option>
> > </select>
> >
> >
> > ¿Hay alguna manera de enviar el dato del texto
> además del value? si
> > quiero enviar por ejemplo el número "10" y el texto
> "Muy bien"
> > seleccionando el primer valor.
> > Se pueden enviar los 2 sin recurrir a Javasript?
> > Muchas gracias
>
> > _______________________________________________
> > Php-avanzado mailing list
> > Php-avanzado en pato2.fi.mdp.edu.ar
> >
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
> --
> Leonardo Tadei
> leonardot en pegasusnet.com.ar
> Blog: http://blog.pegasusnet.com.ar
> Firma pública:
> http://www.pegasusnet.com.ar/LeonardoTadei-public.key
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
Blog: http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado