llenar un SelectLis...
 
Avisos
Vaciar todo

llenar un SelectList atraves de una consulta

15 Respuestas
3 Usuarios
0 Reactions
4,747 Visitas
Rodrigo
Respuestas: 181
Estimable Member
Topic starter
 

que tal webempresa

ahora les escribo para preguntarles si alguien sabe algun modo de llenar el value de un SelectList de mi breesingforms en quickmode, lo eh hecho con un Textfield colocando en su propiedad Value un bloque PHP que extrae algun valor a mi tabla de mi BD, pero ahora quiero llenar un select List de acuerdo al contenido de una de las columnas de una de mis tablas, alguien puede iluminarme con alguna idea.

Muchas gracias por todo webempresa, reciban un cordial saludos desde Mexico


 
Respondido : 28/11/2010 2:28 am
Jhon
 Jhon
Respuestas: 44989
Illustrious Member Moderator
 

Hola Chapulin

Aquí te envió el código que esta basado en http://crosstec.de/support/index.php?pid=knowledgebase&cmd=viewentclient&id=52&PHPSESSID=ff28c086073d0b70f350930eeddac6bc

Este código tiene que colocarse en Piezas de Formulario "Antes de la carga del Formulario" (tener cuidado con la versión traducida de BreezinForms, ya que esta traducción esta intercambiada)

$this->execPieceByName('ff_InitLib');

$rows= ff_select("select id, title from #__content;");
$cad = "";

for ($i = 0; $i title.";".$rows[$i]->id."n";
}

function ff_setSelectList($name, $value)
{
  global $ff_processor;
  for ($r = 0; $r rowcount; $r++) {
    $row =& $ff_processor->rows[$r];
    if ($row->name==$name)
      $row->data2 = $value;
    unset($row);
  } // for
} // ff_setSelectList

ff_setSelectList('lista', $cad);

Tienes que reemplazar elemento "lista", la consulta SQL y los campos de la tabla en el bucle for.

Saludos


 
Respondido : 02/12/2010 9:50 pm
Rodrigo
Respuestas: 181
Estimable Member
Topic starter
 

muchas gracias jmarreros

lo probaré de inmediato, ya les estaré comentando los resultados,

Reciban un saludo desde Mexico Webempresa.


 
Respondido : 02/12/2010 11:27 pm
Rodrigo
Respuestas: 181
Estimable Member
Topic starter
 

que tal jmarreros

veras no consigo llenar mi SELECT-LIST, he hecho lo que me indicas, tal ves pudieras decirme donde está mal mi codigo

$this->execPieceByName('ff_InitLib');

$rows= ff_select("select id, nombrecarrera from #__carrera;"); //Tengo una tabla llamado carrera con campos id, nombrecarrera

$cad = "";

for ($i = 0; $i nombrecarreras.";".$rows[$i]->id."n"; //aqui he hecho uns subtitucion de title por nombrecarreras
}

function ff_setSelectList($name, $value)
{
global $ff_processor;
for ($r = 0; $r rowcount; $r++) {
$row =& $ff_processor->rows[$r];
if ($row->name==$name)
$row->data2 = $value;
unset($row);
}
}
ff_setSelectList('carreras', $cad); // mi SELECT-LIST se llama carreras ademas no entiendo que valores van como parametros en la variable $cad

el caso es que no carga nada en mi select-list, es mas solo aparece el label con el texto que le eh puesto "seleccione porfavor la carrera que cursa" pero adelante del texto no hay nada ni siquiera el control vacio.

Espero me puedas seguir hechando una mano, muchas gracias por todo.
Un saludo desde México


 
Respondido : 07/12/2010 7:20 pm
 juan
Respuestas: 11
Active Member
 

cheka esto a ver si te sirve

http://lizzie711.wordpress.com/manejo-de-listas-desplegables-dependientes-con-joomla/


 
Respondido : 07/12/2010 7:42 pm
Rodrigo
Respuestas: 181
Estimable Member
Topic starter
 

Hola kutgo:

Se ve interezante gracias por el aporte, lo revisé exactamente, pero se me hace que es ir bastante más allá de lo que podria ser una solusión, implica crear modulos por que de hecho habla sobre la programacion de modulos, algo en lo que no ando metido mucho, seguiré buscando soluciones, muchas gracais pro su ayuda. Un saludo desde Mexico


 
Respondido : 07/12/2010 7:53 pm
Jhon
 Jhon
Respuestas: 44989
Illustrious Member Moderator
 

Hola Chapulin

En tu código, en el blucle for, es nombrecarrera pero tu colocaste nombrecarreras (con "s" al final)

Saludos


 
Respondido : 07/12/2010 8:16 pm
Rodrigo
Respuestas: 181
Estimable Member
Topic starter
 

Hola jmarreros :

Primeramente quiero agradecerte la asistencia muchas gracias de verdad

veras no me resulta aun

$this->execPieceByName('ff_InitLib');

$rows= ff_select("select Id, nombrecarrera from #__carrera;"); //Tengo una tabla llamado carrera con campos id, nombrecarrera

$cad = "";
for ($i = 0; $i nombrecarrera.";".$rows[$i]->Id."n"; //aqui he hecho uns subtitucion de title por nombrecarreras
}

function ff_setSelectList($name, $value)
{
global $ff_processor;
for ($r = 0; $r rowcount; $r++) {
$row =& $ff_processor->rows[$r];
if ($row->name==$name)
$row->data2 = $value;

//No crees que esta parte debe ser sustituido por los valores del SELECT
//quedando asi:::::::::::::::::::::::::
//if ($row->nombrecarrera==$name)
//$row->Id= $value;

unset($row);
}
}
ff_setSelectList('carreras', $cad);

no pues no ya lo probé y no funciona


 
Respondido : 07/12/2010 8:35 pm
Rodrigo
Respuestas: 181
Estimable Member
Topic starter
 

explico un poco mejor:

el valor de nombrecarrera es la lista que se le debe de desplegar al usuario el el formulario osea esta integracion me parece correcta
$cad.= "0;".$rows[$i]->nombrecarrera.";".$rows[$i]->Id."n";

la ultima parte del bloque ";".$rows[$i]->Id."n"; es la parte del value que resultará de seleccionar un elemento de la lista el cual es lo que me mintereza finalmente creo que la logica es la correcta, me intereza mostrar los nombrecarrera y tomar solamente el id de la carerra seleccionada


 
Respondido : 07/12/2010 8:43 pm
Jhon
 Jhon
Respuestas: 44989
Illustrious Member Moderator
 

Hola chapulin

Te sale algún error, o simplemente no te llena la lista, en este último caso asegurarte de lo siguiente, utilizar el idioma Ingles en tu backend y verificar si el componente breezing forms, mostrándose en inglés, tiene el código correctamente colocado en Before the form en la piezas de formulario.

Saludos


 
Respondido : 07/12/2010 9:01 pm
Rodrigo
Respuestas: 181
Estimable Member
Topic starter
 

ya eh puesto como predeterminado como lenguaje a ingles enpanel de control-->gestor de idiomas y en las pestañas SITIO y ADMINISTRADOR pero al ir a mi breezingforms esta en español Piezas del formulario e Inicio del Submit
¿donde mas debo especificar al idioma Ingles?


 
Respondido : 07/12/2010 9:23 pm
Jhon
 Jhon
Respuestas: 44989
Illustrious Member Moderator
 

El cambio de idioma era sólo para que te fijes de un bug de traducción

Pues debería aparecerte en inglés si cambiaste el lenguaje para la administración.

El código es a nivel de formulario NO de submit

Es decir tienes que colocarlo en Piezas del Formulario, y si lo ves en ingles en la parte "Before the form"

Saludos


 
Respondido : 07/12/2010 9:57 pm
Rodrigo
Respuestas: 181
Estimable Member
Topic starter
 

bien perdon por lo de submit,
jeje en realidad aparece aun el texto de "inicio del Formulario en español" pero como te menciono eh cambiado el lenguaje predeterminado a ingles

$this->execPieceByName('ff_InitLib');

$rows= ff_select("select Id, nombrecarrera from #__carrera;");
//echo $rows;
$cad = "";
for ($i = 0; $i nombrecarrera.";".$rows[$i]->Id."n";
}

function ff_setSelectList($name, $value)
{
global $ff_processor;
for ($r = 0; $r rowcount; $r++) {
$row =& $ff_processor->rows[$r];
//echo $row;
if ($row->name==$name) // especificamente no entiendo a que se refiere con name
$row->data2 = $value;especificamente no entiendo a que se refiere con data2 ¿quien los define?
unset($row);
}
}
echo $cad;
ff_setSelectList('nombrecarrera', $cad);

aun no resuelvo el codigo pero no me arroja ningun mensaje de error, eh mandado a imprimir la variable $cad y si me muestra correctamente los valores del siguiente modo al final de mi formulario :
0;Licenciatura en Informatica;1 0;Ingenieria en Gestión Empresarial;2 0;Ingenieria en Agronomía;3 0;Licenciatura en Administración;4

Supongo entonces que el problema puede estar al armar el SELECT-LIST en:

function ff_setSelectList($name, $value)
{
global $ff_processor;
for ($r = 0; $r rowcount; $r++) {
$row =& $ff_processor->rows[$r];
//echo $row;
if ($row->name==$name)
$row->data2 = $value;
//echo $row;
unset($row);
}
}

Un saludo jmarreros


 
Respondido : 07/12/2010 10:03 pm
Jhon
 Jhon
Respuestas: 44989
Illustrious Member Moderator
 

Hola chapulin

El Select list no se arma, esa función lo que hace es buscar el elemento select list y le asigna simplemente el valor, es decir la cadena construida.

Prueba poniendo tu código en la opción "Despues del Formulario" (aunq esto es un bug)

Saludos.


 
Respondido : 07/12/2010 10:07 pm
Rodrigo
Respuestas: 181
Estimable Member
Topic starter
 

funciona de ese modo jmarreros, seguiré buscando alguna solucion para evitar lo del bug

Muchas gracias por todo, un saludo cordial


 
Respondido : 07/12/2010 10:10 pm