PHP: Forum

Fragen zum Thema HTML, JavaScript, PHP
Antworten
Benutzeravatar
naums
Beiträge: 740
Registriert: Sa Jan 02, 2010 10:40 pm
Kontaktdaten:

PHP: Forum

Beitrag von naums » Do Jul 08, 2010 8:57 pm

Ich will ein Forum schreiben, allerdings sollte das relativ gut laufen, also nicht die gesamte leistung meines PCs verbrauchen.

die Tabellen forum_cat forum_board forum_post und forum_thread speichern alles wichtige. Ich bin bis jetzt soweit: das wird mittels include in einer Homepage angezeigt. Also denkt euch jetzt einfach

<HTML><HEAD></HEAD><BODY>

Code: Alles auswählen

<?php
   if (is_array($_GET))
   {
       $get=$_GET;
   }
   else
   {
       $get=$HTTP_GET_VARS;
   };
   if (array_key_exists("page", $get))
   {
       $page=$get["page"];
   }
   else
   {
       $page="overview";
   };
   if (array_key_exists("board", $get))
   {
       $board=$get["board"];
   }
   else
   {
       $board=NULL;
   };
   if (array_key_exists("thread", $get))
   {
       $thema=$get["thread"];
   }
   else
   {
       $thema=NULL;
   };
   if (array_key_exists("action", $get))
   {
       $action=$get["action"];
   }
   else
   {
       $action="overview";
   };
  
if ($login!=NULL)
{  
    if ($board==NULL and $thread==NULL)
    {
        echo('
	   <center>
	     <TABLE background="'.$mainbg.'" width="800px">
		      <TR>
		        <TD valign="top">
			       <!--Forum BEGIN -->
				   
				   ');
				   
				   
        $query="SELECT id, name FROM `forum-cat` ORDER BY `id` ASC";
        $abfrage=$db->query($query, MYSQLI_STORE_RESULT);
        $a=1;
        while ($res=$abfrage->fetch_assoc())
        {
            $id[$a]=$res["id"];
	        $name[$a]=$res["name"];
	        $a++;
        };
		
		echo('<H1>'.$name[$b].'</H1>');
		$query="SELECT id, name FROM `forum-board` WHERE `cat_id`=$b";
		$abfrage=$db->query($query, MYSQLI_STORE_RESULT);
		while ($res=$abfrage->fetch_assoc())
		{
		    echo('
			    <STRONG><A href="index.php?position=forum&board='.$res["id"].'">'.$res["name"].'</A></STRONG>
			');
		   	$query="SELECT id FROM `forum_thread` WHERE `board`=$b";
			$abfrage=$db->query($query, MYSQLI_STORE_RESULT);
			$a=0;
			while ($res=$abfrage->fetch_assoc())
			{
			    $a++;
			    $id[$a]=$res["id"];
			};
			$Xid=count($id);
			echo($Xid.'<BR />');
		};
		
        echo('  
	         <!--Forum END-->
	         </TD>
	       </TR>
		    </TABLE>
	   </center>
	  ');
    }
    else
    {
     
    };
}
else
{
    echo('
	
	<center>
	  <TABLE background="'.$mainbg.'" width="800px">
	    <TR>
		  <TD valign="top">
		    <center><P style="color: '.$errcolor.'">Sie haben keine Recht auf das Forum zuzugreifen. Bitte melden sie sich an, oder registrieren sie sich <A href="index.php?position=register" target="regsiter">hier</A>.</P></center>
		  </TD>
		</TR>
      </TABLE>
	</center>
	
	');
};
?>
</BODY></HTML>

Ja das ist kein Standartkonformer Code, aber was will man machen ^^. Also wer von go-windows.de kommt und das liest. DER IE kann mich wo. für den zerstöre ich nicht meine Seite!
.globl truth
truth:
mov r0, #42
mov pc, lr

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: PHP: Forum

Beitrag von Xin » Fr Jul 09, 2010 8:58 am

Nettes Projekt.

Ich verstehe die Frage aber gerade nicht?
Wenn Du keinen Bock auf den IE hast, so kann ich das schon verstehen, aber es ist weiterhin der wichtigste Browser. Firefox liegt in Dland vorne, aber die Leute im Ausland surfen auch. ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
naums
Beiträge: 740
Registriert: Sa Jan 02, 2010 10:40 pm
Kontaktdaten:

Re: PHP: Forum

Beitrag von naums » Fr Jul 09, 2010 10:18 pm

ja, aber doch net auf ner deutschen Seite, die in 3 Monaten 208 Besucher hatte. -.-

Naja... ich will die Abfragen machen, aber am besten nicht in ner schleife... Obwohl das wohl das einfachste wäre. ;)
.globl truth
truth:
mov r0, #42
mov pc, lr

Fabsch
Beiträge: 9
Registriert: Sa Aug 09, 2008 10:07 am

Re: PHP: Forum

Beitrag von Fabsch » Fr Jul 09, 2010 10:53 pm

Die Anzahl der Zeilen kannst du einfacher mit der MySQL-Funktion COUNT auslesen, das ganze am besten mit einem JOIN, damit du weniger Abfragen brauchst:

Code: Alles auswählen

$query="SELECT b.id, b.name, COUNT(t.id) AS thread_count FROM `forum-board` b, `forum_thread` t WHERE b.`cat_id`=$b AND t.`board` = $b";
(ungetestet aber müsste gehen)
Die Anzahl der Threads in den jeweiligen Foren würde ich allerdings in der Forums-Tabelle mit speichern, gleiches bei den Posts in den Threads.

Allerdings verstehe ich nicht so ganz, was du da drin machst, besonders in der ersten while-Schleife, da du da am Ende nur einen Eintrag davon ausgibst bzw. verwendest und $b wird nirgends definiert.

Benutzeravatar
naums
Beiträge: 740
Registriert: Sa Jan 02, 2010 10:40 pm
Kontaktdaten:

Re: PHP: Forum

Beitrag von naums » Fr Jul 09, 2010 11:11 pm

also ... der Code ist noch äußert unvollständig. Sorry. Ich bin noch lange net fertig mit der Seite. Siehe www.oettinger-games.net.tf
.globl truth
truth:
mov r0, #42
mov pc, lr

Dominik
Beiträge: 381
Registriert: Mo Jul 07, 2008 9:39 pm

Re: PHP: Forum

Beitrag von Dominik » Di Jul 13, 2010 3:00 pm

Erstaunlich das dein code überhaupt in ff und co geht
Rechtschreibefehler sind gewollt und dienen der Unterhaltung

Benutzeravatar
naums
Beiträge: 740
Registriert: Sa Jan 02, 2010 10:40 pm
Kontaktdaten:

Re: PHP: Forum

Beitrag von naums » Di Jul 13, 2010 9:13 pm

also ... gehen schon, aber da wird halt nich viel angezeigt :oops:
.globl truth
truth:
mov r0, #42
mov pc, lr

Benutzeravatar
Dubbel
Beiträge: 197
Registriert: So Jul 06, 2008 6:25 pm
Wohnort: Kopenhagen
Kontaktdaten:

Re: PHP: Forum

Beitrag von Dubbel » Mi Jul 14, 2010 2:58 pm

Ich hab mal bei so einer Aktion "Wer schreibt das kleine Blogging-Skript mit bestimmten Vorraussetzungen in PHP?" mitgemacht (2. Platz 8-) :lol: ), und hatte danach die Idee, dass eventuell mit nem Forenskript zu machen... hat jetzt nich direkt was mit deinem Thema zutun, aber wollte ich mal loswerden ^^

http://www.haukeluebbers.de/2010/03/2-k ... -der-welt/ :D

Antworten