Avatar billede udvikler Nybegynder
17. august 2005 - 16:46 Der er 28 kommentarer og
1 løsning

Hjælp til mit forum

Jeg er begyndt at lave et forum og det hele virker skam. Intil videre kan man skrive en besked og den bliver gemt i min database sammen med overskriften.
Jeg har så en tabel der hedder forum med de to felter: overskrift og besked
og ja, du kan vel selv gætte hvad de står for :)

Nu skal jeg så have lavet følgene på forsiden:

Hvis der er skrevet nogle beskeder kommer de selvfølgelig frem på forsiden. Der vil kun komme overskriften, men det skal være et link. Det link skal så føre til selve beskeden. men hvordan kan det med at overskriften skal blive et link gøres ?

Altså det i skal hjælpe mig med er:

Jeg skal have lavet en side hvor ALLE overskrifter blive vist (men som et link) det link skal så føre hen til selve beskeden.
Avatar billede Slettet bruger
17. august 2005 - 17:00 #1
jeg forstår det vidst ikke.. hvis du har lavet et helt forum - hvordan kan du så have svært ved og liste links til trådene?
Avatar billede Slettet bruger
17. august 2005 - 17:02 #2
det er vel bare:

$query = mysql_query("select id, overskrift, besked from forum");
while($foo = mysql_fetch_array($query)) {
echo "<a href=\"forum.php?id=".$foo[id]."\">$foo[overskrift]</a>";
}
Avatar billede udvikler Nybegynder
17. august 2005 - 17:10 #3
Så kommer følgene fejl:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /web/www/frac/users/fora/index.php on line 5

Her er dokuementet:

index.php

<?php
include "mysql.php";

$query = mysql_query("select id, overskrift, besked from forum");
while($foo = mysql_fetch_array($query)) {
echo "<a href=\"forum.php?id=".$foo[id]."\">$foo[overskrift]</a>";
}

?>
Avatar billede Slettet bruger
17. august 2005 - 20:42 #4
Du skal jo selvfølgelig også sikre dig, at felterne passer med dine egne.

Smid lige din kode, så jeg kan hjælpe dig med og skrive de korrekte felter!
Avatar billede udvikler Nybegynder
17. august 2005 - 21:14 #5
<html>
<head>
<title>Forum</title>
</head>

<body>

<form action="" method="POST">

<?
include "mysql.php";

// her tjekker vi om man overhovdet har trykket på submit knappen
if($_POST[submit]) {

if($_POST[overskrift] == "" OR $_POST[besked] == "") {
print "Et eller flere felter mangler at blive udfyldt!";
print "<br/><br/>";

}else{

mysql_query("INSERT INTO forum (overskrift, besked) VALUES ('$_POST[overskrift]', '$_POST[besked]')") or die(mysql_error());
print "Beskeden blev nu gemt!";
print "<br/><br/>";

}
}
?>

Overskrift <br/>
<input type="text" name="overskrift" size="30"><br/>

Besked <br/>
<textarea name="besked" rows="10" cols="40"></textarea><br/><br/>

<input type="submit" name="submit" value="submit">

</form>

</body>
</html>
Avatar billede Slettet bruger
17. august 2005 - 21:18 #6
og felterne i din database passer med koden?

hvis felterne er korrekte - så virker koden 100% sikkert!
Avatar billede udvikler Nybegynder
17. august 2005 - 21:21 #7
Jeps..
men det virker ikk

fejlen var jo:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /web/www/frac/users/fora/index.php on line 5
Avatar billede udvikler Nybegynder
17. august 2005 - 22:16 #8
Nå, det fandt jeg selv ud af.. Nu bliver overskriften vist som et link og har adressen www.sidenavn.dk/forum.phpid=""
Jeg har også oprettet rækken ID i min tabel men nu skal det hele forbindes..
det eneste jeg mangler er at hver besked skal have sit eget nummer (ID)

Skal jeg ikke bare tilføje ID i den linie som tilføje de forskellige ting i min mysql databasen ?

Altså denne linie:

mysql_query("INSERT INTO forum (overskrift, besked) VALUES ('$_POST[overskrift]', '$_POST[besked]')") or die(mysql_error());

Og hvordan og hvor skal jeg indsætte ID ?
Avatar billede udvikler Nybegynder
18. august 2005 - 07:13 #9
Nogle der kunne hjælpe ? ^
Avatar billede wordwrap Nybegynder
18. august 2005 - 15:06 #10
den linie :
mysql_query("INSERT INTO forum (overskrift, besked) VALUES ('$_POST[overskrift]', '$_POST[besked]')") or die(mysql_error());

lader du være som den er, og sørger for at feltet ID i din tabel er sat til auto_increment under ekstra... dette kan gøres fra din phpmyadmin eller hvad du nu bruger.. så skulle det være som det skal..

mon ik du så skulle bede gandso om at smide et svar, så han kan få sine velfortjente point ;-)
Avatar billede udvikler Nybegynder
18. august 2005 - 15:20 #11
Hmm.. jamen det er sat til autoincrement..

Jamen gandso's svar virkede jo ikk.. :)
Avatar billede wordwrap Nybegynder
18. august 2005 - 15:25 #12
har du et id på alle dine indlæg i forummet ? hvis ikke, så syns jeg du skulle tømme din db og oprette et par stykker, så kan jeg ikke længere se nogen grund til at det ikke virker :D

self.. virker det ik, så er de point en anden sag, men kan ik lige finde noget der gør det ik skulle virke
Avatar billede Slettet bruger
18. august 2005 - 15:27 #13
Gu' fanden virkede mit svar. Jeg spurgte jo tilmed om du nu havde husket at alle felterne passede med dine egne. ;)
Avatar billede udvikler Nybegynder
18. august 2005 - 15:45 #14
Hehe.. Jamen gandso.. jeg fik det ikke til at virke.. sorry hvis det er mig den er gal med, men det virkede ikke.. derimod fik jeg hjælp af en anden på experten.. vo har nemlig hindandes msn.. han sagde dette script skulle bruges:
<?
include "mysql.php";

$hent = mysql_query("select * from forum order by id desc") or die(mysql_error());
while($foo = mysql_fetch_array($hent)) {
echo "<a href=\"forum.php?id=".$foo[id]."\">$foo[overskrift]</a><br><hr><br>";
}

?>


Det virker også.. nu mangler jeg kun at få et unikt ID på alle mine beskeder og overskrifter (ved ikke om der er brugt for det på overskrifterne ?)
Så jeg kan få linket til at virke..

De links der kommer frem står overskrifterne på.. det virker skam fint, men når man klikker på dem skal beskeden jo komme frem.. men det kan kun gøres hvis jeg for et id på hver besked ?
Avatar billede Slettet bruger
18. august 2005 - 16:00 #15
-aco-: gider du vise mig de store forskelle på hans og mit script? :))))

dét at jeg skrev hver enkelt felt der skulle udskrives hvor han tager alle på en gang med "Select * from", det gjorde jeg blot fordi man kan udnytte de folk der bruger "select * from"'s systemer, hvilket de ikke kan hvis man skriver hver enkelt felt.
Avatar billede udvikler Nybegynder
18. august 2005 - 16:08 #16
Ok, ved ikke det store om det så jeg undskylder.. ;)

Men kunne du hjælpe mig med at tildele hver enkelt besked og overskrift (hvis det er nødvendigt) et unikt ID ? har lavet ID rækken i min database skal bare tildele det til beskeden og overskriften så vil det hele virke :)
Avatar billede Slettet bruger
18. august 2005 - 16:11 #17
hvis du bare sætter dit id-felt i databasen til auto_increment, og sletter alle trådene der findes lige nu, og starter forfra.

så vil alle rækker få et unikt id
Avatar billede udvikler Nybegynder
18. august 2005 - 16:13 #18
Og starter forfra ?!

Hmm.. den er sat til auto increment.. kan da også lige slette trådene så snart frac.dk kører igen.. så kan jeg komme ind på phpmyadmin igen..  :)

Ok, men skal jeg ikke indsætte ID i den linie der indsætter diverse ting i databasen ?
denne linie: mysql_query("INSERT INTO forum (overskrift, besked) VALUES ('$_POST[overskrift]', '$_POST[besked]')") or die(mysql_error());
Avatar billede Slettet bruger
18. august 2005 - 16:14 #19
næh :)

det klarer den selv. hver gang en ny række bliver oprettet får den et nyt nummer, så det skal der ikke php-kode til.
Avatar billede udvikler Nybegynder
18. august 2005 - 16:16 #20
Ok.. prøver lige.. frac virker nemlig igen.. :D

2 sek..

Hvis det virker så læg et svar..

Eller bare læg et svar nu.. så kan jeg jo altid acceptere det..

Kig forbi i tråden igen om 2 sek
Avatar billede Slettet bruger
18. august 2005 - 16:22 #21
ok
Avatar billede udvikler Nybegynder
18. august 2005 - 16:32 #22
Nu har jeg så selv fundet ud af hvad der var galt :P ID var skrevet med småt i koden men med stort i databasen.. nu har jeg fået ID i mine links og mine overskrifter.. men når man klikker kommer beskeden ikke frem.. det er selvfølgelig fordi jeg ikke har lavet det.. hvordan gøres det ?

Så skal du nok få dine point.. ;-)
Avatar billede Slettet bruger
18. august 2005 - 16:35 #23
echo "<a href=\"forum.php?id=".$foo[id]."\">$foo[overskrift]</a>";

Det kommer jo an på hvordan du plejer og se dine tråde. Hvis du ikke før har haft et id, så kan jeg vidst ikke gætte mig til hvordan du får dem vist :)

Har du overhovedet lavet et forum?
Avatar billede udvikler Nybegynder
18. august 2005 - 16:41 #24
Jeps.. det hele ligger på www.fora.frac.dk
Men har ikke lavet nogle headers så du bliver nød til at gå til opret siden manuelt

Lav et indlæg: www.fora.frac.dk/Forum.php
Læs indlægene: www.fora.frac.dk

Ellers er der intet.. jo en mysql fil men den for du ikk brug for ;)

Mangler bare at få beskeden vist når man har klikket på linket som sagt ;)
Avatar billede Slettet bruger
18. august 2005 - 17:03 #25
Så har du heller ikke lavet et forum. Så må du lave et nyt spørgsmål og spørge om hjælp til et forum. Du har blot lavet opret besked og oversigt over beskederne.

Hvis det skal blive til et forum mangler du en del ;)
Avatar billede udvikler Nybegynder
18. august 2005 - 17:06 #26
Ehm nej.. ;)

mangler kun at få beskeden vist når man klikker på overskriften ?
Det burde da ikke være svært ?
Avatar billede wordwrap Nybegynder
18. august 2005 - 17:14 #27
må nok give gandso ret...

er ikke det man lige forbinder med et forum, men.. nej det er ikke svært at f¨vist den besked...

på din forum.php indsætter du følgende:

<?
if(isset($_REQUEST[id])){
$sql = mysql_fetch_array(mysql_query("select overskrift, besked from forum where id = '$_REQUEST[id]'"))or die(mysql_error());

echo "overskrift:". $sql[overskrift]. "<br>Besked:". $sql[besked];
}
?>
Det er ikke testet på nogen måde, og du skal nok kontrollere felter for tryg fejl og om store/små bogstaver er korrekte... men noget i den stil...
Avatar billede Slettet bruger
18. august 2005 - 17:25 #28
strange: det bliver det jo stadig ikke et forum af :D

-aco-: opret et nyt spørgsmål om hjælp til et forum, eller søg efter et på google!
Avatar billede udvikler Nybegynder
18. august 2005 - 17:26 #29
Virkede ikke.. men synes også at i har ret.. opretter en ny tråd med det jeg mangler.. takker.. Dit svar er accepteret gandso ;)
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