Seite 1 von 1

HowTo: Einfache MYSQL Querry in eigenem Block ausgeben?

Verfasst: 11.05.2011 22:35
von alekelpragh
Hallo,

ich habe phpbb in Version 3.0.8 und das board3 Portal in Version 1.0.6 installiert (unteranderem noch Geomod etc, ist aber nicht von belang).
Ich habe mich die letzten Tage/Wochen in PHP, MySQL sowie CSS eingelesen. Mit ner menge Zeit und TryAndError habe ich sehr viel erreicht.

Für meine Sippe habe ich nun ein Loot-Verteilungs-System basierend auf PHP und MySQL geschrieben. Dieses funktioniert im Moment noch autonom neben der Seite auf einer eigenen Datenbank.
Jetzt würde ich es gerne in kleinen Schritten in das Board integrieren. Angefangen von einer einfachen Ausgabe einer SQL Querry (Ausgabe in TabellenForm) in einem eigenen Block auf dem Portal.

Der Block soll vollgenden Code ausführen können (enthalten):

Code: Alles auswählen

<?php
  $connection = mysql_connect("localhost","andere-DB-als-PHPBB","xyz");
    if (!$connection)
    {
      die('Could not connect: ' . mysql_error());
    }
  mysql_select_db("alekelpragh_sks", $connection);
  
  
  // Ausgabe das SKS
  function showsks() {
    // Abfrage der SKS Liste
    $query = 'SELECT
                *
              FROM
                person
              ORDER BY
                Platzierung ASC '
              or die("Query failed with error: ".mysql_error());
    $result = mysql_query($query);
      
    // Ausgabe der SKS Liste (falls vorhanden, sonst Errormeldung)
    // Falls eine SKS Liste vorhanden ist
    if ($result!=0) {   
      echo '<table border="1" frame="void">';
      echo '    <tr>';
      echo '        <td>';
      echo '            <b>&nbsp;Platzierung&nbsp;</b>';
      echo '        </td>';
      echo '        <td>';
      echo '            <b>&nbsp;Name&nbsp;</b>';
      echo '        </td>';
      echo '        <td>';
      echo '            <b>&nbsp;Aktivit&auml;t&nbsp;</b>';
      echo '        </td>';
      echo '        <td>';
      echo '            <b>&nbsp;PersID&nbsp;</b>';
      echo '        </td>';                
      echo '    </tr>';
      while ($row = mysql_fetch_array($result)) {
        aktivitaet($row['Inaktiv']);
        echo '        <td>';
        echo             $row['Platzierung'];
        echo '        </td>';
        echo '        <td>';
        echo             $row['Name'];
        echo '        </td>';
        echo '        <td>';
        if ($row['Inaktiv']==0) {
          echo '           aktiv';
        } elseif ($row['Inaktiv']==1) {
          echo '           inaktiv';
        }
        echo '        </td>';
        echo '        <td>';
        echo             $row['PersID'];
        echo '        </td>';                    
        echo '    </tr>';
      } // while Datensatz vorhanden
      echo '    </tr>';
      echo '</table>';
    } // if SKS Liste vorhanden
    // Falls keine SKS Liste vorhanden ist, dann:
    else { 
      echo '<p class="info">Es ist keine SKS Liste Vorhanden!</p>';
    } // else  
  } // function showsks


// eigentlicher Blockinhalt
  
        echo '<table width="1000px" border ="0">';    
          echo '<tr>';
            echo '<td width="50%"><center>';
              // SKS Liste anzeigen
              echo '<div style="max-height:550px; overflow:auto;">';
              showsks();
              echo '</div>';
            echo '</center></td>';
          echo '</tr>';
        echo '</table>';  
  
?>
Nun soweit so gut, ich bin aber extrem überfordert und finde einfach nicht, wo ich was hinzufügen muss.

Ich habe jetzt als erstes mal die portal_right.html durch den mit Pfeilen markierten Teil ergänzt:

Code: Alles auswählen

<!-- IF S_DISPLAY_USERMENU -->
	<!-- IF not S_USER_LOGGED_IN -->
		<!-- INCLUDE portal/block/login_box.html -->
	<!-- ENDIF -->
	<!-- IF not S_IS_BOT and S_USER_LOGGED_IN -->
		<!-- INCLUDE portal/block/user_menu.html -->
	<!-- ENDIF -->
	<!-- IF not S_IS_BOT and S_USER_LOGGED_IN -->                               <----- hier
		<!-- INCLUDE portal/block/sks.html -->                                   <----- hier
	<!-- ENDIF -->                                                              <----- und hier
<!-- ENDIF -->
Jetzt habe ich die sks.html angelegt und dort einfach mal nur irgendwas reingeschrieben. Es wurde auch an der richtigen Stelle auf dem Portal angezeigt.
Sobald ich jetzt aber PHP Code hinzufüge, wird dieser scheinbar einfach ignoriert. Ich hab natürlich auch versucht, das ganze als sks.php auszuführen.
Ich befinde mich ja aktuell im Style Ordner, und ich weis auch, dass es dort nur ums Design geht.
Der eigentliche PHP Code befindet sich zum Board und Portal selber ja eigentlich im RootVerzeichnis.

Wie ihr vielleicht gerade merkt, blicke ich einfach noch nicht durch und mir fehlen die Zusammenhänge zwischen Style und PHPScript.

Gibt es vielleicht irgendwo einen "leeren Mod" der genau das Fundament ist, was ich brauche? oder stell ich mich einfach nur dumm an?

Ich danke schonmal für eure Hilfe.

Gruß Manu

Ps.: Achja... hier natürlich der Link zur Page: http://alekelpragh.bplaced.net/ obwohl es da zum Thema bezogen, noch nichts zu sehn gibt.
PPS: Achja... würde mir vielleicht nochmal jemand kurz erklären, warum im HTML Kommentar <!-- --> Code drin vorkommt, der irgendwie nicht vom HTML Kompiler ignoriert wird?

Re: HowTo: Einfache MYSQL Querry in eigenem Block ausgeben?

Verfasst: 12.05.2011 05:14
von AmigaLink
alekelpragh hat geschrieben:PPS: Achja... würde mir vielleicht nochmal jemand kurz erklären, warum im HTML Kommentar <!-- --> Code drin vorkommt, der irgendwie nicht vom HTML Kompiler ignoriert wird?
Weil der HTML-Compiler diese Codestellen überhaupt nicht zu sehen bekommt. ;)
Die Template-Engine des phpBB3 ersetzt diese "Kommentare" gegen ausführbaren Code. Schau dir mal die Cache-Dateien an, die das phpBB von deinem Style angelegt hat. Dann wirst du feststellen das dort jede menge PHP Code enthalten ist. :)

Re: HowTo: Einfache MYSQL Querry in eigenem Block ausgeben?

Verfasst: 12.05.2011 18:23
von alekelpragh
Huhu,

Lesen bilde... ganz klar! Wer wissen will, wie man eigene Blöcke ins Portal einbindet, folgt einfach diesem Link http://www.board3.de/knowledge/kb_show.php?id=52 :lol:

Gibt es irgendwo eine Anleitung wie die Template Engine denn genau funktioniert?

Gruß Manu

Re: HowTo: Einfache MYSQL Querry in eigenem Block ausgeben?

Verfasst: 12.05.2011 19:59
von AmigaLink