| 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 ( eleccciones multiples) | 
|---|
| 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 HTMLMULSELECT($cmd,$idcentro,$nombretabla,$identificador,$nombreid,$nombreliteral,$ancho,$eventochg = "",$clase="",$clausulawhere=""){ | 
|---|
| 23 | if (!empty($eventochg)) $eventochg='onchange="'.$eventochg.'(this);"'; | 
|---|
| 24 | if (empty($clase))      $clase='formulariodatos'; | 
|---|
| 25 | $SelectHtml=""; | 
|---|
| 26 | $rs=new Recordset; | 
|---|
| 27 | if ($idcentro>0){ | 
|---|
| 28 | $cmd->texto='SELECT * FROM '.$nombretabla.' WHERE idcentro='.$idcentro; | 
|---|
| 29 | if(!empty($clausulawhere)) | 
|---|
| 30 | $cmd->texto.=" AND (".$clausulawhere.")"; | 
|---|
| 31 | } | 
|---|
| 32 | else{ | 
|---|
| 33 | $cmd->texto='SELECT * FROM '.$nombretabla; | 
|---|
| 34 | if(!empty($clausulawhere)) | 
|---|
| 35 | $cmd->texto.=" WHERE (".$clausulawhere.")"; | 
|---|
| 36 | } | 
|---|
| 37 | $cmd->texto.=' ORDER BY '.$nombreliteral; | 
|---|
| 38 |  | 
|---|
| 39 | $rs->Comando=&$cmd; | 
|---|
| 40 | if (!$rs->Abrir())      return(""); // Error al abrir recordset | 
|---|
| 41 | $SelectHtml.= '<SELECT  '.$eventochg.' class="'.$clase.'" multiple name="'.$nombreid.'" style="WIDTH: '.$ancho.'">'; | 
|---|
| 42 | $SelectHtml.= '    <OPTION value="0"></OPTION>'; | 
|---|
| 43 | $rs->Primero(); | 
|---|
| 44 | while (!$rs->EOF){ | 
|---|
| 45 | $SelectHtml.='<OPTION value="'.$rs->campos[$nombreid].'"'; | 
|---|
| 46 | If ($rs->campos[$nombreid]==$identificador)  $SelectHtml.= ' selected ' ; | 
|---|
| 47 | $SelectHtml.= '>'.$rs->campos[$nombreliteral].'</OPTION>'; | 
|---|
| 48 | $rs->Siguiente(); | 
|---|
| 49 | }$SelectHtml.= '</SELECT>'; | 
|---|
| 50 | $rs->Cerrar(); | 
|---|
| 51 | return($SelectHtml); | 
|---|
| 52 | } | 
|---|