Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Begrenzung Punkte/Datum [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Begrenzung Punkte/Datum


 
joern
25-07-2003, 09:22 
 
Hallo Profis,

ich habe folgendes Problem:

Bei mir hat ein User angenommen 50.000 Punkte.
Nun darf er einmal am Tag maximal 10.000 Punkte auf
einen anderen Account transferieren.

Den Transfer habe ich bereits gelöst. Probleme bereitet
mir jedoch:

1: wie begrenze ich dem User die Punkte auf 10.000, obwohl er
ja 50.000 hat?

2. Wie kann ich sicherstellen, dass er an einem Tag nicht mehr als
10.000 Punkte transferiert.

Mir stellt sich halt die Frage, ob ich dafür eine extra tabelle mit
datum und punkten anlegen, oder zu der bestehenden tabelle
noch ein Feld mit Datum hinzufügen soll.
Vielleicht gibt es ja auch schon Code-Schnippsel, die das Problem
lösen oder einen Lösungsansatz bieten.

Danke für die Hilfe
Jörn

 
schmalle
25-07-2003, 09:36 
 
zweite tabelle! alle transfers mit datum speichern. bei jedem neuen transfer machte ne abfragew count(feld) where datum = now()

das feld sollte date esein, und nicht datetime :)

 
joern
25-07-2003, 09:39 
 
Original geschrieben von schmalle
zweite tabelle! alle transfers mit datum speichern. bei jedem neuen transfer machte ne abfragew count(feld) where datum = now()

das feld sollte date esein, und nicht datetime :)

Hi,

danke für die Antwort.
Wie würde das als Code aussehen?
Wie würde die Struktur der Tabelle aussehen?

Gruß
Jörn

 
schmalle
25-07-2003, 10:24 
 
tabelle:

idtransfer als auto_inc.
iduser <-- ist wohl klar :)
transfer <-- summe der punkte
datum <- datum des transfers

1. abfrage:

delete from tabelle where datum < now()

// alle alten transfers löschen

dann bei einem neuen transfer

select count(idtransfer) as trans from tabelle where iduser=$user and date = now()

 
joern
25-07-2003, 13:18 
 
Original geschrieben von schmalle
tabelle:

idtransfer als auto_inc.
iduser <-- ist wohl klar :)
transfer <-- summe der punkte
datum <- datum des transfers

1. abfrage:

delete from tabelle where datum < now()

// alle alten transfers löschen

dann bei einem neuen transfer

select count(idtransfer) as trans from tabelle where iduser=$user and date = now()

Hi,

also ich bin jetzt soweit:

Tabelle:

transferid userid datum punkte

4 6 25.07.03 1000
5 3 25.07.03 500
6 6 25.07.03 20000
7 6 25.07.03 12500

Wie kann ich es nun lösen, dass der User max 10.000 Punkte
am Tag transferieren kann?

Gruß
Jörn

 
mrhappiness
25-07-2003, 13:24 
 
die punkte, die er bereits transferiert hat auslesen?

 
joern
25-07-2003, 16:30 
 
Original geschrieben von mrhappiness
die punkte, die er bereits transferiert hat auslesen?

so,

mit der Query

$summe = mysql_query("select sum(punkte) from tabelle where userid=$userid");
$ausgabe= mysql_fetch_row($summe);


und

<?php echo $ausgabe[0]; ?>

gelingt mir nun auch die Ausgabe.
Allerdings vergisst das Dummchen den ersten Eintrag mit zu
rechnen. Wo liegt mein Fehler?

Gruß
Jörn

 
joern
25-07-2003, 16:41 
 
sorry, das Dummchen bin ich

funktioniert problemlos

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:51 Uhr.