Cluster, siento contestar tarde pero esque el foro no me deja, es muy largo o algo. ahora lo pongo que si me deja 
 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 ($_GET["criterio"]!=""){ 
   $txt_criterio = $_GET["criterio"]; 
   $criterio = " where co_id like '" . $txt_criterio . "' or co_nombre like '%" . $txt_criterio . "' or co_dir like '" . $txt_criterio . "'"; 
} 
if ($_GET["hola"]!=""){ 
   $txt_criterioo = $_GET["hola"]; 
   echo $txt_criterioo;
} 
 
 
$sql="SELECT * FROM tpv.comercios ".$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 se encontraron resultados</font>"; 
    echo "</div>"; 
}else{ 
    //////////elementos para el orden 
    if(!isset($orden)) 
    { 
       $orden="co_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.comercios ".$criterio." ORDER BY ".$orden.",co_id ASC LIMIT ".$limitInf.",".$tamPag; 
$res=mysql_query($sql); 
 
//////////fin consulta con limites 
echo "<div align='center'>"; 
echo "<font face='verdana' size='-2'>encontrados ".$numeroRegistros." resultados<br>"; 
echo "ordenados por <b>".$orden."</b>"; 
if(isset($txt_criterio)){ 
    echo "<br>Valor filtro: <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=co_id&criterio=".$txt_criterio."'>ID</a></th>";
        echo "<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=co_nombre&criterio=".$txt_criterio."'>Nombre </a></th>";
        echo "<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=co_dir&criterio=".$txt_criterio."'>Apellido</a></th>";
        echo "<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=co_puntos&criterio=".$txt_criterio."'>Puntos</a></th>";
        echo "<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=co_pen&criterio=".$txt_criterio."'>P. Totales</a></th>";
        echo "<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=co_pen1&criterio=".$txt_criterio."'>P. Cumplidas</a></th>";
        echo "<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=co_pen1&criterio=".$txt_criterio."'>P. A Cumplir</a></th>";
        echo "<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=co_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"><b><? echo $registro["co_id"]; ?></b></font></td>
    <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["co_nombre"]; ?></b></font></td>
    <td><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["co_dir"]; ?></b></font></td>
    <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b>
      <?     
        $link = mysql_connect("localhost","root",""); 
        mysql_select_db("tpv",$link);
    if ($registro["co_puntos"] < 1) { 
    echo "Añadiendo penalización";
    $id22 = $registro["co_id"];
    $pen = $registro["co_pen"] + "1";
    mysql_query("UPDATE `comercios` SET `co_pen` = '$pen' WHERE `co_id` = $id22");
    mysql_query("UPDATE `comercios` SET `co_puntos` = '6' WHERE `co_id` = $id22");
    
    } else { 
    echo $registro[co_puntos];
    } ?>
</b></font></td>
    <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["co_pen"]; ?></b></font></td>
    <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["co_pen1"]; ?></b></font></td>
    <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["co_pen"] - $registro["co_pen1"]; ?></b></font></td>
    <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["co_fecha"]; ?></b></font></td>
 
  </tr> 
   <!-- fin tabla resultados --> 
<? 
}//fin while 
echo "</table>"; 
}//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="save.php">::Inicio::</a>  </font></div> 
Buscar:<br>
<form action="ole.php" method="get"> 
Criterio de búsqueda: 
<input type="text" name="criterio" size="22" maxlength="150"> 
<input type="submit" value="Buscar"> 
</form> <br>
 <br>
 
</body> 
</html> 
<? 
    mysql_close(); 
?> 
 
  </body>
</html>   
  Esta es la parte en la cual tengo que volver a conectarme a la BD, sino no funciona: 
 Código PHP:
   
      <?     
        $link = mysql_connect("localhost","root",""); 
        mysql_select_db("tpv",$link);
    if ($registro["co_puntos"] < 1) { 
    echo "Añadiendo penalización";
    $id22 = $registro["co_id"];
    $pen = $registro["co_pen"] + "1";
    mysql_query("UPDATE `comercios` SET `co_pen` = '$pen' WHERE `co_id` = $id22");
    mysql_query("UPDATE `comercios` SET `co_puntos` = '6' WHERE `co_id` = $id22");
    
    } else { 
    echo $registro[co_puntos];
    } ?>    
   Es un if y to eso para que cuando llege a 0 haga unas cosas y tal y esto me funciona a la perfeccion, solo que no entiendo porque tengo que volver a conectarme.