# php forum programmieren



## klops (16. Februar 2005)

also..
  ich will mich jetzt endlich an ein forum wagen!
  doch ich weiß überhaupt nicht wie ich anfangen soll 
  sprich tabellen struktur in mysql usw.
  könnt ihr mir vielleicht ein paar vorschläge schicken wie ich anfangen soll 
  oder mir ein schlicht und einfaches forum nennen wo ich mich selber
  dran weiterbilden kann, denn bei den foren die ich mir gedownloaded habe bin ich nicht 
  durchgestiegen, weil die alle so kompliziert mit unendlich vielen features aufgebaut waren.


----------



## LotseDerLotsen (16. Februar 2005)

Hier mal ein einfaches Gästebuch Skript von mir.


```
<?php 		include "connect.php";
			$sql = mysql_query("SELECT * FROM feedback ORDER BY date ASC");
			$eintr = mysql_num_rows($sql);
			$maxpro = 3;
			$i = 0;
			
			$seiten = $eintr / $maxpro;
			if(!isset($_GET['page'])){
			
			$sql = mysql_query("SELECT * FROM feedback ORDER BY id DESC LIMIT 0, ".$maxpro.";");
			} else {
			
			$abeintrag = $_GET['page'] * $maxpro - $maxpro;
			$sql = mysql_query("SELECT * FROM feedback ORDER BY id DESC LIMIT ".$abeintrag.", ".$maxpro.";");
			}
				
			while($row = mysql_fetch_array($sql)){
					echo '<table width="400" heigth="12">';
					echo '<tr>';
					echo '<td width="133" class="Stil4">'.$row['name'].'</td>';
					echo '<td width="133" class="Stil4">'.$row['date'].'</td>';
					echo '<td width="133" class="Stil4">'.$row['time'].'</td>';
					echo '</tr>';
					echo '</table>';
					echo '<br>';
					echo '<table width="400" heigth="125" class="Stil2">';
					echo '<tr>';
					echo '<td>'.$row['feed'].'</td>';
					echo '</tr>';
					echo '</table>';
					echo '<br>';
					
					}
					
				echo '<font color="white">Seite</font>';
				for($i = 1; $i - 1< $seiten; $i++){              //Ausgabe der Linkliste
				 echo "<a href=\"index.php?section=feedback_show&button=on_feed&page=".$i."\">".$i."</a> ";
					}
?>
```


----------



## klops (16. Februar 2005)

ich weiß ja nich ob ich mich nicht verständlich ausgedrückt habe aber eigentlich wollte ich etwas über foren wissen und nicht über gästebücher
hoffe mal es war nur ein missverständnis


----------



## LotseDerLotsen (16. Februar 2005)

Sorry wollte dir helfen, 
dachte du kannst das vielleicht nutzen und zum Forum umbauen


----------



## klops (16. Februar 2005)

hmmm....
also ich kann daraus kein schluss ziehn welchen tabellen aufbau ich für ein forum haben könnte
aber trotzdem danke 
vllt können mir andere ja weiter helfen


----------



## SilentWarrior (16. Februar 2005)

Also grundsätzlich würde ich dir mal empfehlen, dir das phpBB-forum herunterzuladen, zu installieren und dir dann mal die Datenbankstruktur anzuschauen.

Hier mal ein grober Überblick:
Du brauchst (mindestens) vier Tabellen. (Behaupte ich jetzt einfach mal ganz frech.)

1. User - hier kommen die User rein, also Name, E-Mail, ICQ usw.
2. Foren - hier kommen die einzelnen Foren samt Beschreibung rein.
3. Threads - hier die einzelnen Threads. (Hm... ach ne? )
4. und schliesslich natürlich noch die Posts, das wichtigste an einem Forum.

Aber noch ein paar Bemerkungen: Warum willst du überhaupt ein eigenes Forum programmieren? Es gibt genug gute Foren, wie z. B. das phpBB, und es gibt durchaus auch noch andere Dinge, die du machen kannst, wenn du PHP lernen willst. Ich persönlich bin der Meinung, wenn du noch nicht einmal einen Ansatz für die DB-Struktur hast, bist du noch nicht so weit, selber ein Forum zu machen. Aber bleibt natürlich deine Entscheidung. Auf jeden Fall viel Spass!


----------



## Kyrius (17. Februar 2005)

Anmerkung zur Tabelle Foren: Als Anfänger solte er/sie vlt lieber erstmal ein Forum mit nur einem Board bauen. Somit fällt diese Tabelle raus (sind wir nur noch bei 3 *frecher ist als wie du*)

Anmerkung zum "Warum?": Erfahrungen sammeln, Spaß am Coden, ...
Es gibt viele Gründe,w arum man ein Script baut


----------



## BeaTBoxX (17. Februar 2005)

Hossa! 

Also ich bin auch gerade dabei mein erstes Forum zu programmieren.
Ich bin dabei so vorgegangen:

In der DB hab ich folgende Tabellen.

Usertabelle : muss man nicht viel dazu sagen oder? 

Kategorien : da stehen der Reihe nach die Unterteilungen drin z.b. Musik,FIlme,Spiele,Bla
                   die Tabelle hat bei mir z.b. noch ein Feld Reihenfolge, um festlegen zu koennen,  
                   dass z.b. die Kat. Filme als erstes und Musik als zweites steht usw

Threads :    Dort stehen bei mir ALLE Threads zu ALLEN Kategorien drin. 
                  die Tabelle threads hat ein Feld, was einen Verweis auf die Kategorie  
                  enthaellt. damit kann ich zuordnen welcher Thread zu welcher Kat gehört.

Posts::      Hier stehen alle Posts zu allen Threads drin. Auch hier gibts ein feld, was die  
                zuordnung zum jeweiligen Thread erlaubt. Ausserdem gibts hier einen Verweise  
                 welcher User diesen Post gemacht hat.


Soviel zur DB

Dann hab ich  mir gedacht ich werfe die Funktionen "Antworten" und "neuen Thread erstellen" zusammen, man muss eben vorher prüfen, ob beim Aufrufen dieser Funktion ein Thread uebergeben wurde, falls ja wird nur in Posts eingetragen, falls nein wird zusaetzlich ein Datensatz in die Tabelle "Threads" gemacht und damit ein neuer Thread erstellt.


Tjo.. dann sollte das Ganze so grob eigentlich funktionieren.
Ob es Sinn macht die Tabellen weiter aufzuspalten, weiss ich nicht. Kommt wohl auch drauf an wie groß das ganze sein soll. Bei ein paar hundert Posts sollte das kein Act sein, das in eine Tabelle zu packen.


Hoffe ich hab dir geholfen.
Evlt hat ja noch wer Verbesserungsvorschlaege, dann kann ich das bie mir auch gleich einfließen lassen.

Gruß
Frank


----------



## BeaTBoxX (17. Februar 2005)

SilentWarrior hat gesagt.:
			
		

> Also grundsätzlich würde ich dir mal empfehlen, dir das phpBB-forum herunterzuladen, zu installieren und dir dann mal die Datenbankstruktur anzuschauen.



Hab ich auch gemacht ist aber schon ne ganze Ecke komplexer.
Dort werden z.b. vielverwendete Wörter auch nur EINmal gespeichert und in den Posts dann eingesetzt.(Das Wort "Hallo" braucht bei 1000 mal Eintragen doch wohl mehr Platz als einmal und dann nur ne Verweisnummer 4711 )




			
				SilentWarrior hat gesagt.:
			
		

> Aber noch ein paar Bemerkungen: Warum willst du überhaupt ein eigenes Forum programmieren? Es gibt genug gute Foren, wie z. B. das phpBB, und es gibt durchaus auch noch andere Dinge, die du machen kannst, wenn du PHP lernen willst. Ich persönlich bin der Meinung, wenn du noch nicht einmal einen Ansatz für die DB-Struktur hast, bist du noch nicht so weit, selber ein Forum zu machen. Aber bleibt natürlich deine Entscheidung. Auf jeden Fall viel Spass!



Also ich hab mich entschieden ein eigenes zu programmieren, weil sich sowas besser in eine vorhandene Seite integrieren lässt. per Popup finde ich doof  ausserdem hat man beim selbstgeschrieben doch noch ne ganze Ecke mehr an Optikanpassungen in der Hand. 
Hat einer von euch mal ein phpbb stylesheet selber erstellt? eine Heidenarbeit sag ich euch!


Gruß
Frank


----------



## Kyrius (17. Februar 2005)

Ich habe einen Sheet mal abgeändert. Nach einer Woche fummeln hatte ich keine Lust mehr und habe mir einen fertigen gesaugt  ich bin Programmierer und kein Designer, Himmel nochmal 


Ich gebe dir nochmals den Tipp: Klein Anfangen und dann ausbauen  Wenn du sofort ein phpBB nachbauen willst, ist Versagen vorbestimmt


----------



## klops (17. Februar 2005)

danke an alle 
  also ich werd das so in der art versuchen wie BeaTBoxX es beschrieben hat 
  hab auch schon jetzt viele vorstellungen wie ich das umsetzten werde mir hat halt nur ein kleiner funken 
  gefehlt um jetzt anzufangen 
  auf die frage warum ich eins selber machen will:
  1.coden macht spaß
  2. man kann es besser an eine seite anpassen
  3.man fühlt sich ein wenig stolzer wenn man weiß das man alles auf seiner page selber programmiert hat


----------



## kjh (17. Februar 2005)

ja vorallem weiß man was man hat... ;-)


----------

