Código PHP:
<?
mysql_connect("localhost","root","");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Puntos</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Pragma" content="no-cache" />
<style type="text/css">
<!--
a.p:link {
color: #0066FF;
text-decoration: none;
}
a.p:visited {
color: #0066FF;
text-decoration: none;
}
a.p:active {
color: #0066FF;
text-decoration: none;
}
a.p:hover { A
color: #0066FF;
text-decoration: underline;
}
a.ord:link {
color: #000000;
text-decoration: none;
}
a.ord:visited {
color: #000000;
text-decoration: none;
}
a.ord:active {
color: #000000;
text-decoration: none;
}
a.ord:hover {
color: #000000;
text-decoration: underline;
}
-->
</style>
</head>
<body bgcolor="#FFFFFF">
<script language="JavaScript">
function muestra(queCosa)
{
alert(queCosa);
}
</script>
<div align="center"><strong><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Paginación
de Resultados de una consulta SQL (sobre MySQL)<br><br><p><a href="http://www.pclandia.com">www.pclandia.com</a></p> </font></strong> </div>
<hr noshade style="color:CC6666;height:1px">
<br>
<?
//inicializo el criterio y recibo cualquier cadena que se desee buscar
$criterio = "";
$txt_criterio = "";
if (!empty($_GET['criterio'])){
$txt_criterio = $_GET["criterio"];
$criterio = " where ex_id like '" . $txt_criterio . "' or asig like '%" . $txt_criterio . "' or fecha like '" . $txt_criterio . "'";
}
if ($_GET["mens"] == "ok"){
echo "Se hizo la acción correctamente";
}
$sql="SELECT * FROM tpv.examens ".$criterio;
$res=mysql_query($sql) or
die("Could not connect: " . mysql_error());
$numeroRegistros=mysql_num_rows($res);
if($numeroRegistros<=0)
{
echo "<div align='center'>";
echo "<font face='verdana' size='-2'>No s'han trobat resultats.</font>";
echo "</div>";
}else{
//////////elementos para el orden
if(!isset($orden))
{
$orden="ex_id";
}
//////////fin elementos de orden
//////////calculo de elementos necesarios para paginacion
//tamaño de la pagina
$tamPag=5;
//pagina actual si no esta definida y limites
if(!isset($_GET["pagina"]))
{
$pagina=1;
$inicio=1;
$final=$tamPag;
}else{
$pagina = $_GET["pagina"];
}
//calculo del limite inferior
$limitInf=($pagina-1)*$tamPag;
//calculo del numero de paginas
$numPags=ceil($numeroRegistros/$tamPag);
if(!isset($pagina))
{
$pagina=1;
$inicio=1;
$final=$tamPag;
}else{
$seccionActual=intval(($pagina-1)/$tamPag);
$inicio=($seccionActual*$tamPag)+1;
if($pagina<$numPags)
{
$final=$inicio+$tamPag-1;
}else{
$final=$numPags;
}
if ($final>$numPags){
$final=$numPags;
}
}
//////////fin de dicho calculo
//////////creacion de la consulta con limites
$sql="SELECT * FROM tpv.examens WHERE `asig` = 'na' ".$criterio." ORDER BY ".$orden.",ex_id ASC LIMIT ".$limitInf.",".$tamPag;
$res=mysql_query($sql);
//////////fin consulta con limites
echo "<div align='center'>";
echo "<font face='verdana' size='-2'>Trobats ".$numeroRegistros." resultats.<br>";
echo "ordenados por <b>".$orden."</b>";
if(isset($txt_criterio)){
echo "<br>Valor de filtre: <b>".$txt_criterio."</b>";
}
echo "</font></div>";
echo "<table align='center' width='80%' border='0' cellspacing='1' cellpadding='0'>";
echo "<tr><td colspan='3'><hr noshade></td></tr>";
echo "<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=ex_id&criterio=".$txt_criterio."'>Nº de examen</a></th>";
echo "<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=asig&criterio=".$txt_criterio."'>Asignatura </a></th>";
echo "<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=nota&criterio=".$txt_criterio."'>Nota</a></th>";
echo "<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=fecha&criterio=".$txt_criterio."'>fecha</a></th>";
while($registro=mysql_fetch_array($res))
{
?>
<!-- tabla de resultados -->
<tr bgcolor="#CC6666" onMouseOver="this.style.backgroundColor='#FF9900';this.style.cursor='hand';" onMouseOut="this.style.backgroundColor='#CC6666'"o"];">
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><center><b><? echo $registro["ex_id"]; ?></b></center></font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><center><b>
<?
$link = mysql_connect("localhost","root","");
mysql_select_db("tpv",$link);
$asig = $registro["asig"];
switch($asig) {
case na:
echo "Naturals";
break;
case so:
echo "Socials";
break;
case ma:
echo "Matematiques";
break;
case le:
echo "Llengua castellana";
break;
case ca:
echo "Llengua catalana";
break;
case in:
echo "in";
break;
case te:
echo "tecnologia";
break;
case op:
echo "Optativa";
break;
default:
echo "Defineix ".$registro['asig'];
}
?> </b></center></font></td>
<td><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><center><b><? echo $registro["nota"]; ?></b></center></font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><center><b><? echo $registro["fecha"]; ?></b></center></font></td>
</tr>
<!-- fin tabla resultados -->
<?
}//fin while
$sql1="SELECT * FROM tpv.examens WHERE `asig` = 'na'";
$res1=mysql_query($sql1);
while($registro=mysql_fetch_array($res1))
{
$nota = $registro["nota"];
}
echo "</table>";
echo $nota;
}//fin if
//////////a partir de aqui viene la paginacion
?>
<br>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr><td align="center" valign="top">
<?
if($pagina>1)
{
echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina-1)."&orden=".$orden."&criterio=".$txt_criterio."'>";
echo "<font face='verdana' size='-2'>Anterior.</font>";
echo "</a> ";
}
for($i=$inicio;$i<=$final;$i++)
{
if($i==$pagina)
{
echo "<font face='verdana' size='-2'><b>".$i."</b> </font>";
}else{
echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".$i."&orden=".$orden."&criterio=".$txt_criterio."'>";
echo "<font face='verdana' size='-2'>".$i."</font></a> ";
}
}
if($pagina<$numPags)
{
echo " <a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina+1)."&orden=".$orden."&criterio=".$txt_criterio."'>";
echo "<font face='verdana' size='-2'>siguiente</font></a>";
}
//////////fin de la paginacion
?>
</td></tr>
</table>
<hr noshade style="color:CC6666;height:1px">
<div align="center"><font face="verdana" size="-2"><a class="p" href="examens_save.php">::Agregar examen::</a> </font></div>
Cercar:<br>
<form action="ole.php" method="get">
Paraules a cercar:
<input type="text" name="criterio" size="22" maxlength="150">
<input type="submit" value="Buscar">
</form> <br>
<br>
</body>
</html>
<?
mysql_close();
?>
</body>
</html>
Cita:
no sé si me expliqué :) agradeceria su ayuda ya que esto lo hago como medio para aprender php :) Si hay 3 resultados con asig = na, que me sume su nota y me la divida entre 3