PHP - problema al generar select

   
Vista:

problema al generar select

Publicado por Yelisa Fernandez (3 intervenciones) el 12/11/2010 20:09:49
Hola...
Tengo un formulario donde se puede escoger hasta 4 empleados de la base de datos. Para esto hago la consulta una sola vez, y con los resultados genero 4 selects para escoger cada empleado. El problema que tengo es que cuando empiezo a construir el segundo select, la pagina no carga nada...

Hice seguimiento de porque sucedía esto, y encontré que todo se dañaba cuando empezaba a concatenar los datos. Por que me pasa esto?

este es el código:

<table class="ewTable">
<tr><td class="ewTableHeader" colspan="2"><span style="color:#ffffff"><b>Aprobaciones<span class='oblig'> </span></b></span></td></tr>
<tr><td class="ewTableHeader" width="150"><span style="color:#ffffff">Aprobador 1<span class='oblig'> </span></span></td>
<td class="ewTableAltRow"><span id="cb_x_aprob1">
<select id = "x_aprob1" name = "x_aprob1" class="f">
<option value="">Seleccione una opcion</option>
<?php //
$query = "SELECT DISTINCT CARGO_EMPLEADO, CEDULA, NOMBRE, APELLIDO1, APELLIDO2 FROM empleados WHERE ESTADO_EMPLEADO<>'R' ORDER BY NOMBRE, APELLIDO1, APELLIDO2";

$consulta = new Consulta();
$link = $consulta->conectar(DB3);
$consulta->Consultar($query);
$datos = $consulta->ejecutar();

$totalRows_rs = $consulta->numfil;

if($totalRows_rs > 0)
{
$x_id_categoriaList = "";
foreach($datos as $datawrk)
{ $x_id_categoriaList .= "<option title='".$datawrk['CARGO_EMPLEADO']."' value=\"" . $datawrk['CEDULA'].'-' .$datawrk['CARGO_EMPLEADO']. "\"";
if($x_aprob1==($datawrk['CEDULA'].'-' .$datawrk['CARGO_EMPLEADO'])) $x_id_categoriaList .= "selected='selected'";
$nombre = $datawrk["NOMBRE"].' '.$datawrk["APELLIDO1"].' '.$datawrk["APELLIDO2"];
$x_id_categoriaList .= " >" . ucwords(strtolower($nombre)) . "</option>";
} }

echo $x_id_categoriaList;
?>
</select>
</span>
</td></tr>

<tr><td class="ewTableHeader" width="150"><span style="color:#ffffff">Aprobador 2<span class='oblig'> </span></span></td>
<td class="ewTableAltRow"><span id="cb_x_aprob2">
<select id = "x_aprob2" name = "x_aprob2" class="f">
<option value="">Seleccione una opcion</option>
<?php $nombre='';

if($totalRows_rs > 0)
{
$x_id_categoriaList = "";
foreach($datos as $datawrk)
{ $x_id_categoriaList .= "<option title='".$datawrk['CARGO_EMPLEADO']."' value=\"" . $datawrk['CEDULA'].'-' .$datawrk['CARGO_EMPLEADO']. "\"";
if($x_aprob1==($datawrk['CEDULA'].'-' .$datawrk['CARGO_EMPLEADO'])) $x_id_categoriaList .= "selected='selected'";
$nombre = $datawrk["NOMBRE"].' '.$datawrk["APELLIDO1"].' '.$datawrk["APELLIDO2"];
$x_id_categoriaList .= " >" . ucwords(strtolower($nombre)) . "</option>";
} }

echo $x_id_categoriaList;
?>
</select>
</span>
</td></tr>

si solo dejo el primer select funciona perfecto... y si en el segundo lo pongo así:

if($totalRows_rs > 0)
{
$x_id_categoriaList = "";
foreach($datos as $datawrk)
{ $x_id_categoriaList .= "<option value=\"" . $datawrk['CEDULA']. "\"";
if($x_aprob1==($datawrk['CEDULA'].'-' .$datawrk['CARGO_EMPLEADO'])) $x_id_categoriaList .= "selected='selected'";
$nombre = $datawrk["NOMBRE"];//.' '.$datawrk["APELLIDO1"].' '.$datawrk["APELLIDO2"];
$x_id_categoriaList .= " >" . ucwords(strtolower($nombre)) . "</option>";
} }

echo $x_id_categoriaList;

también lo muestra, pero no puedo dejar que solo muestre el nombre del empleado, no es suficiente... Bueno si eso me pasa con dos, ni siquiera he ensayado poner el tercero.

Porfa necesito ayuda....

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problema al generar select

Publicado por Yelisa Fernandez (3 intervenciones) el 30/11/2010 17:54:29
Hola...

Para resolverlo le disminuí el número de concatenaciones con php, concatenando el nombre y los apellidos desde la consulta a la base de datos con la función CONCAT.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar