ilch Forum » Allgemein » HTML, PHP, SQL,... » Balken Diagram

Geschlossen
  1. #1
    User Pic
    MonMon Mitglied
    Registriert seit
    05.08.2009
    Beiträge
    116
    Beitragswertungen
    0 Beitragspunkte
    HAllo habe hir im forum ne schöne sache gefunden die meine Datenbanke nach gespielte WAR´s der einzelnen Member ausliest

    kann man das in einen Balken Diagram darstellen wenn ja was müste ich in dieser php einfügen

    Meine vorstelung wäre

    {Name} |==================== | ??%
    {Name} |========================= | ??%
    {Name} |============= | ??%
    {Name} |============== | ??%


    das das so ungefähr aussieht
    <?php
    #   Copyright by Manuel Staechele
    #   Support www.ilch.de
     
     
    defined ('main') or die ( 'no direct access' );
     
    $title = $allgAr['title'].' :: Warstatistik';
    $hmenu = 'Warstatistik';
    $design = new design ( $title , $hmenu );
    $design->header();
     
    echo '<table width=100%" align="center" cellpadding="1" cellspacing="1" border="0"><tr><td>';
     
    echo '<tr class="Cdark"><td colspan="3" align="center"><b>Teilnehmer aller Wars</b></td></tr>';
     
    $ergwar = db_query('SELECT uid, COUNT(*) as anz FROM `prefix_warmember` a INNER JOIN `prefix_wars` b ON a.wid = b.id AND a.aktion = 1 AND b.status = 3 GROUP BY a.uid ORDER BY anz DESC');
    $ergGes = db_query('SELECT COUNT(id) FROM `prefix_wars` WHERE status= "3"');
    $anzGes = db_result($ergGes,0);
     
    while ($r = db_fetch_assoc($ergwar)) {
    $ergname = db_result(db_query('SELECT name FROM `prefix_user` WHERE id='.$r['uid'].''),0);
    echo '<tr><td class="Cnorm" align="left" width="20%"><center><FONT COLOR="#32cd32">'.$ergname.'</FONT></center></td><td class="Cmite" align="left" width="20%">hat '.$r['anz'].' Wars </td><td class="Cnorm" align="left" width="20%">von '.$anzGes.' Wars gespielt</td></tr>';
    }
    echo '</td></tr></table>';
     
    $design->footer();
     
    ?>
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    iVirus Mitglied
    Registriert seit
    28.07.2008
    Beiträge
    1.250
    Beitragswertungen
    30 Beitragspunkte
    ... was sind den deiner meinung nach dan.. 100%?..

    oder ist man ab einer bestimmten anzahl von wars bei 100% ?..


    mfg


    EDIT:

    sry.. hatte gerade ne blockade .. zunge natürlich geht das...

    100% = [ANZAHL ALLER WARS BIS JEZTZ]
    XX % = [ANZAHL DER WARS DIE DU MITGESPIELT HAST]

    ...php ist wie mathe in dem bereich..

    Sagen wir mal dein Balken hat eine Breite von 400px (=100%)
    Wir haben bis jetzt 20 Wars von 40 mitgezockt...
    dan währen das 50% bei denen wir dabei waren..

    zwinker 50% von 400 sind 200px ... das übergibst du ner Variable und setzt es bei der breite ein^^...


    zunge so würd ich das machen...



    mfg


    Zuletzt modifiziert von iVirus am 11.03.2010 - 12:22:58
    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
    hier ist ein minitut. etwas veraltet vielleicht aber was solls

    externer Link
    Spamming, sinnlose Beiträge, Pushing, Doppelposting und Werbung sind verboten
    externer Link
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    MonMon Mitglied
    Registriert seit
    05.08.2009
    Beiträge
    116
    Beitragswertungen
    0 Beitragspunkte
    also habe jetzt mal einwenig probier
    bin auch schon ein wenig weiter aber aber von fertig is noch eine rede

    <?php
    #   Copyright by Manuel Staechele
    #   Support www.ilch.de
     
     
    defined ('main') or die ( 'no direct access' );
     
    $title = $allgAr['title'].' :: Warstatistik';
    $hmenu = 'Warstatistik';
    $design = new design ( $title , $hmenu );
    $design->header();
     
    echo '<table width=100%" align="center" cellpadding="1" cellspacing="1" border="0"><tr><td>';
     
    echo '<tr class="Cdark"><td colspan="3" align="center"><b>Teilnehmer aller Wars</b></td></tr>';
     
    $ergwar = db_query('SELECT uid, COUNT(*) as anz FROM `prefix_warmember` a INNER JOIN `prefix_wars` b ON a.wid = b.id AND a.aktion = 1 AND b.status = 3 GROUP BY a.uid ORDER BY anz DESC');
    $ergGes = db_query('SELECT COUNT(id) FROM `prefix_wars` WHERE status= "3"');
    $anzGes = db_result($ergGes,0);
    $prozent = $gesamt / 100 * $r['anz']; 
    $balken = $prozent * 3;
    
    while ($r = db_fetch_assoc($ergwar)) {
    $ergname = db_result(db_query('SELECT name FROM `prefix_user` WHERE id='.$r['uid'].''),0);
    echo '<tr><td class="Cnorm" align="left" width="20%"><center><FONT COLOR="#32cd32">'.$ergname.'</FONT></center></td><td class="Cmite" align="left" width="20%"><img src="/images/balken.gif" width="<?php echo $balken; ?>"
    height="10" alt="<?php echo $prozent; ?> %"></td>
    <td><?php echo $prozent; ?> % von '.$anzGes.' Wars gespielt</td></td></tr>';
    }
    echo '</td></tr></table>';
     
    $design->footer();
     
    ?>


    mein Problem ist das der balken nicht weiter geht also irgendwie bekommt der die % nicht
    externer Link
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Chapter Hall Of Fame
    Registriert seit
    21.10.2007
    Beiträge
    5.951
    Beitragswertungen
    229 Beitragspunkte
    innerhalb von php kannst du <?php ... ?> weglassen

    probier den mal:

    <?php
    #   Copyright by Manuel Staechele
    #   Support www.ilch.de
     
     
    defined ('main') or die ( 'no direct access' );
     
    $title = $allgAr['title'].' :: Warstatistik';
    $hmenu = 'Warstatistik';
    $design = new design ( $title , $hmenu );
    $design->header();
     
    echo '<table width=100%" align="center" cellpadding="1" cellspacing="1" border="0"><tr><td>';
     
    echo '<tr class="Cdark"><td colspan="3" align="center"><b>Teilnehmer aller Wars</b></td></tr>';
     
    $ergwar = db_query('SELECT uid, COUNT(*) as anz FROM `prefix_warmember` a INNER JOIN `prefix_wars` b ON a.wid = b.id AND a.aktion = 1 AND b.status = 3 GROUP BY a.uid ORDER BY anz DESC');
    $ergGes = db_query('SELECT COUNT(id) FROM `prefix_wars` WHERE status= "3"');
    $anzGes = db_result($ergGes,0);
    $prozent = $gesamt / 100 * $r['anz'];
    $balken = $prozent * 3;
     
    while ($r = db_fetch_assoc($ergwar)) {
    $ergname = db_result(db_query('SELECT name FROM `prefix_user` WHERE id='.$r['uid'].''),0);
    echo '<tr><td class="Cnorm" align="left" width="20%"><center><FONT COLOR="#32cd32">'.$ergname.'</FONT></center></td><td class="Cmite" align="left" width="20%"><img src="/images/balken.gif" width="'.$balken.'" height="10" alt="'.$prozent.' %"></td>
    <td>'.$prozent.' % von '.$anzGes.' Wars gespielt</td></td></tr>';
    }
    echo '</td></tr></table>';
     
    $design->footer();
     
    ?>



    Zuletzt modifiziert von Chapter am 11.03.2010 - 16:29:18
    Spamming, sinnlose Beiträge, Pushing, Doppelposting und Werbung sind verboten
    externer Link
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    MonMon Mitglied
    Registriert seit
    05.08.2009
    Beiträge
    116
    Beitragswertungen
    0 Beitragspunkte
    naja war schon mal ein schrit weiter aber ich glaube

    bei der berechnung der Prozente ist deer Fehler
    nur wie muss ich das machen das er es richtig rechnet
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Chapter Hall Of Fame
    Registriert seit
    21.10.2007
    Beiträge
    5.951
    Beitragswertungen
    229 Beitragspunkte
    woher beziehst du denn
    $gesamt / 100 * $r['anz'];


    das blick ich grad net. $gesamt und $r sind ja nicht gesetzt...
    Spamming, sinnlose Beiträge, Pushing, Doppelposting und Werbung sind verboten
    externer Link
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    iVirus Mitglied
    Registriert seit
    28.07.2008
    Beiträge
    1.250
    Beitragswertungen
    30 Beitragspunkte
    stimmt ... Chapter hat recht..

    $gesamt = '>>maximale breite der balken<<';



    PS.
    ich würde hinter
     width="'.$balken.'"


    noch px hinschreiben.. zwinker
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    MonMon Mitglied
    Registriert seit
    05.08.2009
    Beiträge
    116
    Beitragswertungen
    0 Beitragspunkte
    ich habe kaum oder ehr keine ahnung von php aber überal list man das ein leute hir im forum gerne helfen aber mann soll auch selber was versuchen deswegen habe ich schonmal selber angefangen


    ich bekomme es nicht hin das die Protzen auszurechen

    alle wars werden angezeigt mit $anzGes
    die teielgenommen Wars werden mit $r['anz']
    Angezeigt

    aber wie berechne ich damit ein Prozent wert (natürlich im php )
    bin da echt noch nicht hinter gestiegen
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Chapter Hall Of Fame
    Registriert seit
    21.10.2007
    Beiträge
    5.951
    Beitragswertungen
    229 Beitragspunkte
    poste mal bitte deine aktuelle datei...
    Spamming, sinnlose Beiträge, Pushing, Doppelposting und Werbung sind verboten
    externer Link
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    MonMon Mitglied
    Registriert seit
    05.08.2009
    Beiträge
    116
    Beitragswertungen
    0 Beitragspunkte
    <?php
    #   Copyright by Manuel Staechele
    #   Support www.ilch.de
     
     
    defined ('main') or die ( 'no direct access' );
     
    $title = $allgAr['title'].' :: Warstatistik';
    $hmenu = 'Warstatistik';
    $design = new design ( $title , $hmenu );
    $design->header();
     
    echo '<table width=100%" align="center" cellpadding="1" cellspacing="1" border="0"><tr><td>';
     
    echo '<tr class="Cdark"><td colspan="3" align="center"><b>Teilnehmer aller Wars</b></td></tr>';
     
    $ergwar = db_query('SELECT uid, COUNT(*) as anz FROM `prefix_warmember` a INNER JOIN `prefix_wars` b ON a.wid = b.id AND a.aktion = 1 AND b.status = 3 GROUP BY a.uid ORDER BY anz DESC');
    $ergGes = db_query('SELECT COUNT(id) FROM `prefix_wars` WHERE status= "3"');
    $anzGes = db_result($ergGes,0);
    $prozent = $ergwar * 100 / $ergGes;
    $balken = $prozent * 3;
     
    while ($r = db_fetch_assoc($ergwar)) {
    $ergname = db_result(db_query('SELECT name FROM `prefix_user` WHERE id='.$r['uid'].''),0);
    echo '<tr><td class="Cnorm" align="left" width="15%"><FONT COLOR="#32cd32">'.$ergname.'</FONT></td><td class="Cmite" align="left" width="55%"><img src="/images/balken.gif" width="$balken" height="10"></td>
    <td>'.$prozent.' % ('.$r['anz'].') von '.$anzGes.' Wars gespielt</td></td></tr>';
    }
    echo '</td></tr></table>';
     
    $design->footer();
     
    ?>
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.638
    Beitragswertungen
    1193 Beitragspunkte
    Ich habe es Dir mal angepasst, mit der Abfrage falls ein User mal gelöscht wurde, damit kein Fehler auftritt!

    <?php
    #   Copyright by Manuel Staechele
    #   Support www.ilch.de
     
    defined ('main') or die ( 'no direct access' );
     
    $title = $allgAr['title'].' :: Warstatistik';
    $hmenu = 'Warstatistik';
    $design = new design ( $title , $hmenu );
    $design->header();
     
    echo '<table width=100%" align="center" cellpadding="1" cellspacing="1" border="0">';
    echo '<tr class="Cdark"><td colspan="3" align="center"><b>Teilnehmer aller Wars</b></td></tr>';
     
    $ergwar = db_query('SELECT uid, COUNT(*) as anz FROM `prefix_warmember` a INNER JOIN `prefix_wars` b ON a.wid = b.id AND a.aktion = 1 AND b.status = 3 GROUP BY a.uid ORDER BY anz DESC'); 
    $anzGes = db_result(db_query('SELECT COUNT(id) FROM `prefix_wars` WHERE status= "3"'),0);
    $anzGes2 = $anzGes == 0 ? 0.01 : $anzGes/100; 
    
    while ($r = db_fetch_assoc($ergwar)) {
    $namevorhanden = db_num_rows(db_query('SELECT name FROM `prefix_user` WHERE id='.$r['uid'].''),0);
    if ( $namevorhanden == 1 )
    {
    $ergname = db_result(db_query('SELECT name FROM `prefix_user` WHERE id='.$r['uid'].''),0);
    $prozent = round($r['anz']/$anzGes2,0).'%';
    $balken = round($r['anz']/$anzGes2*3,0);
    
    echo '
    <tr>
    <td class="Cnorm" align="left" width="15%"><FONT COLOR="#32cd32">'.$ergname.'</FONT></td>
    <td class="Cmite" align="left" width="55%"><img src="/images/balken.gif" width="'.$balken.'" height="10"></td>
    <td>'.$prozent.' ('.$r['anz'].') von '.$anzGes.' Wars gespielt</td>
    </tr>';
    }}
    echo '</table>';
     
    $design->footer();
     
    ?>
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    MonMon Mitglied
    Registriert seit
    05.08.2009
    Beiträge
    116
    Beitragswertungen
    0 Beitragspunkte
    danke das is ja hammer

    ich war schon am ausrasten denn ich hätte es nie hinbekommen fehlt mir einfach zu viel wissen
    ich hoffe ich bekomme das auch irgendwan mal hin
    wie lange hast du gebraucht bis du soweit warst
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.638
    Beitragswertungen
    1193 Beitragspunkte
    Ich habe es auch nur durch Testen, bestehende Scripte und Google soweit geschafft, dass ich mittlerweile gewisse Grundzüge kann!

    Es fehlen aber noch viele Fähigkeiten! Am Ilch-Script arbeite ich jetzt schon fast 3 Jahre und durch viel basteln und Ideenverwirklichung hat man auch den Lerneffekt! Vorher kannte ich nur Basic & HTML!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
Geschlossen

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

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten