Logins Zählen

themonk

Erfahrenes Mitglied
Hallo
kann mir einer helfen ich möchte das es bei jedem User in der datenbank gespeichert wird wie oft er sich eingeloggt und ausgeloggt hat,und das der User dann Automatisch beim 100 Login einen neuen Rang bekommt z.B. Admin
 
Wenn der User sich einloggt, dann zählst Du in einer Tabelle, die die USER_ID und die LOGIN_ANZAHL beinhaltet, die Aanzahl um ein hoch.
Code:
update Tabellenname set LOGIN_ANZAHL = LOGIN_ANZAHL + 1 where USER_ID = user_id_des_benutzers;
In einer anderen Tabelle hälst Du fest, ab wievielen Logins man welchen Statusbezeichner bekommt.

snuu
 
das funktioniert nicht hier ist mein code
Code:
<?php
    $sqlkommando = "SELECT posts FROM hdenkenauser WHERE id = '".$_POST["id"]."'";


    $sqlanfrage = mysql_query($sqlkommando) or die("Error: " . mysql_error()); 
                                                                               

    while($daten = mysql_fetch_object($sqlanfrage)) 
    {                                                



    $update = "hdenkenauser set posts = $posts + 1 WHERE id = '".$_POST["id"]."'";



	}
	?>
oder muss ich noch was bestimmtes in der Datenbank einstellen?
 
brrrr *schüttel*

jetzt seh ich erst die anderen Fehler ;)

Code:
$update = "update hdenkenauser set posts = posts + 1 WHERE id = '$_POST[id]' ";
$pdate_exec = mysql_query($update);

nochmal probieren ;)
 
geht immer noch nicht hier ist noch mal der ganze Code vielleicht sind da ja noch fehler

Code:
<?php
    $sqlkommando = "SELECT posts FROM hdenkenauser WHERE id = '".$_POST["id"]."'";


    $sqlanfrage = mysql_query($sqlkommando) or die("Error: " . mysql_error()); 
                                                                               

    while($daten = mysql_fetch_object($sqlanfrage)) 
    {                                                



$update = "update hdenkenauser set posts = posts + 1 WHERE id = '".$_POST["id"]."'";
$pdate_exec = mysql_query($update);





	}
	?>
 
Versuchs mal anders:

1. Möglichkeit:
Setz nen echo"" mit dem UPDATE in die while-Schleife und teste, ob es überhaupt anzeigt und was er dann ausgibt.

2. Möglichkeit:
Anders schreiben...

PHP:
<?
$qid = mysql_query("SELECT posts FROM hdenkenauser WHERE id='".$_POST[id]."'");
$posts = mysql_num_rows($qid);
mysql_free_result($qid);

$exec = mysql_query("UPDATE hdenkenauser SET posts=".$posts."+1 WHERE id='".$_POST[id]."'");
?>
 
Zuletzt bearbeitet:
Viel zu umständlich. Versuch' mal folgendes:
PHP:
<?php
  [...]
  $query = "
	UPDATE
	        `hdenkenauser`
	  SET
	        `posts` = `posts`+1
	  WHERE
	        `id` = ".$_POST['id']."
	";
  if(!mysql_query($query)) {
    echo '<p><strong>MySQL Error <tt>'.mysql_errno().'</tt>:</strong> '.htmlspecialchars(mysql_error()).'<pre>'.$query.'</pre></p>';
    exit;
  }
  [...]
?>

Übrigens, Pattz, dein zweiter Vorschlag wird den Wert immer – solange es keinen gravierender Fehler beim Tabellenkonzept gibt – auf 2 setzen.
 
Zuletzt bearbeitet:
Zurück