hubertus1990
Lt. Commander
- Registriert
- Sep. 2005
- Beiträge
- 1.384
Hi Leute.
Ich habe folgendes Problem, und bin leider nicht besonders fit in PHP
Ich habe in meiner SQL Datenbank eine Tabelle, von der ich die Einträge zählen möchte, und wenn die Anzahl der EInträge größer ist als 100, soll der kleinste Wert der Tabelle durch einen Hereinkommenden Wert ersetzt werden.
Was ist an meinem Code falsch? Wie sollte er richtig lauten?
Hier ist mein Code, der leider nicht funktioniert:
Hier mein Code ohne zählen und ersetzen, dieser funktioniert einwandfrei:
Ich habe folgendes Problem, und bin leider nicht besonders fit in PHP
Ich habe in meiner SQL Datenbank eine Tabelle, von der ich die Einträge zählen möchte, und wenn die Anzahl der EInträge größer ist als 100, soll der kleinste Wert der Tabelle durch einen Hereinkommenden Wert ersetzt werden.
Was ist an meinem Code falsch? Wie sollte er richtig lauten?
Hier ist mein Code, der leider nicht funktioniert:
Code:
<?php
if ($_SERVER["HTTP_USER_AGENT"] == "somehttpuseragent")
{
//Variablen für den Verbindugsaufbau
$dbhost = 'mydomain.com';
$dbuser = 'someusername';
$dbpass = 'mypassword';
$dbname = 'databasename';
//Verbindung wird aufgebaut
$dblink = mysql_connect("$dbhost", "$dbuser", "$dbpass") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db("$dbname");
$name = $_POST['name'];
$score = $_POST['score'];
if($score > 0) {
DECLARE @nrofentries INTEGER;
SELECT @nrofentries = COUNT(score) FROM challenge_stats;
if(@nrofentries > 100) {
DECLARE @min INTEGER;
SELECT @min = MIN(score) FROM challenge_stats;
if(@min <= $score) {
DELETE FROM challenge_stats WHERE score = @min;
$insert = mysql_query("INSERT INTO challenge_stats (name, score) VALUES('$name', '$score')");
}
} else {
$reszkt = mysql_query("INSERT INTO challenge_stats (name, score) VALUES('$name', '$score')");
}
}
//Datenbankverbindung wird geschlossen
mysql_close($dblink);
} else {
echo '(send) authentification for database access failed --> no, or incorrect http user agent :)';
}
?>
Hier mein Code ohne zählen und ersetzen, dieser funktioniert einwandfrei:
Code:
<?php
if ($_SERVER["HTTP_USER_AGENT"] == "somehttpuseragent")
{
//Variablen für den Verbindugsaufbau
$dbhost = 'mydomain.com';
$dbuser = 'someusername';
$dbpass = 'mypassword';
$dbname = 'databasename';
//Verbindung wird aufgebaut
$dblink = mysql_connect("$dbhost", "$dbuser", "$dbpass") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db("$dbname");
$name = $_POST['name'];
$score = $_POST['score'];
if($score > 0) {
$reszkt = mysql_query("INSERT INTO challenge_stats (name, score) VALUES('$name', '$score')");
}
//Datenbankverbindung wird geschlossen
mysql_close($dblink);
} else {
echo '(send) authentification for database access failed --> no, or incorrect http user agent :)';
}
?>