[Php-avanzado] Consulta por Select
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Lun Jul 23 15:27:26 ART 2012
Hola Sergio,
no es que no se pueda usar JavaScript, al contrario, es muy importante
tenerlo en cuenta.
Lo que puntualizaba era que el problema de David partía de cómo hacer
llegar dos datos partiendo de un SELECT, para ser recogidos por un
script PHP.
Asistirse con JS para esto es una de las opciones, pero la parte
relevante es que, a fin de cuentas, todo terminará siendo enviado por
GET o POST para que lo procese un script PHP.
Saludos!
El lun, 23-07-2012 a las 15:17 -0300, Sergio Marquez escribió:
> Claro, muy cierto! Lo que pasa es qué omití leer "sin usar
> Javascript".
>
>
> En fin, éste método está muy bueno si se necesita traer datos
> dinamicamente con AJAX.
>
> El 23 de julio de 2012 12:56, Leonardo Tadei - Pegasus Tech Supply
> <leonardot en pegasusnet.com.ar> escribió:
> 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
>
> _______________________________________________
> 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
Pegasus Tech Supply
Tel: (+54)(+223) 471-2880
La Salle 1131 - Mar del Plata - Argentina
http://www.pegasusnet.com.ar
http://www.grupopegasus.com
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado