| 1 | <? |
|---|
| 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 | } |
|---|