Código PHP:
<?php
include ("../../permiso.php");
function listarcampo($dbi,$base,$codigo,$campo,$tabla,$atributo)
//Lista la descripción de la institución.
{
$consulta="select ".$campo." from ".$tabla." where ".$atributo."='$codigo'";
$result=mysql_db_query($base,$consulta,$dbi);
$row=mysql_fetch_array($result);
$resultado=$row[$campo];
return($resultado);
}
function seleccionar_lugar($dbi,$base,$codigo_prueba,$cod_texto)
//Selecciona las posiciones de los textos de la Forma A
{
$consulta = "select prueba_texto.cod_texto,num_texto from texto,prueba_texto where cod_prueba='$codigo_prueba' and prueba_texto.cod_texto=texto.cod_texto order by num_texto";
$result=mysql_db_query($base,$consulta,$dbi);
return($result);
}
function listar_textos($dbi,$base,$codigo_prueba,$creara,$codigo_formaA)
//lista los títulos de los textos y pone el combo
{
$consulta = "select prueba_texto.cod_texto,num_texto,titulo from texto,prueba_texto where cod_prueba='$codigo_prueba' and prueba_texto.cod_texto=texto.cod_texto order by num_texto";
$result=mysql_db_query($base,$consulta,$dbi);
$valor=cantidad_textos($dbi,$base,$codigo_prueba);
$tituloA=listarcampo($dbi,$base,$codigo_prueba,"nombre_prueba","prueba","cod_prueba");
$nivelA=listarcampo($dbi,$base,$codigo_prueba,"cod_nivel","prueba","cod_prueba");
$creacionA=listarcampo($dbi,$base,$codigo_prueba,"fecha_creacion","prueba","cod_prueba");
$consulta2='select cod_prueba from prueba where nombre_prueba="'.$tituloA.'" and cod_nivel="'.$nivelA.'" and fecha_creacion="'.$creacionA.'" and forma="B"';
$result2=mysql_db_query($base,$consulta2,$dbi);
$row2=mysql_fetch_array($result2);
if (mysql_num_rows($result2)!=0)
$cod_formab=$row2["cod_prueba"];
else
$cod_formab='';
while ($row=mysql_fetch_array($result))
{
$num=0;
$cont++;
print "<tr valign='baseline'><td width='90%'><ul>
<li>".$row["titulo"]."</li>
</ul></td><td width='15%' align='center'><select name='lugar[]' id='lugar' style='width:40px'>";
llenar_combo($dbi,$base,$valor,$row["cod_texto"],$cont);
print "</select><td width=\"5%\"> </td></td>";
if ($creara==2) //Si presionó el botón Modificar coloca una nueva columna con la posición
{ //de los textos en la Forma A.
//$formaB=seleccionar_lugar($dbi,$base,$codigo_formaA,$row["cod_texto"]); //pasar codigo forma b
$formaB=seleccionar_lugar($dbi,$base,$cod_formab,$row["cod_texto"]); //pasar codigo forma b
while ($row2=mysql_fetch_array($formaB))
{
$num++;
if($row2["cod_texto"]==$row["cod_texto"])
break;
}
print "<td width='15%' align='center'><input name=\"posicion[]\" id=\"posicion\" type=\"text\" size=\"2\" value=\"".$num."\" maxlength=\"2\" disabled>";
print "</td>";
}
print "</tr>";
}
return($valor);
}
function llenar_combo($dbi,$base,$valor,$cod_texto,$pos)
//lLena los combos de acuerdo a la cantidad de textos
{
for ($ind=1;$ind<=$valor;$ind++)
{
if ($pos==$ind)
print "<option value=\"".$ind."\" selected>".$ind."</option>";
else
print "<option value=\"".$ind."\">".$ind."</option>";
}
}
function cantidad_textos($l,$base,$cod_prueba)
//Determina la cantidad de textos de una prueba
{
$consulta="select count(*) as num from texto,prueba_texto where cod_prueba='$cod_prueba' and prueba_texto.cod_texto=texto.cod_texto order by num_texto";
$resp=mysql_db_query($base,$consulta,$l);
$row=mysql_fetch_array($resp);
$valor=$row["num"];
return($valor);
}
?>
<html>
<head>
<style>
//P { font: bold 11pt arial }
table{
font-family:arial;
font-size:12;
}
Li { font: 10pt arial }
</style>
<script>
function validar($valor,$mod)
//Valida que todos los valores de los combos sean distintos y que no sean iguales a la Forma A.
{
var $i;
var $j;
var $sw;
for ($j=0;$j<$valor;$j++)
for ($i=$j+1;$i<$valor;$i++)
{
if (document.form1.lugar[$j].value==document.form1.lugar[$i].value)
{
alert("Existe un valor repetido, debe cambiarlo");
return(false);
}
}
for ($i=0;$i<$valor;$i++)
{
if ((document.form1.lugar[$i].value-1)==$i)
$sw=1;
else
{
$sw=0;
break;
}
}
if ($sw==1)
{
alert("Debe alterar el orden de los textos");
return(false);
}
if ($mod==2) //Verifica que el orden de los textos no sea igual a la forma A
{
for ($i=0;$i<$valor;$i++)
{
if (document.form1.lugar[$i].value==document.form1.posicion[$i].value)
$sw=1;
else
{
$sw=0;
break;
}
}
if ($sw==1)
{
alert("El orden de los textos de la Forma A no puede ser igual a la Forma B");
return(false);
}
}
return(true);
}
</script>
<title>Forma A</title></head>
<BODY>
<form name='form1' action="guardar_formaA.php" onsubmit="return validar(valor,mod)">
<table width="71%" border="0" align="center" height="247">
<tr>
<td height="267"> <font face="Arial, Helvetica, sans-serif" size="2">
</font>
<?
print $tipart1azul;
print "Listado de Textos Forma A";
print $tipart2azul;
print $contpart1azul;
?>
<table width="85%" border="0" align="center">
<tr>
<td colspan="2"><?if ($creara==1){
print "Establezca el orden de los textos en que aparecerán en la Forma A:";
$titulo="Posición";
$titulo2="";
}
else
{
print "Modifique el orden de los textos en que aparecerán en la Forma A:";
$titulo="Posición Forma A";
$titulo2="Posición Forma B";
}
?>
</td>
<tr>
<td colspan="2"> </td>
<tr>
<td width="65%"><div align="center"><b><strong><font size="2" face="Arial, Helvetica, sans-serif">Título</font></strong></b></div></td>
<td width="15%"><div align="center"><strong><font size="2" face="Arial, Helvetica, sans-serif"><? print $titulo?></font></strong></div></td>
<td width="5%"> </td>
<td width="15%"><div align="center"><strong><font size="2" face="Arial, Helvetica, sans-serif"><? print $titulo2?></font></strong></div></td>
<tr >
<td width="65%"><b><strong>
</strong></b></td>
<td width="15%"><strong> </strong></td>
<td width="5%"> </td>
<td width="15%"><strong> </strong></td>
<tr>
<td>
<?
$dbi=mysql_connect('localhost',$cuenta,$pass);
if ($creara==2)
{
$valor=listar_textos($dbi,$base,$codigo_formaA,$creara,$codigo_prueba);
print"<tr><td colspan='4'><b>Observación:</b> El orden de los textos de la Forma A no puede ser igual a la Forma B</td></tr>";
}
else
$valor=listar_textos($dbi,$base,$codigo_prueba,$creara,$codigo_formaA);
mysql_close($dbi);
?>
</td>
</tr>
</table>
<p>
<? print $contpart2azul;?>
</p>
</td>
</tr>
</table>
<script>var valor=<? print $valor;?>;
var mod=<? print $creara;?>;
</script> <div align="center">
<input type="hidden" name=prueba0 value='<? print $prueba0 ?>'>
<input type="hidden" name=prueba1 value='<? print $prueba1 ?>'>
<input type="hidden" name=prueba2 value='<? print $prueba2 ?>'>
<input type="hidden" name=nombre value='<? print $nombre ?>'>
<input type="hidden" name=nivel value='<? print $nivel?>'>
<input type="hidden" name=tiporev value='<? print $tiporev?>'>
<input type="hidden" name=creara value='<? print $creara?>'>
<input type="hidden" name=codigo_formaA value='<? print $codigo_formaA?>'>
<input type="hidden" name=cod_prueba value='<? print $codigo_prueba?>'>
<input type="hidden" name=checkbox1 value='<? print $checkbox1?>'>
<input type="hidden" name=listar value='<? print $listar?>'>
<input type="hidden" name=checkbox3 value='<? print $checkbox3?>'>
<input type="submit" name="Submit" value="Guardar">
</div>
</form>
</BODY>
</HTML>