Salve a tutti,
Vengo subito al problema. Questa query non è "sicura"mi restituisce a volte valori non veri, ho notato che a volte inizia con zero ed è impossibile perchè quando viene effettuata c'è già almeno una registrazione, poi a volte è un valore in meno di quelli realmente registrati, però alla registrazione successiva ritorna alla normalità facendo salti (dipende quanti valori non ha contato precedentemente)codice:mysql_query("SELECT COUNT(*) AS count FROM RegistrazioneSchedine WHERE data= '$data' AND Nickname= '$_GET[username]'");
Questo è il codice:
ns.phpcodice:function getHTTPObject(){ if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP"); else if (window.XMLHttpRequest) return new XMLHttpRequest(); else { alert("Your browser does not support AJAX."); return null; } } function setOutput(){ if(httpObject.readyState == 4){ document.getElementById('numero1').value = httpObject.responseText; document.getElementById('numero2').value = httpObject.responseText; document.getElementById('numero3').value = httpObject.responseText; document.getElementById('numero4').value = httpObject.responseText; document.getElementById('numero5').value = httpObject.responseText; } } function doWork(){ httpObject = getHTTPObject(); if (httpObject != null) { httpObject.open("GET", "components/com_jumi/files/elabora.php?username=" +document.getElementById('username').value+"&numero1=" +document.getElementById('numero1').value+"&numero2=" +document.getElementById('numero2').value+"&numero3=" +document.getElementById('numero3').value+"&numero4=" +document.getElementById('numero4').value+"&numero5=" +document.getElementById('numero5').value, true); httpObject.send(null); httpObject.onreadystatechange = setOutput; } function setOutput2(){ if(httpObject.readyState == 4){ document.getElementById('ns').value = httpObject.responseText; var ns = document.getElementById('ns').value; if(ns>=1){ document.getElementById("n1").style.background="url(components/com_jumi/files/blue.png)";} if(ns>=2){ document.getElementById("n2").style.background="url(components/com_jumi/files/blue.png)";} if(ns>=3){ document.getElementById("n3").style.background="url(components/com_jumi/files/blue.png)";} if(ns>=4){ document.getElementById("n4").style.background="url(components/com_jumi/files/blue.png)";} if(ns>=5) document.getElementById("n5").style.background="url(components/com_jumi/files/blue.png)"; if(ns>=6) document.getElementById("n6").style.background="url(components/com_jumi/files/blue.png)"; if(ns>=7) document.getElementById("n7").style.background="url(components/com_jumi/files/blue.png)"; if(ns>=8) document.getElementById("n8").style.background="url(components/com_jumi/files/blue.png)"; if(ns>=9) document.getElementById("n9").style.background="url(components/com_jumi/files/blue.png)"; if(ns>=10) document.getElementById("n10").style.background="url(components/com_jumi/files/blue.png)"; if(ns>=11) document.getElementById("n11").style.background="url(components/com_jumi/files/blue.png)"; if(ns>=12) document.getElementById("n12").style.background="url(components/com_jumi/files/blue.png)"; if(ns>=13) document.getElementById("n13").style.background="url(components/com_jumi/files/blue.png)"; if(ns>=14) document.getElementById("n14").style.background="url(components/com_jumi/files/blue.png)"; if(ns>=15) document.getElementById("n15").style.background="url(components/com_jumi/files/blue.png)"; if(ns>=16) document.getElementById("n16").style.background="url(components/com_jumi/files/blue.png)"; if(ns>=17) document.getElementById("n17").style.background="url(components/com_jumi/files/blue.png)"; if(ns>=18) document.getElementById("n18").style.background="url(components/com_jumi/files/blue.png)"; if(ns>=19) document.getElementById("n19").style.background="url(components/com_jumi/files/blue.png)"; if(ns==20) document.getElementById("n20").style.background="url(components/com_jumi/files/blue.png)"; } } //fine setOutput2 httpObject = getHTTPObject(); if (httpObject != null) { httpObject.open("GET", "components/com_jumi/files/ns.php?username=" +document.getElementById('username').value, true); httpObject.send(null); httpObject.onreadystatechange = setOutput2; } }//fine doWork var httpObject = null;
elabora.phpCodice PHP:<?php
$db_host = "****";
$db_user = "****";
$db_password = "****";
$db_name = "****";
$db = mysql_connect($db_host, $db_user, $db_password);
mysql_select_db($db_name, $db);
$data=date("d-m-Y");
$query = mysql_query("SELECT COUNT(*) AS count FROM RegistrazioneSchedine WHERE data= '$data' AND Nickname= '$_GET[username]'");
$sql = mysql_fetch_array($query);
$_GET['ns'] = $sql['count'];
mysql_close($db);
if (isset($_GET['ns']))
echo $_GET['ns'];
?>
secondo me effettua la queryCodice PHP:<?php
$db_host = "****";
$db_user = "*****";
$db_password = "****";
$db_name = "*****";
$db = mysql_connect($db_host, $db_user, $db_password);
mysql_select_db($db_name, $db);
$data=date("d-m-Y"); $ora=date("H:i:s");
mysql_query("INSERT INTO RegistrazioneSchedine(Nickname, numero1, numero2, numero3, numero4, numero5, data, ora)
VALUE ('$_GET[username]', '$_GET[numero1]', '$_GET[numero2]', '$_GET[numero3]', '$_GET[numero4]', '$_GET[numero5]', '$data', '$ora')");
mysql_close($db);
if (isset($_GET['numero1']))
echo '';
if (isset($_GET['numero2']))
echo '';
if (isset($_GET['numero3']))
echo '';
if (isset($_GET['numero4']))
echo '';
if (isset($_GET['numero5']))
echo '';
?>prima che viene salvata la querycodice:$query = mysql_query("SELECT COUNT(*) AS count FROM RegistrazioneSchedine WHERE data= '$data' AND Nickname= '$_GET[username]'"); $sql = mysql_fetch_array($query); $_GET['ns'] = $sql['count'];quindi dipende tutto dai tempi di queste due...se il db non fa in tempo a salvare prima la seconda query che ho scritto avrà ns con un valore in meno...spero di essere stato chiaro..codice:mysql_query("INSERT INTO RegistrazioneSchedine(Nickname, numero1, numero2, numero3, numero4, numero5, data, ora) VALUE ('$_GET[username]', '$_GET[numero1]', '$_GET[numero2]', '$_GET[numero3]', '$_GET[numero4]', '$_GET[numero5]', '$data', '$ora')");
ringrazio anticipatamente chi mi risponderà

Rispondi quotando