[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