Ver Mensaje Individual
  #3 (permalink)  
Antiguo 14/09/2011, 13:16
skirlappa
 
Fecha de Ingreso: junio-2005
Mensajes: 107
Antigüedad: 18 años, 10 meses
Puntos: 0
Respuesta: Problemas con el UPDATE

Cita:
Iniciado por Patriarka Ver Mensaje
Tu codigo se simplifica asi de facil

Código PHP:
Ver original
  1. <?php
  2. /**
  3.  * @author skirlappa
  4.  * @copyright 2011
  5.  */
  6.  //Conectamos con la bases de datos
  7. $connect=mysql_connect("localhost","","");
  8. $selectDb=mysql_select_db("test",$connect);
  9. //unimos los resultados en un una variable
  10. $par[1]=$_POST['imp1'].$_POST['imp2'];
  11. $par[2]=$_POST['imp3'].$_POST['imp4'];
  12. $par[3]=$_POST['imp5'].$_POST['imp6'];
  13. $par[4]=$_POST['imp7'].$_POST['imp8'];
  14. $par[5]=$_POST['imp9'].$_POST['imp10'];
  15. $par[6]=$_POST['imp11'].$_POST['imp12'];
  16. $par[7]=$_POST['imp13'].$_POST['imp14'];
  17. $par[8]=$_POST['imp15'].$_POST['imp16'];
  18. $par[9]=$_POST['imp17'].$_POST['imp18'];
  19. $par[10]=$_POST['imp19'].$_POST['imp20'];
  20. /*
  21.  * vos cuando recibis un valor por post lo tratas como string
  22.  */
  23.  
  24. //Comprobamos que lo que se pasan sean números y no se dejan campos vacios
  25.    $query=mysql_query("SELECT * FROM resultados LEFT JOIN usuarios ON resultados.iduser=usuarios.id") or die (mysql_error());
  26.    $premio=0;
  27.    if(mysql_num_rows($query) > 0){
  28.        $premio=1; // no se por inicializas en 1
  29.        while($row=mysql_fetch_array($query))
  30.        {
  31.            for($i=1;$i<=count($par); $i++){
  32.                 if($par[$i]==$row["par$i"])
  33.                 {
  34.  
  35.                     $total= intval($premio) + intval($row['point']);
  36.                     //le agrego intval para forzarlo a numerico
  37.                     echo $row['username']."--------------".$premio."---------".$row['point']."------------".$total;
  38.  
  39.                     $co1=mysql_query("UPDATE usuarios SET point='$total' WHERE id= ".$row['iduser']."") or die (mysql_error());
  40.                 }
  41.            }
  42.        }
  43.    }
  44.    echo $premio;
Si es verdad que está simplificado, pero lo uqe pretendo hacer con el script es sumar 1 cada vez que el resultado coincida con unmo de los campos, y esto no lo hace, si coincide uno de los 10 campos si suma 1 en el campo point, pero si coinciden 2 no suma 2, sigue sumando 1.