ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » [Frage] Countdown Box

Geschlossen
  1. #1
    User Pic
    SP3D Mitglied
    Registriert seit
    16.11.2006
    Beiträge
    4
    Beitragswertungen
    0 Beitragspunkte
    HI, ich habe mir ein php script als countdown box zusammengesucht und zwar dieses hier:

    <?
    // countdown
    // stichtag 1.1.2007 als Unixtime erzeugen
    $newDate = mktime(0,0,0,11,20,2006);
    // aktuelle Zeit im Unixformat erzeugen
    $actDate = time();
    // Differenz berechnen (in Sekunden)
    $diffDate = ($newDate-$actDate);
    
    // Anzahl Tage = Sekunden /24/60/60
    // floor() liefert nur den Anteil vor dem Komma
    $days = floor($diffDate / 24 / 60 / 60 );
    // den verbleibenden Rest berechnen = Stunden
    $diffDate = $diffDate - ($days*24*60*60);
    // den Stundenanteil herausrechnen
    $hours = floor($diffDate / 60 / 60);
    $diffDate = ($diffDate - ($hours*60*60));
    // den Minutenanteil
    $minutes = floor($diffDate/60);
    $diffDate = $diffDate - ($minutes*60);
    // die verbleibenden Sekunden
    $seconds = floor($diffDate);
    
    // und das ganze dann Anzeigen:
    echo "<b>Member:</b> Spiderman<br><br> <b><u>Grund:</u></b><br>ClanPage Anmeldung noch nicht erfolgt<br><br><b>Kick in:</b> $days Tage/n, $hours Std, $minutes Min<br>";
    ?>


    Ist ja soweit ganz einfach auch ihn als Box einzubauen.
    Ich benutze ihn als KickBox, also für Member die wegen nicht melden, nach z.B 7 Tagen gekicked werden.

    So nun meine 2 Fragen:

    1: ist es möglich, das anstatt selber den Namen des Members einzugeben, ein Befehl dort steht der ihn aufruft, also das er
    eine bestimmte PlayerID aufruft so das der Name dazu erscheint. damit ich dann nur die ID zahl des users ändern brauche und nicht den kompletten Namen schreiben muss.

    2.Kann man es irgendwie hinbekommen das dieser user, dann bei Ende des Countdowns automatisch gelöscht wird?

    Wenn jemand sich auskennt würde ich mich freuen lächeln
    Ich bin für jede Antwort dankbar.


    verwendete ilchClan Version: 1.1
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    So also da will ich mal zurückschreiben, als wenn du nur willst, dass du eine ID eingibst, und die Daten selbständig den Namen dazu aus der Datenbank holst, ist das kein Problem

    $uid = 1;
    $name = @db_result (db_query("SELECT name FROM `prefix_user` WHERE id =".$uid));



    Um einen User zu löschen, kannst du folgenden Code verwenden
    db_query('DELETE FROM prefix_user WHERE id = "'.$uid.'"');
    			db_query('DELETE FROM prefix_userfields WHERE uid = "'.$uid.'"');
          db_query("DELETE FROM prefix_groupusers WHERE uid = ".$uid);
          db_query("DELETE FROM prefix_modulerights WHERE uid = ".$uid);
          db_query("DELETE FROM prefix_pm WHERE eid = ".$uid);
    			wd ('?user','User wurde erfolgreich gel&ouml;scht');
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    SP3D Mitglied
    Registriert seit
    16.11.2006
    Beiträge
    4
    Beitragswertungen
    0 Beitragspunkte
    Danke, das ging flott,

    ein kleines Problem

    Ich habe es ja als Box gemacht, mein problem ist jetzt nur das
    er den User andauernd löscht und auch sofort.

    Ist es möglich das er ihn erst löscht, wenn die im Countdown angegebene zeit eintrifft und dann aber auch nur einmal löscht und es nicht wiederholt?

    wenn das klappen würde wäre es gut! Das lösch script an sich funzt wunderbar nur halt andauernd und nicht wenn der Countdown abgelaufen ist!

    Danke schon mal, falls du die Zeit und mühe aufwendest mir nochmal weiterzuhelfen.

    mfg SP3D
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Naja ich hab dir ja kein komplettes Script gegeben, ich dachte du weißt, wie du das in eine if Abfrage einbindest.

    if ($days == 0 AND $hours == 0 AND $minutes = 0) {
    CODE ZUM LÖSCHEN
    }

    Das funktioniert aber nur, wenn dein Counter nicht ins Negative läuft.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    SP3D Mitglied
    Registriert seit
    16.11.2006
    Beiträge
    4
    Beitragswertungen
    0 Beitragspunkte
    Ja, sorry ich habe noch nicht allzuviel ahnubg von PHP
    bin noch dabei einiges zu lernen. Und heute hab ich wieder
    was dazu gelernt lächeln

    Da es wie du schon sagst ins Negative läuft und es so nicht gefunzt hat, habe ich einfach die Zeit verändert:

    $uid = 22;
    $name = @db_result (db_query("SELECT name FROM `prefix_user` WHERE id =".$uid));
    
    // und das ganze dann Anzeigen:
    echo "<b>Member:</b> $name <br><br> <b><u>Grund:</u></b><br>Inaktivität<br><br><b>Kick in:</b> $days Tage/n, $hours Std, $minutes Min<br>";
    
    if ($days == -1 AND $hours == 23 AND $minutes == 59) {
    db_query('DELETE FROM prefix_user WHERE id = "'.$uid.'"');
                db_query('DELETE FROM prefix_userfields WHERE uid = "'.$uid.'"');
          db_query("DELETE FROM prefix_groupusers WHERE uid = ".$uid);
          db_query("DELETE FROM prefix_modulerights WHERE uid = ".$uid);
          db_query("DELETE FROM prefix_pm WHERE eid = ".$uid);
                
    }
    ?>

    Ich habe sie einfach ins Negative gesetzt und so wird das Member dann bei einer Sekunde unter 0 gekicked.

    So funzt es eigentlich wunderbar.
    Eine Frage hätte ich aber noch, das ist aber wirklich die Letzte lächeln

    Es steht ja am Ende in der Box noch da:
    ----------------
    Member:

    Grund:
    Inaktivität

    Kick in: -1 Tage/n, 23 Std, 59 Min
    ----------------

    Kann man machen das der Gesamte text verschwindet und dort dann ein anderer text erscheint wie,z.B." User wurde gekicked" ?

    Ich nehme doch mal stark an das man das dann auch wenns geht mit einem If befehl machen kann.entweder auf die Zeit bezogen oder darauf bezogen wenn der user nicht mehr vorhanden ist!

    Das wäre das letzte was bei der Kickbox noch fehlt dann wäre sie komplett.

    Danke aufjedenfall für deine Kompetente Hilfe, Du hast mich schon weit gebracht und irgenwie macht es sogar spass in die
    Welt von PHP einzutauchen lächeln

    Naja vielleicht kannst du mir aber noch bei dem letzten punkt helfen, das wäre nett, danke!
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    So also wenn es ins negative zählt, dann sollte die if Abfrage, so wie du es jetzt geschrieben hast, würde auch nur genau bei -1d0h0m gekickt werden, was ja dann auch nicht ganz stimmen würde.
    Hier mal verändert.
    $uid = 22;
    $name = @db_result (db_query("SELECT name FROM `prefix_user` WHERE id =".$uid));
    
    // und das ganze dann Anzeigen:
    
    
    if ($days < 0) {
    db_query('DELETE FROM prefix_user WHERE id = "'.$uid.'"');
                db_query('DELETE FROM prefix_userfields WHERE uid = "'.$uid.'"');
          db_query("DELETE FROM prefix_groupusers WHERE uid = ".$uid);
          db_query("DELETE FROM prefix_modulerights WHERE uid = ".$uid);
          db_query("DELETE FROM prefix_pm WHERE eid = ".$uid);
     
    echo "<b>Member:</b> $name <br><br> wurde gekickt";           
    }
    else
    {
    echo "<b>Member:</b> $name <br><br> <b><u>Grund:</u></b><br>Inaktivität<br><br><b>Kick in:</b> $days Tage/n, $hours Std, $minutes Min<br>";
    }
    ?>
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    SP3D Mitglied
    Registriert seit
    16.11.2006
    Beiträge
    4
    Beitragswertungen
    0 Beitragspunkte
    Super, das läuft wunderbar. Ich hätte jetzt gedacht das man das, mit nem If Befehl machen muss! aber geht ja mit else.

    Wenn man sich das so anguckt ist das alles auch ganz logisch.
    Nur muss man sich mit der sprache auch auskennen damit man
    es so machen kann!

    Danke Dir lächeln

    Ich hoffe ich habe dir nicht zuviel umstände gemacht lächeln
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ne passt schon lächeln
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten