ilch Forum » Allgemein » HTML, PHP, SQL,... » Last Award

Geschlossen
  1. #1
    User Pic
    XxMaTzExX Mitglied
    Registriert seit
    28.05.2008
    Beiträge
    1.039
    Beitragswertungen
    14 Beitragspunkte
    Juhu,

    könnt mir einer helfen bzw. sagen wie ich in einer Box die letzten 5 awards anzeigen lassen kann ? wo eventuell bei platz 1,2 oder ein pokal angezeigt wir?

    brauchte nur ein script ohne bilder etc

    betroffene Homepage: externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    XxMaTzExX Mitglied
    Registriert seit
    28.05.2008
    Beiträge
    1.039
    Beitragswertungen
    14 Beitragspunkte
    da mir keiner geholfen hat :-) hab ichs mal versucht leider ohne erfolg


    mein Code:
    <?php 
    
    defined ('main') or die ( 'no direct access' );
    
    $abf = "SELECT platz, text, wofur, team, bild, DATE_FORMAT(time, "%d.%m.%Y") as zeit FROM `prefix_awards` ORDER BY time DESC LIMIT 0,3";
            
    $erg = db_query($abf);
    echo'<table border="0" class="news" width="100%" cellspacing="0" cellpadding="0">';
    while ($row = db_fetch_object($erg))
     {
      $class = ( $class == 'Cmite' ? 'Cnorm' : 'Cmite' );
      if ($row['bild'] != '' AND trim($row['bild']) != 'http://') {
        $row['bildutime'] = '<span style="float: left; margin-right: 10px;"><img src="'.$row['bild'].'" alt="'.$row['wofur'].'" title="'.$row['wofur'].'"/><br /><font class="smalfont">'.$row['zeit'].'</font></span><br />';
      } else {
        $row['bildutime'] = $lang['date'].': '.$row['zeit'].'<br />';
      }
    	$row['class'] = $class;
    }
    
    echo '<tr><td>'.$row['bildutime'].'	</td></tr></table>';
    	
    	
    ?>




    Mein error:
    Parse error: syntax error, unexpected '%' in /srv/www/vhosts/com.s7.tune-up-it.de/httpdocs/include/boxes/awards.php on line 4



    ich steck noch in phpkinderprogrammierschuhen ^^
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Chapter Hall Of Fame
    Registriert seit
    21.10.2007
    Beiträge
    5.951
    Beitragswertungen
    229 Beitragspunkte
    in zeile 4 ist das %zeichen nicht richtig laut fehlermeldung. probier es mal mit ner konkreten angabe von 200px oder so....
    Spamming, sinnlose Beiträge, Pushing, Doppelposting und Werbung sind verboten
    externer Link
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    XxMaTzExX Mitglied
    Registriert seit
    28.05.2008
    Beiträge
    1.039
    Beitragswertungen
    14 Beitragspunkte
    habs versuch leider besteht genau der selbe fehler immernoch
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    littlecrow Mitglied
    Registriert seit
    29.08.2007
    Beiträge
    281
    Beitragswertungen
    0 Beitragspunkte
    hi XxMaTzExX,

    <?php 
    
    defined ('main') or die ( 'no direct access' );
    
    $erg = db_query('SELECT platz, text, wofur, team, bild, DATE_FORMAT(time, "%d.%m.%Y") as time FROM `prefix_awards` ORDER BY time DESC LIMIT 0,5');
            
    echo'<table border="0" class="news" width="100%" cellspacing="0" cellpadding="0">';
    while ($row = db_fetch_object($erg) ) {
      if ($row->bild != '' AND trim($row->bild) != 'http://') {
        $row->bildutime = '<span style="float: left; margin-right: 10px;"><img src="'.$row->bild.'" alt="'.$row->wofur.'" title="'.$row->wofur.'"/><br /><font class="smalfont">'.$row->time.'</font></span><br />';
      } else {
        $row->bildutime = $lang['date'].': '.$row->time.'<br />';
      }  
    
    echo '<tr><td>'.$row->bildutime.' </td></tr></table>';
     } 
    ?>


    mfg littlecrow
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    XxMaTzExX Mitglied
    Registriert seit
    28.05.2008
    Beiträge
    1.039
    Beitragswertungen
    14 Beitragspunkte
    hey super danke dir littlecrow
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    XxMaTzExX Mitglied
    Registriert seit
    28.05.2008
    Beiträge
    1.039
    Beitragswertungen
    14 Beitragspunkte
    Bräuchte eventuell noch bischen hilfe und zwar würd ich gern noch auslesen wie oft es welchen award gibt....

    bisher habe ich gesamt

    es soll so aussehen

    10 Awards gesamt davon 5 Gold, 3 Silber, 2 Bronze

    man müsste ja auslesen lassen wie oft es die 1,2 oder 3 gibt denk ich aber wie keine ahnung
    soweit hab ichs bisher

    <?php 
    
    defined ('main') or die ( 'no direct access' );
    
    $erg = db_query('SELECT platz, text, wofur, team, bild, DATE_FORMAT(time, "%d.%m.%Y") as zeit FROM `prefix_awards` ORDER BY time DESC LIMIT 0,3');
            
    
    while ($row = db_fetch_object($erg) ) {
      if ($row->bild != '' AND trim($row->bild) != 'http://') {
        $row->bildutime = '<span ><img src="'.$row->bild.'" alt="'.$row->wofur.'" title="'.$row->wofur.'"/><br /><font class="smalfont">'.((strlen($row->team)<14) ? $row->team : substr($row->team,0,14).'...').'</font></span><br />';
      } else {
        $row->bildutime = $lang['date'].': '.$row->team.'<br />';
      }  
      echo'<table border="0" class="news" width="217" cellspacing="0" cellpadding="0">';
    
    echo '<tr><td><table width="217" style="border: 1px solid #d4d4d4" cellspacing="0" cellpadding="0">';
    echo '<tr>';
     echo '  <td width="100" align="center"><strong>'.$row->bildutime.'</strong> </td>';
     echo '   <td width="117">Platz:<strong> '.$row->platz.''.$row->time.'</strong><br>'.((strlen($row->wofur)<16) ? $row->wofur : substr($row->wofur,0,13).'...').'</td>';
    echo '  </tr>';
      
    echo '</table>';
    echo '</td></tr> ';
    echo '</table>';
     } 
    $erg1 = db_query('SELECT platz, text, wofur, team, bild, DATE_FORMAT(time, "%d.%m.%Y") as zeit FROM `prefix_awards` ORDER BY time DESC');
    $num_rows = mysql_num_rows($erg1);
    echo '<span style="font-size:9px;margin-top:5px;">'.$num_rows.' Awards insgesamt</span>';
    ?>
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    $qry = db_query("SELECT COUNT(platz) AS anzahl, platz FROM prefix_awards GROUP BY platz");
    $platz = array();
    while ($r = db_fetch_assoc($qry)) {
        $platz[$r['platz']] = $r['anzahl'];
    }


    Wenn ich es richtig verstanden hab, danach sollte halt in $platz[1] die Anzahl der mit Platz '1' angegeben Awards sein.

    Edit: GROUP BY mit eingefügt


    Zuletzt modifiziert von Mairu am 20.03.2009 - 21:46:53
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    XxMaTzExX Mitglied
    Registriert seit
    28.05.2008
    Beiträge
    1.039
    Beitragswertungen
    14 Beitragspunkte
    leider geht es nich :-)


    MySQL Error:
    1140 : Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause
    in Query:
    SELECT COUNT(platz) as anzahl, platz FROM ic1_awards
    
    Debug backtrace:
    	@ mysql.php:32 -- debug_bt()
    	@ mysql.php:50 -- db_check_error(...)
    	@ awards.php:14 -- db_query(...)
    	@ design.php:330 -- require_once(...)
    	@ design.php:172 -- design->get_boxcontent(...)
    	@ design.php:69 -- design->replace_boxes(...)
    	@ news.php:12 -- design->design(...)
    	@ index.php:24 -- require_once(...)



    eingebunden wird das dann so ?

    echo '<br>Gold '.$platz[1].''

    bzw auch so für 2 platz?

    echo '<br>Gold '.$platz[2].''


    Zuletzt modifiziert von XxMaTzExX am 20.03.2009 - 14:35:06
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ich dachte, wenn man eh nur ein Feld hat, braucht man kein GROUP BY, aber da hab ich mich wohl getäuscht, naja habs oben verbessert.

    Bei 2. sollte es dann wohl eher Silber sein?

    Naja wenn bei platz gold steht und nicht 1, müsste es $platz['gold'] sein, ich hoffe das ist so verständlich.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    XxMaTzExX Mitglied
    Registriert seit
    28.05.2008
    Beiträge
    1.039
    Beitragswertungen
    14 Beitragspunkte
    nein das stimmt schon das wird dann mit platz ( 1,2 oder 3 ) gemacht


    Danke dir klappt super ^^


    Zuletzt modifiziert von XxMaTzExX am 20.03.2009 - 22:30:18
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    XxMaTzExX Mitglied
    Registriert seit
    28.05.2008
    Beiträge
    1.039
    Beitragswertungen
    14 Beitragspunkte
    Juhuu :-)

    mir hat bisher alles geplappt...nun möcht ich mir ein "kleines" punkescript schreiben..

    es soll so ssein das man es überall einfügen kann.

    es muss ja im prinzip "nur" den user speichern und punkte in der sql hinzufügen


    aber ich hab keine idee wie ich da anfagen kann/soll....

    wenn ihr mir ein paar tipps und stichwörter geben könntet wäre es seh nett ^^
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    XxMaTzExX Mitglied
    Registriert seit
    28.05.2008
    Beiträge
    1.039
    Beitragswertungen
    14 Beitragspunkte
    keiner nen tipp ??? ^^
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    XxMaTzExX Mitglied
    Registriert seit
    28.05.2008
    Beiträge
    1.039
    Beitragswertungen
    14 Beitragspunkte
    *huuust* also meine "idee" wäre vielleicht so in der art

    das soll dann mit glück per $punkte die punkte bei dem entssprechenden user hinzufügen

    meine idee->
      $uid = $_SESSION['authid'];
     $punkte =db_query'("UPDATE `prefix_user´ set punkte = punkte+10 WHERE id = '.$uid.')';
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Weiß nicht ganz was das bringen soll, mal ganz davon abgesehen, dass du einige Fehler bei deinem Bsp. da hast zwinker
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    XxMaTzExX Mitglied
    Registriert seit
    28.05.2008
    Beiträge
    1.039
    Beitragswertungen
    14 Beitragspunkte
    Das soll ne art punktesystem werden

    user soll z.B fürs erstellen eines posts 10 punkte bekommen
    später soll dann noch ne box für top 5 geben ...

    wie gesagt ich kann nicht wirklich gut php, wie man sieht

    hab für die paar wörter 2 std gebrauch ^^


    Zuletzt modifiziert von XxMaTzExX am 21.03.2009 - 23:58:01
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    littlecrow Mitglied
    Registriert seit
    29.08.2007
    Beiträge
    281
    Beitragswertungen
    0 Beitragspunkte
    hi XxMaTzExX,

    warum machst du nicht eine art user aktivität.

    als beispiel so : User Seiten Aktivität

    auserdem gibts ja auch ein Punkte System von rock@wulf http://www.ilch.de/downloads-show-967.html

    mfg littlecrow
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ansonsten gibts dafür schon ein Punktesystem zwinker

    function givePoints($uid, $points = 5) {
    if (!is_int($points) or !is_int($uid)) return;
    db_query("UPDATE prefix_user SET points = points + ".$points." WHERE id = ."$uid);
    }


    Also im Großen und Ganzen war dein Code schon in die richtige Richtung.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    XxMaTzExX Mitglied
    Registriert seit
    28.05.2008
    Beiträge
    1.039
    Beitragswertungen
    14 Beitragspunkte
    naja ich will das punktesystem nicht von rock@wolf, ich brauch die funktionen nicht es soll einfach sein ^^

    das ganze geht dann wieder mit

    $punkte ? und würde jetzt 5 punkte hinzufügen


    --und so lern ich auch noch was xD


    Zuletzt modifiziert von XxMaTzExX am 22.03.2009 - 12:19:18
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    XxMaTzExX Mitglied
    Registriert seit
    28.05.2008
    Beiträge
    1.039
    Beitragswertungen
    14 Beitragspunkte
    [quote=XxMaTzExX]
    naja ich will das punktesystem nicht von rock@wolf, ich brauch die funktionen nicht es soll einfach sein ^^

    das ganze geht dann wieder mit

    $punkte ? und würde jetzt 5 punkte hinzufügen


    --und so lern ich auch noch was xD

    könntem an das auch so machen? mit einem array?

    function givePoints($uid, $points = array() ) {
    if (!is_int($points) or !is_int($uid)) return;
    db_query("UPDATE prefix_user SET points = points + ".$points." WHERE id = ."$uid);
    }

    Sorry fürn doppelpost!!



    Zuletzt modifiziert von XxMaTzExX am 22.03.2009 - 12:22:17
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Weshalb ein Array, ich versteht nicht so ganz, was willst du mit einem Array, so würde es auf jeden Fall erstmal nicht gehen, das nach dem = ist einfach nur ein Standardwert, der benutzt wird, wenn man givePoints nur mit dem 1. Parameter für die Userid aufruft.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    XxMaTzExX Mitglied
    Registriert seit
    28.05.2008
    Beiträge
    1.039
    Beitragswertungen
    14 Beitragspunkte
    so wenn ich es so mache

    function givePoints($uid, $points = 5) {
    if (!is_int($points) or !is_int($uid)) return;
    db_query("UPDATE prefix_user SET points = points + ".$points." WHERE id = ."$uid);
    }


    fügt er dem user 5 punkte hinzu oder nicht?
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    Hassmann Mitglied
    Registriert seit
    13.02.2008
    Beiträge
    1.591
    Beitragswertungen
    9 Beitragspunkte
    Diesen Code fügst du in er include/includes/func/user.php ein

    Dann wenn du z.B. Punkte geben willst bei einem Newseintrag musst du in der include/'admin/news den code suchen wo er einen eintrag macht in die db und dann halt die function anwenden

    also z.B.

    givePoints(1, 3)

    Gibt dem user mit der id 1 3 Punkte, machst du nur givePoints(1) gibt er dem User 1 5 Punkte^^

    Für minus Punkte:
    function stealPoints($uid, $points = 5) {
    if (!is_int($points) or !is_int($uid)) return;
    db_query("UPDATE prefix_user SET points = points - ".$points." WHERE id = ."$uid);
    }
    Sub2Go.NET | Kostenlosen Webspace mit vielen features! Für Ilch-Forumsmitglieder doppelten Speicher!
    Mave1993.de Blog
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    XxMaTzExX Mitglied
    Registriert seit
    28.05.2008
    Beiträge
    1.039
    Beitragswertungen
    14 Beitragspunkte
    wenn ich dann givePoints(1) mach gibt er dann immer dem user mit ID1 die punkte oder eben der, der den eintrag macht?
    0 Mitglieder finden den Beitrag gut.
  25. #25
    User Pic
    Hassmann Mitglied
    Registriert seit
    13.02.2008
    Beiträge
    1.591
    Beitragswertungen
    9 Beitragspunkte
    Dem mit der Userid 1 wenn du dem gegen willst der den eintrag machst schreibst du givePoints($_SESSION['authid'])
    Sub2Go.NET | Kostenlosen Webspace mit vielen features! Für Ilch-Forumsmitglieder doppelten Speicher!
    Mave1993.de Blog
    0 Mitglieder finden den Beitrag gut.
  26. #26
    User Pic
    XxMaTzExX Mitglied
    Registriert seit
    28.05.2008
    Beiträge
    1.039
    Beitragswertungen
    14 Beitragspunkte
    givePoints($_SESSION['authid'], 10) würde im dann 10 punkte geben? xD

    sorry aber gerade blick ich garnicht mehr durch...,nurnoch raten wo das dann hinkommt xD

    oh man zunge


    Zuletzt modifiziert von XxMaTzExX am 22.03.2009 - 15:18:26
    0 Mitglieder finden den Beitrag gut.
  27. #27
    User Pic
    Hassmann Mitglied
    Registriert seit
    13.02.2008
    Beiträge
    1.591
    Beitragswertungen
    9 Beitragspunkte
    jap, gibt dem grade eingeloggten user der die function ausführt 10 pkt,
    Sub2Go.NET | Kostenlosen Webspace mit vielen features! Für Ilch-Forumsmitglieder doppelten Speicher!
    Mave1993.de Blog
    0 Mitglieder finden den Beitrag gut.
  28. #28
    User Pic
    XxMaTzExX Mitglied
    Registriert seit
    28.05.2008
    Beiträge
    1.039
    Beitragswertungen
    14 Beitragspunkte
    vielen dank muss ich nurch noch herrausfinden wo und iwe ich sie anwenden muss für forum und so xD
    0 Mitglieder finden den Beitrag gut.
  29. #29
    User Pic
    XxMaTzExX Mitglied
    Registriert seit
    28.05.2008
    Beiträge
    1.039
    Beitragswertungen
    14 Beitragspunkte
    hab jetzt fast zwei stunden versucht givePoints($_SESSION['authid'], 10)

    in der /admin/news.php einzubinden aber er will mir nirgends punkte hinzufügen
    0 Mitglieder finden den Beitrag gut.
  30. #30
    User Pic
    OloX Hall Of Fame
    Registriert seit
    25.02.2006
    Beiträge
    990
    Beitragswertungen
    23 Beitragspunkte
    Hey XxMaTzExX
    Du fügst einfach in der include/admin/news.php unter
    	if ($um == 'insert') {
            // insert

    das ein
    givePoints($_SESSION['authid'], 10);


    MfG OloX zwinker
    PHP, JavaScript, CSS
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten