folgendes szenario:
- ich logge mich ein, und klicke rum, die onlineliste wird bei den einzelnen bereichen aktualisiert, wo man sich befindet und der aktuelle timestamp
- ich wechsle in den admin bereich (neues fenster - frameset), onlineliste wird upgedatet, ABER zusätzlich ein neues eintrag gemacht
herausgefunden habe ich dass das irgendwas mit dem frameset zu tun hat, denn wenn ich seiten angebe die nicht existieren wird richtig aktualisiert und kein neuer eintrag gemacht
allerdings hat die normale community seite auch ein frameset, und wenn ich das neu lade wird die onlineliste richtig aktualisiert
mysql_affected_rows bezieht sich doch nur auf das aktuelle script und nicht auf die gesamte datenbank ?
kann es evtl sein dass wenn das admin frameset lädt der eintrag solange gelocked ist sodass eine der frameseiten nicht updaten kann und einen neuen eintrag macht ?
lässt sich das umgehen oder muss ich wieder auf die alte version wechseln, wo erst geprüft wird ob ein eintrag vorhanden ist und dann aktualisiert / eingetragen wird (d.h. minimal 2 abfragen allein für das update pro seitenwechsel) ?
- ich logge mich ein, und klicke rum, die onlineliste wird bei den einzelnen bereichen aktualisiert, wo man sich befindet und der aktuelle timestamp
- ich wechsle in den admin bereich (neues fenster - frameset), onlineliste wird upgedatet, ABER zusätzlich ein neues eintrag gemacht
PHP-Code:
$update_user = $this->database->sendQuery('UPDATE
' . TABLE_ONLINELIST . '
SET
' . $update_section . '
onlinelist_timestamp = ' . time() . '
WHERE
user_id = ' . intval($user_id));
if ($this->database->countAffectedRows($update_user) == 0) {
//neuer eintrag wenn keine zeilen bearbeitet wurden
}
allerdings hat die normale community seite auch ein frameset, und wenn ich das neu lade wird die onlineliste richtig aktualisiert
mysql_affected_rows bezieht sich doch nur auf das aktuelle script und nicht auf die gesamte datenbank ?
kann es evtl sein dass wenn das admin frameset lädt der eintrag solange gelocked ist sodass eine der frameseiten nicht updaten kann und einen neuen eintrag macht ?
lässt sich das umgehen oder muss ich wieder auf die alte version wechseln, wo erst geprüft wird ob ein eintrag vorhanden ist und dann aktualisiert / eingetragen wird (d.h. minimal 2 abfragen allein für das update pro seitenwechsel) ?
Kommentar