1 | <?php |
---|
2 | // ************************************************************************************************************************************************* |
---|
3 | // Aplicación WEB: ogAdmWebCon. |
---|
4 | // Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla |
---|
5 | // Fecha Creación: 2009-2010 |
---|
6 | // Fecha Última modificación: Agosto-2010 |
---|
7 | // Nombre del fichero: HTMLSELECT.php |
---|
8 | // Descripción : |
---|
9 | // Crea la etiqueta html <SELECT> con valores procedentes de una tabla |
---|
10 | // Parametros: |
---|
11 | // - cmd:Un comando ya operativo (con conexión abierta) |
---|
12 | // - idcentro:Centro al que pertene el registro donde se encuentra el dato a recuperar, será 0 para no contemplar este dato |
---|
13 | // - nombretabla: Nombre de la tabla origen de los datos |
---|
14 | // - identificador: Valor del campo identificador del registro |
---|
15 | // - nombreid: Nombre del campo identificador del registro |
---|
16 | // - nombreliteral: Nombre del campo de la tabla que mostrará el desplegable |
---|
17 | // - ancho: Anchura del desplegable |
---|
18 | // - eventochg: Nombre de la función que se ejecutará en respuesta al evento onchange( por defecto: ninguna) |
---|
19 | // - clase: Clase que define su estilo (por defecto: formulariodatos) |
---|
20 | // - clausulawhere: Clausula Where adicional |
---|
21 | // ************************************************************************************************************************************************* |
---|
22 | function HTMLSELECT($cmd,$idcentro,$nombretabla,$identificador,$nombreid,$nombreliteral,$ancho,$eventochg = "",$clase="",$clausulawhere="",$nwname=""){ |
---|
23 | $nombretabla=htmlentities($nombretabla); |
---|
24 | $nombreid=htmlentities($nombreid); |
---|
25 | $nombreliteral=htmlentities($nombreliteral); |
---|
26 | if (!empty($eventochg)) $eventochg='onchange="'.$eventochg.'(this);"'; |
---|
27 | if (empty($clase)) $clase='formulariodatos'; |
---|
28 | if (empty($nwname)) $nwname=$nombreid; |
---|
29 | $SelectHtml=""; |
---|
30 | $rs=new Recordset; |
---|
31 | if ($idcentro>0){ |
---|
32 | $cmd->texto='SELECT * FROM '.$nombretabla.' WHERE idcentro='.$idcentro; |
---|
33 | if(!empty($clausulawhere)) |
---|
34 | $cmd->texto.=" AND (".$clausulawhere.")"; |
---|
35 | } |
---|
36 | else{ |
---|
37 | $cmd->texto='SELECT DISTINCT '.$nombreid.', '.$nombreliteral.' FROM '.$nombretabla; |
---|
38 | if(!empty($clausulawhere)) |
---|
39 | $cmd->texto.=" WHERE (".$clausulawhere.")"; |
---|
40 | } |
---|
41 | $cmd->texto.=' ORDER BY '.$nombreliteral; |
---|
42 | //echo "<br>".$cmd->texto; |
---|
43 | $rs->Comando=&$cmd; |
---|
44 | if (!$rs->Abrir()) return(""); // Error al abrir recordset |
---|
45 | $SelectHtml.= '<SELECT '.$eventochg.' class="'.$clase.'" name="'.$nwname.'" style="WIDTH: '.$ancho.'">'; |
---|
46 | $SelectHtml.= ' <OPTION value="0"></OPTION>'; |
---|
47 | $rs->Primero(); |
---|
48 | while (!$rs->EOF){ |
---|
49 | $SelectHtml.='<OPTION value="'.$rs->campos[$nombreid].'"'; |
---|
50 | If ($rs->campos[$nombreid]==$identificador) $SelectHtml.= ' selected ' ; |
---|
51 | $SelectHtml.= '>'.$rs->campos[$nombreliteral].'</OPTION>'; |
---|
52 | $rs->Siguiente(); |
---|
53 | }$SelectHtml.= '</SELECT>'; |
---|
54 | $rs->Cerrar(); |
---|
55 | return($SelectHtml); |
---|
56 | } |
---|