[ Foro de PHP ]

Array de elementos de formulario me limita a 10 subindices

27-Sep-2022 22:01
Matías de Anquin
0 Respuestas

Tengo un sitio desarrollado con php y mysql, en este tengo una página que tiene dos tablas html, en una tengo los profesionales que quiero agregar a un equipo, para ello tengo un botón en la última columna que al hacer clic me modifica un campo de la tabla de profesionales (seleccionado=1) y en la otra tabla muestro los registros de profesionales con seleccionado=1, pero cuando llego a 11 profesionales me quita el último y me agrega el otro, ¿cómo puedo solucionar este problema?
Este es el código del body de las tablas:
<body>
<div align="center">
<center>
<?php include("profesional_foto_login.php"); ?>
<?php include("menu_barra.php"); ?>
<br/>
<table class="tabla2" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1" height="88">
<tr>
<td width="100%" align="center" height="21">
<span lang="en-us"><b>
<font face="Verdana" size="2">Administración de Equipos</font>
</b></span>
</td>
</tr>
</table>
<br/>
<form action="equiposC.php" enctype="multipart/form-data" method="post" name="formulario" id="formulario" onSubmit="return Enviar();">
<?php
echo frm_hide("otroEquipo", "");
echo frm_hide("profesional", "");
echo frm_hide("profesionalE", "");
echo frm_hide("pagina", "");
?>
<table class="Tabla2" cellpadding="2" cellspacing="2" width="100%">
<?php
if(empty($_SESSION["id_equipoI"])){
?>
<tr>
<td width="50%" align="right" height="1">Paciente:</td>
<td width="50%" align="left" height="1">
<?php
$sqlP="select e.id_equipo, p.apellidos, p.nombres from equipos e inner join perfiles_equipos pe on pe.id_equipo=e.id_equipo "
."inner join pacientes p on p.id_paciente=e.id_paciente where pe.id_perfil=? and pe.id_profesional=? order by "
."p.apellidos, p.nombres";
$resultP = $linkAuxiliar->prepare($sqlP);
$resultP->bind_param("ii",$id_perfilC,$profesional);
if($resultP->execute()){
$resP = $resultP->get_result();
$rowP = $resP->fetch_all(MYSQLI_ASSOC);
$cant_reg_p = count($rowP);
$resultP->close();
$resP->close();
if(!empty($cant_reg_p)){
$arrayEquipo=array();
$arrayNombre=array();
foreach($rowP as $value) {
$id_equipo=$value["id_equipo"];
$arrayNombre[$id_equipo]=utf8_encode($value["apellidos"]).", ".utf8_encode($value["nombres"]);
}
echo frm_select("equipos", "equipos", $arrayNombre, "", "onChange=\"javascript:Consultar();\"");
}
}
?>
</td>
</tr>
<?php
}else{
$edad = calculaedad($fecnacM);
$imagen = (!empty($imagenM)) ? "<img style=\"border-radius: 50%;\" src=\"".$imagenM."\" width=\"70\" height=\"70\" />" :
"<img style=\"border-radius: 50%;\" src=\"images/avatar.png\" width=\"70\" height=\"70\" />";
$imagenPr = (!empty($imagenP)) ? "<img style=\"border-radius: 50%;\" src=\"".$imagenP."\" width=\"70\" height=\"70\" />" :
"<img style=\"border-radius: 50%;\" src=\"images/avatar.png\" width=\"70\" height=\"70\" />";
?>
<tr>
<td width="50%" align="right" height="1">Paciente:</td>
<td width="50%" align="left" height="1">
<?php echo $imagen; ?>
<div style="font-size:1em;font-weight:bold;color:#2E86C1;"><?php echo $apellidoM.", ".$nombreM; ?></div>
<div>Edad: <span style="font-size:1em;font-weight:bold;color:#2E86C1;"><?php echo $edad; ?></span></div>
</td>
</tr>
<tr>
<td width="50%" align="right" height="1">Coordinador:</td>
<td width="50%" align="left" height="1">
<?php echo $imagenPr; ?>
<div style="font-size:1em;font-weight:bold;color:#2E86C1;"><?php echo $apellidosP.", ".$nombresP; ?></div>
<input type="button" name="otro" value="Consultar otro equipo" onClick="OtroEquipo();" />
</td>
</tr>
<?php
}
if(!empty($_SESSION["coordinadorI"])){
?>
<tr>
<td colspan="2" width="100%" height="1">
<table class="Tabla2" cellpadding="2" cellspacing="2" width="100%">
<tr>
<td width="50%" align="right" height="1">Buscar profesión:</td>
<td width="50%" align="left" height="1">
<?php
$sqlP = "select * from profesiones order by prioridad";
$resultP=$linkAuxiliar->prepare($sqlP);
$arrayProfesion=array();
if($resultP->execute()){
$resP = $resultP->get_result();
$rowP = $resP->fetch_all(MYSQLI_ASSOC);
$resP->close();
$resultP->close();
$cant_reg_p = count($rowP);
if(!empty($cant_reg_p)){
foreach($rowP as $value){
$id_profesion=$value["id_profesion"];
$arrayProfesion[$id_profesion]=utf8_encode($value["nombre"]);
}
}
}
echo frm_select("profesion_buscar", "profesion_buscar", $arrayProfesion);
?>
</td>
</tr>
<tr>
<td width="50%" align="right" height="1">Buscar apellido:</td>
<td width="50%" align="left" height="1">
<?php
echo frm_text("apellido_buscar", "", 50, 255);
?>
</td>
</tr>
<tr>
<td width="50%" align="right" height="1">Buscar nombre:</td>
<td width="50%" align="left" height="1">
<?php
echo frm_text("nombre_buscar", "", 50, 255);
?>
</td>
</tr>
<tr>
<td colspan="2" width="100%" align="center" height="1">
<input type="button" name="buscar" value="Buscar" onClick="javascript:Buscar();" />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" align="center" width="100%" height="1">
<?php
$pageNum = (!empty($_POST['pagina'])) ? (int)$_POST['pagina'] : 1;
$pager = new PagerMySQL($pageNum);
if(!empty($_SESSION["profesion_buscar"]) && !empty($_SESSION["apellido_buscar"]) && !empty($_SESSION["nombre_buscar"]))
$filtro = " and id_profesion=? and apellidos like ? and nombres like ?";
elseif(!empty($_SESSION["profesion_buscar"]) && !empty($_SESSION["apellido_buscar"]))
$filtro = " and id_profesion=? and apellidos like ?";
elseif(!empty($_SESSION["profesion_buscar"]) && !empty($_SESSION["nombre_buscar"]))
$filtro = " and id_profesion=? and nombres like ?";
elseif(!empty($_SESSION["profesion_buscar"]))
$filtro = " and id_profesion=?";
elseif(!empty($_SESSION["apellido_buscar"]))
$filtro = " and apellidos like ?";
elseif(!empty($_SESSION["nombre_buscar"]))
$filtro = " and nombres like ?";
$apellido_buscar = (!empty($_SESSION["apellido_buscar"])) ? "%".$_SESSION["apellido_buscar"]."%" : "";
$nombre_buscar = (!empty($_SESSION["nombre_buscar"])) ? "%".$_SESSION["nombre_buscar"]."%" : "";
$sqlPg="select * from profesionales where id_profesional!=? and seleccionado=0$filtro order by apellidos, nombres";
$params=array();
if(!empty($_SESSION["profesion_buscar"]) && !empty($_SESSION["apellido_buscar"]) && !empty($_SESSION["nombre_buscar"]))
$params = array("iiss",&$_SESSION["coordinadorI"],&$_SESSION["profesion_buscar"],&$apellido_buscar,&$nombre_buscar);
elseif(!empty($_SESSION["profesion_buscar"]) && !empty($_SESSION["apellido_buscar"]))
$params = array("iis",&$_SESSION["coordinadorI"],&$_SESSION["profesion_buscar"],&$apellido_buscar);
elseif(!empty($_SESSION["profesion_buscar"]) && !empty($_SESSION["nombre_buscar"]))
$params = array("iis",&$_SESSION["coordinadorI"],&$_SESSION["profesion_buscar"],&$nombre_buscar);
elseif(!empty($_SESSION["profesion_buscar"]))
$params = array("ii",&$_SESSION["coordinadorI"],&$_SESSION["profesion_buscar"]);
elseif(!empty($_SESSION["apellido_buscar"]))
$params = array("is",&$_SESSION["coordinadorI"],&$apellido_buscar);
elseif(!empty($_SESSION["nombre_buscar"]))
$params = array("is",&$_SESSION["coordinadorI"],&$nombre_buscar);
else
$params = array("i",&$_SESSION["coordinadorI"]);
$opciones=array("query"=>$sqlPg,"handle"=>$linkAuxiliar,"params"=>$params);
$opcion=array("url"=>"javascript:Paginar('%d')");
$arrayProfesionales = $pager->getData($opciones);
$pagerNav = $pager->render($opcion);
$mostrar = "Resultados: %d a %d de %d encontrados";
$resultados = $pager->RenderStats($mostrar);
$cant_reg_pg = count($arrayProfesionales);
if(!empty($cant_reg_pg)){
?>
<p><font face="Verdana" size="2">Seleccione los profesionales a agregar al equipo</font></p>
<p style="text-align:right"><?php echo $resultados; ?></p>
<table class="Tabla1" id="Tabla1" cellpadding="2" cellspacing="2" style="border-collapse: collapse" width="100%">
<tr>
<th width="33%" align="center" height="1">Profesional</th>
<th width="33%" align="center" height="1">Foto</th>
<th width="34%" align="center" height="1">Agregar los profesionales al equipo</th>
</tr>
<?php
foreach($arrayProfesionales as $value) {
$id_profesionalG=$value["id_profesional"];
$profesionalG=utf8_encode($value["apellidos"]).", ".utf8_encode($value["nombres"]);
$imagenG = (!empty($value["imagen"])) ?
"<img style=\"border-radius: 50%;\" src=\"".$value["imagen"]."\" width=\"70\" height=\"70\" />" :
"<img style=\"border-radius: 50%;\" src=\"images/avatar.png\" width=\"70\" height=\"70\" />";
$agregarG=frm_button("agregar", "Agregar", "javascript:Agregar('$id_profesionalG')");
?>
<tr>
<td width="33%" align="center" height="1"><?php echo $profesionalG; ?></td>
<td width="33%" align="center" height="1"><?php echo $imagenG; ?></td>
<td width="34%" align="center" height="1"><?php echo $agregarG; ?></td>
</tr>
<?php
}
?>
</table>
<?php
echo $pagerNav;
}
$pagerPer = new PagerMySQL(1);
$sqlPer = "select * from perfiles where nombre in ('Profesional','Secretaria') order by nombre";
$opcionesPer=array("query"=>$sqlPer,"handle"=>$linkAuxiliar);
$arrayPerfiles = $pagerPer->getData($opcionesPer);
$cant_reg_per = count($arrayPerfiles);
$arrayPerfil = array();
if(!empty($cant_reg_per)){
foreach($arrayPerfiles as $value){
$id_perfilS = $value["id_perfil"];
$arrayPerfil[$id_perfilS] = utf8_encode($value["nombre"]);
}
}
?>
<br />
<?php
$pagerPro = new PagerMySQL(1);
$sqlP="select * from profesionales where seleccionado=1 order by apellidos, nombres";
$opciones=array("query"=>$sqlP,"handle"=>$linkAuxiliar);
$arraySeleccionados = $pagerPro->getData($opciones);
$cant_reg_s=count($arraySeleccionados);
if(!empty($cant_reg_s)){
?>
<p><font face="Verdana" size="2">Profesionales de este equipo</font></p>
<table class="Tabla1" cellpadding="2" cellspacing="2" style="border-collapse: collapse" width="100%">
<tr>
<th width="25%" align="center" height="1">Profesional</th>
<th width="25%" align="center" height="1">Foto</th>
<th width="25%" align="center" height="1">Perfil</th>
<th width="25%" align="center" height="1">Eliminar del equipo</th>
</tr>
<?php
foreach($arraySeleccionados as $value){
$id_profesionalG=$value["id_profesional"];
$profesionalG=utf8_encode($value["apellidos"]).", ".utf8_encode($value["nombres"]);
$imagenG = (!empty($value["imagen"])) ?
"<img style=\"border-radius: 50%;\" src=\"".$value["imagen"]."\" width=\"70\" height=\"70\" />" :
"<img style=\"border-radius: 50%;\" src=\"images/avatar.png\" width=\"70\" height=\"70\" />";
$sqlPE="select * from perfiles_equipos where id_equipo=? and id_profesional=?";
$resultPE = $linkAuxiliar->prepare($sqlPE);
$resultPE->bind_param('ii',$_SESSION["id_equipoI"],$id_profesionalG);
$id_perfilG = 0;
if($resultPE->execute()){
$resPE = $resultPE->get_result();
$rowPE = $resPE->fetch_assoc();
$resultPE->close();
$resPE->close();
$id_perfilG = $rowPE["id_perfil"];
}
$perfilG=frm_select("perfiles[]", "perfiles", $arrayPerfil, $id_perfilG);
$disabled=(!empty($id_perfilG)) ? "disabled=true" : "";
$eliminarG=frm_button("eliminar", "Eliminar profesional", "javascript:Eliminar('$id_profesionalG')", $disabled);
$hideG=frm_hide("hideProfesional[]", $id_profesionalG);
?>
<tr>
<td width="25%" align="center" height="1"><?php echo $profesionalG; ?></td>
<td width="25%" align="center" height="1"><?php echo $imagenG; ?></td>
<td width="25%" align="center" height="1"><?php echo $perfilG.$hideG; ?></td>
<td width="25%" align="center" height="1"><?php echo $eliminarG; ?></td>
</tr>
<?php
}
?>
<tr>
<td colspan="4" align="center" width="100%" height="25">
<input type="submit" name="guardar" value="Guardar" />
</td>
</tr>
</table>
<?php
}
?>
</td>
</tr>
<?php
}
?>
</table>
</form>
</center>
</div>
</body>

</html>

<?php
$linkAuxiliar->close();
?>




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)