Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/11/2015, 01:20
loganaxo
 
Fecha de Ingreso: noviembre-2015
Ubicación: Murcia
Mensajes: 17
Antigüedad: 9 años, 1 mes
Puntos: 0
Problema BBDD se dobla (o triplican) queries

Buenas, soy nuevo aqui en el foro y os comento mi problema.

Tengo una BBDD de una liga de tenis.
Hay veces que cuando el jugador sube el resultado a la web se duplica o incluso se triplica (no se porque motivo) de manera que uno que ha jugado un partido y ha ganado (que serian 3 puntos) sale con dos partidos ganados y 6 puntos, por eso, se hace molesto ir buscando en la BBDD todos los resultados, buscar el que esta doblado o triplicado y modificarlo "a mano".
He de decir, que raras veces pasa pero cada vez son mas y se hace muy molesto.
Necesito ayuda si alguien me puede decir porque motivo puede ser y como solucionarlo se lo agradeceria muchisimo.

Un saludo

Aqui lo dejo:

Código:
<?php

session_start();

$idpartido = $_POST["idpa"];
$_SESSION["idpart"]=$idpartido;
$j1 = $_POST["juegoslocal"];
$j2 = $_POST["juegosvisitante"];
$cont1 = "0";
$cont2 = "0";
$cont3 = "0";
$cont4 = "0";
$cont5 = "0";

//CONECTO A BBDD

$sql2="SELECT local, visitante FROM partidos WHERE id_partido = '".$_SESSION["idpart"]."'";
$result2=mysql_query($sql2) or die (mysql_error());

if (mysql_num_rows($result2) > 0) {
while ($fila = mysql_fetch_array($result2)) {
    
         $local = $fila['local'];
         $visitante = $fila['visitante'];
   }
}

$sql3="SELECT partidosganados, partidosperdidos, wofavor, wocontra, juegosfavor, juegoscontra, diferenciajuegos, puntos FROM users WHERE n_socio = '".$local."'";
$result3=mysql_query($sql3) or die (mysql_error());

if (mysql_num_rows($result3) > 0) { 
while ($fila = mysql_fetch_array($result3)) {
    
         $partidosganadoslocal = $fila['partidosganados'];
         $partidosperdidoslocal = $fila['partidosperdidos'];
         $wofavorlocal = $fila['wofavor'];
         $wocontralocal = $fila['wocontra'];
         $juegosfavorlocal = $fila['juegosfavor'];
         $juegoscontralocal = $fila['juegoscontra'];
         $diferenciajuegoslocal = $fila['diferenciajuegos'];
         $puntoslocal = $fila['puntos'];

   }
}

$sql4="SELECT partidosganados, partidosperdidos, wofavor, wocontra, juegosfavor, juegoscontra, diferenciajuegos, puntos FROM users WHERE n_socio = '".$visitante."'";
$result4=mysql_query($sql4) or die (mysql_error());

if (mysql_num_rows($result4) > 0) { 
while ($fila = mysql_fetch_array($result4)) {
    
         $partidosganadosvisitante = $fila['partidosganados'];
         $partidosperdidosvisitante = $fila['partidosperdidos'];
         $wofavorvisitante = $fila['wofavor'];
         $wocontravisitante = $fila['wocontra'];
         $juegosfavorvisitante = $fila['juegosfavor'];
         $juegoscontravisitante = $fila['juegoscontra'];
         $diferenciajuegosvisitante = $fila['diferenciajuegos'];
         $puntosvisitante = $fila['puntos'];

   }
}

 if(($_POST['tiporesultado'] == '1') AND ($cont1 == 0)){
    $cont1= $cont1 + 1;
 
  if(($j1 == NULL)||($j2 == NULL)||(($j1 != 8) AND ($j2 !=8))||(($j1 == 8) AND ($j2 == 8))){
    echo "Debe introducir el número de juegos correctamente <br> <br> <a href='post_login_mispartidos.php'> Volver </a>";
  }else{

    $sql = " UPDATE partidos SET ";
    $sql .= " juegoslocal ='".$j1."'";
    $sql .= ", juegosvisitante = '".$j2."'";
    $sql .= " WHERE id_partido = '".$_SESSION["idpart"]."'";
    $res = mysql_query($sql) or die (mysql_error());

    if (($j1 == 8) AND ($cont2 == 0)){

    $cont2= $cont2 + 1;

    $puntoslocal = $puntoslocal + 3;
    $juegosfavorlocal = $juegosfavorlocal + $j1;
    $juegoscontralocal = $juegoscontralocal + $j2;
    $diferenciajuegoslocal = $diferenciajuegoslocal + $j1 - $j2;
    $partidosganadoslocal = $partidosganadoslocal + 1;
    $puntosvisitante = $puntosvisitante + 1;
    $juegosfavorvisitante = $juegosfavorvisitante + $j2;
    $juegoscontravisitante = $juegoscontravisitante + $j1;
    $diferenciajuegosvisitante = $diferenciajuegosvisitante + $j2 - $j1;
    $partidosperdidosvisitante = $partidosperdidosvisitante + 1;

    $sql5 = " UPDATE users SET ";
    $sql5 .= " puntos = '".$puntoslocal."',";
    $sql5 .= " juegosfavor = '".$juegosfavorlocal."',";
    $sql5 .= " juegoscontra = '".$juegoscontralocal."',";
    $sql5 .= " diferenciajuegos = '".$diferenciajuegoslocal."',";
    $sql5 .= " partidosganados = '".$partidosganadoslocal."'";
    $sql5 .= " WHERE n_socio = '".$local."'";
    $res5 = mysql_query($sql5) or die (mysql_error()); 
    
    $sql6 = " UPDATE users SET ";
    $sql6 .= " puntos = '".$puntosvisitante."',";
    $sql6 .= " juegosfavor = '".$juegosfavorvisitante."',";
    $sql6 .= " juegoscontra = '".$juegoscontravisitante."',";
    $sql6 .= " diferenciajuegos= '".$diferenciajuegosvisitante."',";
    $sql6 .= " partidosperdidos = '".$partidosperdidosvisitante."'";
    $sql6 .= " WHERE n_socio = '".$visitante."'";
    $res6 = mysql_query($sql6) or die (mysql_error()); 

   }
   
   if (($j2 == 8) AND ($cont3 == 0)){

    $cont3= $cont3 + 1;

    $puntoslocal = $puntoslocal + 1;
    $juegosfavorlocal = $juegosfavorlocal + $j1;
    $juegoscontralocal = $juegoscontralocal + $j2;
    $diferenciajuegoslocal = $diferenciajuegoslocal + $j1 - $j2;
    $partidosperdidoslocal = $partidosperdidoslocal + 1;
    $puntosvisitante = $puntosvisitante + 3;
    $juegosfavorvisitante = $juegosfavorvisitante + $j2;
    $juegoscontravisitante = $juegoscontravisitante + $j1;
    $diferenciajuegosvisitante = $diferenciajuegosvisitante + $j2 - $j1;
    $partidosganadosvisitante = $partidosganadosvisitante + 1;
    
    $sql5 = " UPDATE users SET ";
    $sql5 .= " puntos = '".$puntoslocal."',";
    $sql5 .= " juegosfavor = '".$juegosfavorlocal."',";
    $sql5 .= " juegoscontra = '".$juegoscontralocal."',";
    $sql5 .= " diferenciajuegos = '".$diferenciajuegoslocal."',";
    $sql5 .= " partidosperdidos = '".$partidosperdidoslocal."'";
    $sql5 .= " WHERE n_socio = '".$local."'";
    $res5 = mysql_query($sql5) or die (mysql_error()); 
    
    $sql6 = " UPDATE users SET ";
    $sql6 .= " puntos = '".$puntosvisitante."',";
    $sql6 .= " juegosfavor = '".$juegosfavorvisitante."',";
    $sql6 .= " juegoscontra = '".$juegoscontravisitante."',";
    $sql6 .= " diferenciajuegos= '".$diferenciajuegosvisitante."',";
    $sql6 .= " partidosganados = '".$partidosganadosvisitante."'";
    $sql6 .= " WHERE n_socio = '".$visitante."'";
    $res6 = mysql_query($sql6) or die (mysql_error());  

   }
  
       echo "Resultado por juegos subido correctamente <br> <br> <a href='post_login_mispartidos.php'> Volver </a>";
   mysql_close("$host", "$username", "$password");
   break;
   exit;
  }
 }
 
 if(($_POST['tiporesultado'] == '2') AND ($cont4 == 0)){

    $cont4= $cont4 + 1;

    $sql = " UPDATE partidos SET ";
    $sql .= " juegoslocal = 'WO' ,";
    $sql .= " juegosvisitante = '0' ";
    $sql .= " WHERE id_partido = '".$_SESSION["idpart"]."'";
    $res = mysql_query($sql) or die (mysql_error()); 
    
    $puntoslocal = $puntoslocal + 3;
    $wocontravisitante = $wocontravisitante + 1;
    $wofavorlocal = $wofavorlocal + 1;
    $juegoscontravisitante = $juegoscontravisitante + 8;
    $juegosfavorlocal = $juegosfavorlocal + 8;
    $diferenciajuegosvisitante = $diferenciajuegosvisitante - 8;
    $diferenciajuegoslocal = $diferenciajuegoslocal + 8;
    
    $sql5 = " UPDATE users SET ";
    $sql5 .= " puntos = '".$puntoslocal."',";
    $sql5 .= " wofavor = '".$wofavorlocal."',";
    $sql5 .= " diferenciajuegos = '".$diferenciajuegoslocal."',";
    $sql5 .= " juegosfavor = '".$juegosfavorlocal."'";
    $sql5 .= " WHERE n_socio = '".$local."'";
    $res5 = mysql_query($sql5) or die (mysql_error()); 
    
    $sql6 = " UPDATE users SET ";
    $sql6 .= " wocontra = '".$wocontravisitante."',";
    $sql6 .= " diferenciajuegos = '".$diferenciajuegosvisitante."',";
    $sql6 .= " juegoscontra = '".$juegoscontravisitante."'";
    $sql6 .= " WHERE n_socio = '".$visitante."'";
    $res6 = mysql_query($sql6) or die (mysql_error());

      echo "Resultado por WO a favor del local subido correctamente <br> <br> <a href='post_login_mispartidos.php'> Volver </a>";
   mysql_close("$host", "$username", "$password");
   break; 
   exit;
 }

 if(($_POST['tiporesultado'] == '3') AND ($cont5 == 0)) {

    $cont5= $cont5 + 1;

    $sql = " UPDATE partidos SET ";
    $sql .= " juegoslocal = '0' ,";
    $sql .= " juegosvisitante = 'WO' ";
    $sql .= " WHERE id_partido = '".$_SESSION["idpart"]."'";
    $res = mysql_query($sql) or die (mysql_error());
    
    $puntosvisitante = $puntosvisitante + 3;
    $wocontralocal = $wocontralocal + 1;
    $wofavorvisitante = $wofavorvisitante + 1;
    $juegoscontralocal = $juegoscontralocal + 8;
    $juegosfavorvisitante = $juegosfavorvisitante + 8;
    $diferenciajuegoslocal = $diferenciajuegoslocal - 8;
    $diferenciajuegosvisitante = $diferenciajuegosvisitante + 8;
    
    $sql5 = " UPDATE users SET ";
    $sql5 .= " wocontra = '".$wocontralocal."',";
    $sql5 .= " diferenciajuegos = '".$diferenciajuegoslocal."',";
    $sql5 .= " juegoscontra = '".$juegoscontralocal."'";
    $sql5 .= " WHERE n_socio = '".$local."'";
    $res5 = mysql_query($sql5) or die (mysql_error()); 
    
    $sql6 = " UPDATE users SET ";
    $sql6 .= " puntos = '".$puntosvisitante."',";
    $sql6 .= " wofavor = '".$wofavorvisitante."',";
    $sql6 .= " diferenciajuegos = '".$diferenciajuegosvisitante."',";
    $sql6 .= " juegosfavor = '".$juegosfavorvisitante."'";
    $sql6 .= " WHERE n_socio = '".$visitante."'";
    $res6 = mysql_query($sql6) or die (mysql_error());    

      echo "Resultado por WO a favor del visitante subido correctamente <br> <br> <a href='post_login_mispartidos.php'> Volver </a>";
   mysql_close("$host", "$username", "$password");
   break; 
   exit;
 }

?>