MySQL interesse |
|
Hallo iedereen,
Ik heb een vraag ik heb met het bezoekers script van de vorige sitemasters versie zo aangepast dat als er bijvoorbeeld het hoogste aantal bezoekers tegelijk 6 was en daarna zijn er 7 dat 7 als het nieuwe hoogste aantal in mijn database word opgeslagen.....dat was de bedoeling maar het script doet iets anders:
<?php
// Verander de variabelen hieronder:
$Timeout = 600;
// Na hoeveel seconden een bezoeker niet meer meetelt
$MySQLHost = 'host';
// De MySQL host van uw server
$MySQLGebruikersnaam = 'g';
// De gebruikersnaam van de MySQL database op uw server
$MySQLWachtwoord = '';
// Het wachtwoord van de MySQL database op uw server
$MySQLDatabaseNaam = 'g';
// De naam van de database op uw server
// Hierna hoeft niets veranderd te worden.
if(getenv(HTTP_X_FORWARDED_FOR)) { $IPadres = getenv(HTTP_X_FORWARDED_FOR); }
elseif(getenv(HTTP_CLIENT_IP)) { $IPadres = getenv(HTTP_CLIENT_IP); }
else { $IPadres = $REMOTE_ADDR; }
@mysql_connect($MySQLHost, $MySQLGebruikersnaam, $MySQLWachtwoord) or die("Er kon geen verbinding worden gemaakt met de MySQL database.");
@mysql_select_db($MySQLDatabaseNaam) or die("De database kon niet geselecteerd worden!");
// Begin aantal bezoekers op de site te tellen
mysql_query("DELETE FROM OnlineBezoekers WHERE Datum < '".(date("U")-$Timeout)."'");
if(mysql_num_rows(mysql_query("SELECT Datum FROM OnlineBezoekers WHERE IPadres = '$REMOTE_ADDR'"))) { mysql_query("UPDATE OnlineBezoekers SET Datum = '".date("U")."', URL = '$REQUEST_URI' WHERE IPadres = '$REMOTE_ADDR'"); }
else { mysql_query("INSERT INTO OnlineBezoekers VALUES('$REMOTE_ADDR','".date("U")."','$REQUEST_URI')"); }
$AantalBezoekersOnline = mysql_num_rows(mysql_query("SELECT Datum FROM OnlineBezoekers"));
// Einde aantal bezoekers op de site te tellen
mysql_query("UPDATE meestonline SET nu = '".$AantalBezoekersOnline."' WHERE id = '3'") or die (mysql_error());
$sQuerySelect = "SELECT eerst, nu FROM meestonline WHERE id=3";
if(!$rResultSelect = MySQL_Query($sQuerySelect))
{
echo "Error!- Kan de gegevens niet ophalen!<BR>";
echo MySQL_Error()."<BR>";
echo MySQL_Errno();
} else
{
$iGetal1 = MySQL_Result($rResultSelect, 0, "eerst");
$iGetal2 = MySQL_Result($rResultSelect, 0, "nu");
if($iGetal1 > $iGetal2)
{
$iHoogst = $iGetal1; } else
{
$iHoogst = $iGetal2;
}
$sQueryUpdate = "UPDATE meestonline SET eerst=".$iHoogst;
if(!$rResultSelect = MySQL_Query($sQuerySelect))
{
echo "Error!- Kan de gegevens niet updaten!<BR>";
echo MySQL_Error()."<BR>";
echo MySQL_Errno();
}
?>
<? } ?>
<?php // Verander de variabelen hieronder: $Timeout = 600; // Na hoeveel seconden een bezoeker niet meer meetelt $MySQLHost = 'host'; // De MySQL host van uw server $MySQLGebruikersnaam = 'g'; // De gebruikersnaam van de MySQL database op uw server $MySQLWachtwoord = ''; // Het wachtwoord van de MySQL database op uw server $MySQLDatabaseNaam = 'g'; // De naam van de database op uw server // Hierna hoeft niets veranderd te worden. if(getenv(HTTP_X_FORWARDED_FOR )) { $IPadres = getenv(HTTP_X_FORWARDED_FOR ); } elseif(getenv(HTTP_CLIENT_IP )) { $IPadres = getenv(HTTP_CLIENT_IP ); } else { $IPadres = $REMOTE_ADDR; } @mysql_connect($MySQLHost, $MySQLGebruikersnaam, $MySQLWachtwoord) or die("Er kon geen verbinding worden gemaakt met de MySQL database."); // Begin aantal bezoekers op de site te tellen mysql_query("DELETE FROM OnlineBezoekers WHERE Datum < '".(date("U")-$Timeout)."'"); if(mysql_num_rows(mysql_query("SELECT Datum FROM OnlineBezoekers WHERE IPadres = '$REMOTE_ADDR'"))) { mysql_query("UPDATE OnlineBezoekers SET Datum = '".date("U")."', URL = '$REQUEST_URI' WHERE IPadres = '$REMOTE_ADDR'"); } else { mysql_query("INSERT INTO OnlineBezoekers VALUES('$REMOTE_ADDR','".date("U")."','$REQUEST_URI')"); } // Einde aantal bezoekers op de site te tellen $sQuerySelect = "SELECT eerst, nu FROM meestonline WHERE id=3"; { echo "Error!- Kan de gegevens niet ophalen!<BR>"; } else { if($iGetal1 > $iGetal2) { $iHoogst = $iGetal1; } else { $iHoogst = $iGetal2; } $sQueryUpdate = "UPDATE meestonline SET eerst=".$iHoogst; { echo "Error!- Kan de gegevens niet updaten!<BR>"; } ?> <? } ?>
Maar nu is het probleem dat het hoogste eerst (normaal al) op 6 staat. daarna waren er 7 mensen op de site en dan staat het hoogste aantal op 7. maar als er dan weer 6 op de site zijn staat hij niet op 7 maar komt hij weer op 6 testaan.
Weet iemand hoe je dit kan oplossen? bedankt
|