Avatar billede udvikler Nybegynder
19. august 2005 - 18:47 Der er 6 kommentarer og
1 løsning

Lave en besvar funktion til et forum

Hejsa.. Ja jeg er igang med et forum og det hele virker, men jeg mangler en besvar funktion altså så man kan besvare på tråde. Jeg troede det ville være meget nemt.. men det er det åbenbart ikke.. :)

Nogle der kan hjælpe ?
Avatar billede udvikler Nybegynder
19. august 2005 - 18:49 #1
Min side er på www.fora.frac.dk

Her er koden som er den der danner det der er på forsiden:

<a href="Forum.php">Opret besked</a>
<a href="index.php">Gå til forsiden</a>
<br><br><br><br><br>


<div style="text-align: center;">
<table border="1" width="600">
<tr>
<td>


<?
//Her inkludere vi filen der indenholder database oplysningerne
include "mysql.php";

//Her indsætter vi alle vores overskrifter og laver dem om til links
//Derefter gør vi sådan at når man trykker på dem, kommer selve indlægget frem

if(isset($_GET['id'])) {
$query = mysql_query("select id, overskrift, besked from forum where id='$_GET[id]'");
while($foo = mysql_fetch_array($query)) {
echo $foo[overskrift]."<br><hr><br>".$foo[besked];
}
} else {
$query = mysql_query("select id, overskrift, besked from forum");
while($row = mysql_fetch_array($query)) {
echo "<a href=\"index.php?id=".$row[id]."\">".$row[overskrift]."</a><br><hr><br>";
}
}
?>


</td>
</tr>
</table>
</div>
Avatar billede jaw Nybegynder
19. august 2005 - 19:03 #2
Så laver du først og fremmest de forms du vil have brugeren skal udfylde. Så indsætter du det i databasen, hvor overskriften så f.eks. svarer til id'et på hovedemnet. For at udhente alle kommentarerne, så kan det være:

SELECT * FROM forum WHERE overskrift = "'.$_GET['id']."' ORDER BY id DESC

Get it?
Avatar billede jaw Nybegynder
19. august 2005 - 19:06 #3
Og så opret et ekstra felt med navnet type f.eks. og skrive "emne" for emner og "kommentar" for kommentarer. Så kender du de 2 typer fra hinanden når du udhenter dem.

Eller du kan selvfølgelig oprette en ny tabel der hedder kommentarer, der indeholder faktisk de samme felter og faktisk samme udtræk.
Avatar billede udvikler Nybegynder
19. august 2005 - 19:07 #4
Forstår ikke helt :)

Det eneste felt der skal være der er et textarea.. altså der skal KUN være besvarelsen.. skal jeg så oprette et nyt felt i databasen som indenholder alle kommentarene eller hvad ?
Avatar billede jaw Nybegynder
19. august 2005 - 19:19 #5
Den nemme løsning er, at du tilføjer et felt til forum der hedder "type". Feltet skal så indeholde "emne" ved alle forside-emnerne og "kommentar" ved alle kommentarerne.

Så laver du dit textarea:

<form action="comment.php" method="post">
<input type="hidden" value="<?=$_GET['id'];?>" name="emne">
<textarea name="kommentar"></textarea>
<input type="submit" value="Send">

Og så opretter du comment.php:
<?
if(!empty($_POST['kommentar'])) {
  //connect
  mysql_query("INSERT INTO forum (type, besked, overskrift) VALUES('kommentar', '".$_POST['kommentar']."','".$_POST['emne']."')") or die(mysql_error());
  echo "Udf&oslash;rt";
}
?>

Kommentarerne udhentes så med:
SELECT * FROM forum WHERE type='kommentar' AND emne = '".$_POST['emne']."'
Avatar billede udvikler Nybegynder
19. august 2005 - 19:21 #6
Takker.. læg et svar mester ;)
Avatar billede jaw Nybegynder
19. august 2005 - 19:23 #7
Selv takker da :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB