Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    strano problema con mysql

    nel mio sito www.filmedvd.it ho un sistema di votazione per ogni singolo film. il programma php alla base del sistema di voto è il seguente:

    <?php
    include("click_config.php");
    $voto=$_GET["voto"]; \\valutazione del film
    $id=$_GET["id"]; \\identificativo del film
    $query= "SELECT `title`,`Voti`,`mediavoto` FROM `click` WHERE id='$id'";
    $result=mysql_query($query, $connection);
    while($r=mysql_fetch_array($result))
    {
    $title=$r["title"];
    $Voti=$r["Voti"];
    $mediavoto=$r["mediavoto"];
    }
    if (!isset($HTTP_COOKIE_VARS[$id])){
    $Votiagg = $Voti+1;
    $mediavotoagg=((($mediavoto*$Voti)+$voto)/$Votiagg);
    $update = "UPDATE click SET Voti='$Votiagg', mediavoto='$mediavotoagg' WHERE id='$id'";
    $updatesql = mysql_query($update) or die ("Query cannot be processed");
    setcookie ($id,"Votato",mktime(12,0,0,12,1,2030));
    }
    ?>
    <script language="JavaScript">
    document.location.href="film.php?title=<?php echo $title;?>"
    </script>


    il problema quale è?
    nelle celle del mio database mysql (corrispondenti al numero di voti ricevuti dal film), che tramite update aggiorno mi ritrovo talune volte con valori sbalzati e incrementati di colpo di più di una unità come invece il programma sopra descritto impone. la cosa è sporadica e apparentemente senza correlazione con alcun evento . Avolte capita anche di trovare un intero blocco di film con il numero di voti maggiore addirittura del numero di letture della scheda del film. Cosa c'è di sbagliato? è forse un problema del server?

    Se qualcuno ha una idea o ha bisogno di maggiori chiarimenti non esiti a rispondere al messaggio

  2. #2
    potrebbe essere utile fare degli echo prima e dopo delle operazioni che determinano le variabili scritte sul database...
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  3. #3
    in pratica cosa mi consigliresti di fare...

  4. #4
    codice:
    <?php
    include("click_config.php");
    $voto=$_GET["voto"]; \\valutazione del film
    $id=$_GET["id"]; \\identificativo del film
    
    $query= "SELECT `title`,`Voti`,`mediavoto` FROM `click` WHERE id='$id'";
    $result=mysql_query($query, $connection);
    $r=mysql_fetch_array($result))
    $title=$r["title"];
    $Voti=$r["Voti"];
    echo 'Voti: ' . $Voti; //primo echo
    $mediavoto=$r["mediavoto"];
    
    if (!isset($HTTP_COOKIE_VARS[$id]))
    {
      $Votiagg = $Voti+1;
      echo 'votiagg: ' . $Votiagg; //con questo controlliamo i voti agg..
      $mediavotoagg=((($mediavoto*$Voti)+$voto)/$Votiagg);
      echo 'mediaagg: ' . $mediavotoagg; //altro echo
      $update = "UPDATE click SET Voti='$Votiagg', mediavoto='$mediavotoagg' WHERE id='$id'";
      echo 'query: ' . $update; // controllo della query
      $updatesql = mysql_query($update) or die ("Query cannot be processed");
      setcookie ($id,"Votato",mktime(12,0,0,12,1,2030));
    }
    
    //Commento per evitare il REDIRECT
    // header("Location: film.php?title=$title");
    ?>
    a questo punto provi lo script e vedi innanzitutto SE ti da errori, visto che tu reindirizzi subito la pagina io ho mezzo HEADER ma commentato così la pagina non cambierà e tu potrai vedere se ci sono errori.
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  5. #5
    lo script funziona in apparenza perfettamente d'altronde sono solo 10 righe di comando. purtroppo durante le prove non capita mai questo fenomeno ma solo in mia assenza. per esempio mi ritrovo con la scheda di pulp fiction con 10 letture e 19 voti .è una cosa che mi fa diventare pazzo

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    Ti supplico togli quella roba di Matrix in home page.. e' la roba piu' inflazionata del secolo.

















    E risale al 1999. Sono passati 6 anni, ha smesso di essere figo da tempo.
    There are 10 types of people in the world - those who understand binary and those who don't.

  7. #7
    il mio problema è un altro in questo momento.
    Poi che c'è di male ad omaggiare un film come matrix che anche dopo 6 anni non mi risulta sia inflazionato.cmq non voglio andare off-topic

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.