tengo un formulario donde extraigo datos y los muestro en un reporte, tiene como limite mostrar hasta 224 alumnos...que son los que estan seleccionados y estan ordenados de acuerdo a sus puntajes, la duda se presenta cuando los quiero ordenar de acuerdo a su apellido paterno,no los muestra a todos, muestra a alumnos que no estan seleccionados para participar y no muestra a otros qe si estan seleccionados, y ay tengo la duda
les dejo el codigo:
Código PHP:
<?php
include "link.php";
$dblink=MYSQL_CONNECT($MySqlHostname, $MySqlUsername, $MySqlPassword);
@mysql_select_db("$MySqlDatabase");
$sql = "SELECT FTS_N_SELECC, FTS_N_ESPERA FROM FACTORES_TS";
$query = @mysql_query($sql, $dblink);
while ($row = mysql_fetch_array($query))
{
$FTS_N_SELECC = $row['FTS_N_SELECC'];
$FTS_N_ESPERA = $row['FTS_N_ESPERA'];
}
$Limit_Post=(($FTS_N_SELECC));
?>
<?
$sql1="SELECT * FROM FACTORES_TS";
$query1=@mysql_query($sql1, $dblink);
while ($row = mysql_fetch_array($query1))
{
$FTS_TRES = $row['FTS_TRES'];
$FTS_TRMA = $row['FTS_TRMA'];
$FTS_TRVE = $row['FTS_TRVE'];
$FTS_TRME = $row['FTS_TRME'];
$FTS_CONPATRO = $row['FTS_CONPATRO'];
$FTS_SINPATRO = $row['FTS_SINPATRO'];
$FTS_N_SELECC = $row['FTS_N_SELECC'];
//$FTS_N_ESPERA = $row['FTS_N_ESPERA'];
$FTS_PONDERACION_TP = $row['FTS_PONDERACION_TP'];
$FTS_PONDERACION_TS = $row['FTS_PONDERACION_TS'];
//printf("<OPTION value=\"$FTS_TRES\", \"$FTS_TRMA\", \"$FTS_TRVE\", \"$FTS_TRME\", \"$FTS_CONPATRO\"> $FTS_TRES - $FTS_TRMA - $FTS_TRVE - $FTS_TRME - $FTS_CONPATRO </option>");
}
?>
<?
$sql2="SELECT TS.TS_ID, TS.TS_IDENTPOST, TP.TP_PPS, TS.TS_PTS FROM TEST_PRESELECCION22 AS TP, TEST_SELECCION AS TS WHERE (TP.TP_IDENPOST=TS.TS_IDENTPOST)";
$query2=@mysql_query($sql2, $dblink);
while ($row = mysql_fetch_array($query2))
{
$TS_IDENTPOST = $row['TS_IDENTPOST'];
$almacena_ID = $row['TS_IDENTPOST'];
$TS_ID = $row['TS_ID'];
$TP_PPS = $row['TP_PPS'];
$TS_PTS = $row['TS_PTS'];
$par1=($TP_PPS * $FTS_PONDERACION_TP);
$par2=($TS_PTS * $FTS_PONDERACION_TS);
$suma_pares=bcadd($par1, $par2, 4);
//echo "TS_IDENTPOST: $almacena_ID";
//echo "**";
//echo "TS_ID: $TS_ID";
//echo "**";
//echo "suma_pares: $suma_pares <br>\n";
$sql22="INSERT INTO TEST_SELECCION VALUES ('$suma_pares') WHERE (TS.TS_IDENTPOST='$almacena_ID')";
$sql22="UPDATE TEST_SELECCION SET TS_ALM='$suma_pares' WHERE (TS_IDENTPOST='$almacena_ID')";
$query22=@mysql_query($sql22, $dblink);
}
?>
<?
//****Aquí calculo la DesvEstandar con TS_ALM - todos los Postulantes
$sumatoria=0;
$cont=0;
$ConRaiz=0;
$sql20="SELECT TS_ALM FROM TEST_SELECCION";
$query20=@mysql_query($sql20, $dblink);
while ($row = mysql_fetch_array($query20))
{
$TS_ALM = $row['TS_ALM'];
$sumatoria=(($sumatoria) + ($TS_ALM));
$cont=($cont+1);
}
if (($sumatoria!="") AND ($cont!="")) {
$Promedio=bcdiv($sumatoria, $cont, 4);
}
?>
<?
$sql3="SELECT TS_ALM FROM TEST_SELECCION";
$query3=@mysql_query($sql3, $dblink);
while ($row = mysql_fetch_array($query3))
{
$TS_ALM = $row['TS_ALM'];
$ALM_menos_PromFun=bcsub($TS_ALM, $Promedio, 4);
//printf("ES_menos_PromFun = ");
//printf($ES_menos_PromFun);
$ALM_al_Cuad=bcpow($ALM_menos_PromFun, 2, 4);
//printf("ES_al_Cuad = ");
//printf($ES_al_Cuad);
$ConRaiz=(($ConRaiz) + ($ALM_al_Cuad));
}
$cont_menos_uno=($cont - 1);
if ($cont_menos_uno!='0') {
$ConRaiz_div=bcdiv($ConRaiz, $cont_menos_uno, 4);
$DESV_EST=bcsqrt($ConRaiz_div, 4);
//echo "DESV: $DESV_EST <br>";
}
?>
<?
$sql4 = "SELECT DISTINCT TS.TS_PTS, PO.PATERNO, PO.MATERNO, PO.NOMBRES, PO.RUT, PO.DV, PO.TIENEPATROCINIO, TP.TP_PPS, TS.TS_ID, TS.TS_TRES, TS.TS_TRMA, TS.TS_TRVE, TS.TS_TRME, TS.TS_N, TS.TS_ALM FROM POSTULANTE AS PO, TEST_PRESELECCION22 AS TP, TEST_SELECCION AS TS WHERE ((TP.TP_IDENPOST=TS.TS_IDENTPOST) AND (PO.RUT=TP.TP_IDENPOST))";
$query4 = @mysql_query($sql4, $dblink);
while ($row = mysql_fetch_array($query4))
{
$TS_ID = $row['TS_ID'];
$almacenaID = $row['TS_ID'];
$PATERNOZ = $row['PATERNO'];
$MATERNOZ = $row['MATERNO'];
$NOMBRESZ = $row['NOMBRES'];
$RUTZ = $row['RUT'];
$DVZ = $row['DV'];
$TP_PPSZ = $row['TP_PPS'];
$TIENEPATROCINIOZ = $row['TIENEPATROCINIO'];
$TS_TRES = $row['TS_TRES'];
$TS_TRMA = $row['TS_TRMA'];
$TS_TRVE = $row['TS_TRVE'];
$TS_TRME = $row['TS_TRME'];
$TS_N = $row['TS_N'];
$TS_ALM = $row['TS_ALM'];
$TS_PTS = $row['TS_PTS'];
//echo "TS_ID:$TS_ID";
//echo "**";
//echo "Tiene:$TIENEPATROCINIOZ";
//echo "**";
if ($TIENEPATROCINIOZ=='0') {
$EMP=$FTS_SINPATRO;
}
elseif ($TIENEPATROCINIOZ=='1') {
$EMP=$FTS_CONPATRO;
}
//echo "EMP:$EMP";
//echo "**";
$PROD_UNO=($TP_PPSZ*$FTS_PONDERACION_TP);
//echo "PROD_UNO:$PROD_UNO";
$PROD_DOSa=(($TS_TRES*$FTS_TRES)+($TS_TRMA*$FTS_TRMA)+($TS_TRVE*$FTS_TRVE)+($TS_TRME*$FTS_TRME));
$PROD_DOS=bcadd($PROD_DOSa, 0, 3);
//echo "PROD_DOS: $PROD_DOS";
$PROD_DOS_POR_FACTOR_S=($PROD_DOS*$FTS_PONDERACION_TS);
//echo "PROD_DOS_POR_FACTOR_S**: $PROD_DOS_POR_FACTOR_S";
$PROD_DOS_POR_EMP=($PROD_DOS_POR_FACTOR_S*$EMP);
//echo "PROD_DOS_POR_EMP: $PROD_DOS_POR_EMP";
//echo "TS_N:$TS_N";
$PTJE_FINAL_TSa=($PROD_UNO)+($PROD_DOS_POR_EMP)+($TS_N * $DESV_EST);
$PTJE_FINAL_TS=bcadd($PTJE_FINAL_TSa, 0, 3);
//echo "**";
//echo "PTJE_FINAL_TS: $PTJE_FINAL_TS <br>\n";
$sql5 = "UPDATE TEST_SELECCION SET TS_DESV='$DESV_EST', TS_PS='$PTJE_FINAL_TS' WHERE (TS_ID='$almacenaID')";
$query5 = @mysql_query($sql5, $dblink);
}
?>
<?
include "link.php";
$dblink=MYSQL_CONNECT($MySqlHostname, $MySqlUsername, $MySqlPassword);
$sql6 = "SELECT DISTINCT PO.NOMBRES, PO.PATERNO, PO.TIENEPATROCINIO, PO.RUT, PO.DV, PO.MATERNO, TP.TP_IDENPOST , TP.TP_PTPS, TP.TP_PPS, TS.TS_IDENTPOST , TS.TS_TRES, TS.TS_TRMA, TS.TS_TRVE, TS.TS_TRME, TS.TS_N, TS.TS_PTS, TS.TS_PS FROM TEST_PRESELECCION22 AS TP, POSTULANTE AS PO, TEST_SELECCION AS TS WHERE ((TP.TP_IDENPOST=PO.RUT) AND (TS.TS_IDENTPOST=PO.RUT)) ORDER BY PO.PATERNO, PO.MATERNO DESC LIMIT $Limit_Post";
$query6 = @mysql_query($sql6, $dblink);
$shtml="<table>";
$shtml=$shtml."<td>Correlativo</td><td>A. Paterno</td><td>A. Materno</td><td>Nombres</td><td>RUT</td><td>DV</td>";
$shtml=$shtml."<tr>";
//echo "PATERNO MATERNO NOMBRES | PTPS | PPS | TRES | TRMA | TRVE | TRME | TPers | PTS | PS ";
while ($row = mysql_fetch_array($query6))
{
$num=$num+1;
$TP_PTPS = number_format($row['TP_PTPS'], 2);
$TP_PPS = number_format($row['TP_PPS'], 3);
$NOMBRES = $row['NOMBRES'];
$RUT = $row['RUT'];
$DV = $row['DV'];
$PATERNO = $row['PATERNO'];
$MATERNO = $row['MATERNO'];
$TIENEPATROCINIO = $row['TIENEPATROCINIO'];
$TS_TRES = number_format($row['TS_TRES'], 2);
$TS_TRMA = number_format($row['TS_TRMA'], 2);
$TS_TRVE = number_format($row['TS_TRVE'], 2);
$TS_TRME = number_format($row['TS_TRME'], 2);
$TS_N = $row['TS_N'];
$TS_PTS = number_format($row['TS_PTS'], 3);
$TS_PS = number_format($row['TS_PS'], 3);
$TP_IDENPOST=$row['TP_IDENPOS'];
$TS_IDENTPOST=$row['TS_IDENTPOST'];
if ( $num <= 224 )
{
echo '<td bgcolor="#c0c0c0"><div align="center"><font face="Tahoma" size="1" color="#000000">'.$num.'</font></div></td>';
}
if ( $num > 224 )
{
echo '<td><div align="center"><font face="Tahoma" size="1" color="#000000">'.$num.'</font></div></td>';
}
echo '<td><div align="left"><font face="Tahoma" size="1" color="#000000">'.$PATERNO.'</font></div></td>';
echo '<td><div align="left"><font face="Tahoma" size="1" color="#000000">'.$MATERNO.'</font></div></td>';
echo '<td><div align="left"><font face="Tahoma" size="1" color="#000000">'.$NOMBRES.'</font></div></td>';
if ($DV =='10')
{
$DV = 'k';
echo '<td><div align="center"><font face="Tahoma" size="1" color="#000000">'.$RUT.' - '.$DV.'</font></div></td></tr>';
}
else
if ($DV !='10')
{
echo '<td><div align="center"><font face="Tahoma" size="1" color="#000000">'.$RUT.' - '.$DV.'</font></div></td></tr>';
}
$shtml=$shtml."<tr>";
$shtml=$shtml."<td>$num</td><td>$PATERNO</td><td>$MATERNO</td><td>$NOMBRES</td><td>$RUT</td><td>$DV</td>";
$shtml=$shtml."</tr>";
//$shtml=$shtml."<tr>"; salto de una fila entre cada nuevo registro
}
$shtml=$shtml."</table>";
$scarpeta="Carpeta"; //carpeta donde guardar el archivo.
//debe tener permisos 775 por lo menos
$sfile=$scarpeta."/AceptadosEsperaPS.xls"; //ruta del archivo a generar
$fp=fopen($sfile,"w");
fwrite($fp,$shtml);
fclose($fp);
echo '</tr></table></div>';
//echo "<a href='".$sfile."'>Generar Reporte en Excel</a>";