Avatar billede stoiss Nybegynder
17. januar 2006 - 14:28 Der er 13 kommentarer og
1 løsning

Nyhedssystem med kommentar, hvordan?

hejsa folkens ..

Nu har jeg i lang tid forsøgt at læse mig frem til hvordan det nu lige er man gør det muligt for brugerene at skrive kommentar til hver enkel nyhed, og har opgivet at læse mig frem til det nu!

Er der nogen der har et MEGET enkelt nyhedssystem hvor det er muligt, så jeg kan kigge koden igennem, og finde ud af det på den måde, har haft fat i et par scripts, men de har haft allemulige andre sindsyge funktioner, som så har gjort det umuligt for mig at gennemskue!

så hvis der var nogen der havde et meget enkelt system hvor det var muligt, eller en der gad smække et sammen, hvis i selv skal smække det sammen skal i self ha fler' points.

.Stoiss :)
Avatar billede thesurfer Nybegynder
17. januar 2006 - 15:22 #1
I teorien kan du bruge ganske almindelige poster i en database.. det vigtige er et specielt felt som skal bruges som.. f.eks. "nid" (står for NewsID)

Så kan du bruge noget i stil med:

"select * from TabelNavn where nid = 23"

som henter alle poster der har med nyhed nr 23..

Men jeg programmerer ikke i PHP, så jeg kan ikke give dig koden..

/theSurfer
Avatar billede thesurfer Nybegynder
17. januar 2006 - 15:25 #2
"som skal bruges som id..."

/theSurfer
Avatar billede stoiss Nybegynder
17. januar 2006 - 15:26 #3
Det er noget i stil med det der jeg ikke fatter en brik af :)
Avatar billede thesurfer Nybegynder
17. januar 2006 - 15:26 #4
Jeg kan se, at du har det med at snuppe pointsne selv.. er det noget du vil fortsætte med at gøre?

/theSurfer
Avatar billede stoiss Nybegynder
17. januar 2006 - 16:12 #5
Jeg havde bedt folk om at smide et svar, det var der ikke nogen der gjorde, så tog jeg dem selv, så blev folk alligevel sure, hvis du kigger på det der karma lort, kan du se at en af dem der havde brokket sig ombestemte sig .. kan det virkelig passe jeg skal slette min bruger og lave en ny før jeg slipper for folks pis ?!! utroligt det her ..
Avatar billede lars_frank Nybegynder
17. januar 2006 - 17:46 #6
Der er egenligt ret nemt.
Super enkelt tabel med designet: id,title,content,parentid
Lad os sige at en nyhed altid har parentid = 0 eller NULL
En kommentar vil altid have parentid = nyhedsid.
For at få kommentar for en given nyhed skriver du så bare;
SELECT * FROM news WHERE parentid = 'nyhedsid' order by id;
Denne metode tillader selvfølgelig threaded comments (man kan svare på en comment)
Voila!
Avatar billede stoiss Nybegynder
17. januar 2006 - 22:47 #7
Lars_frank -> Er det noget du gider bøvle med at sætte sammen? du lyder jo som en der har godt styr på Php og mysql, bare så jeg kan se hvordan det skal sættes sammen det hele, der er extra points hvis du vil :)
Avatar billede challenge Praktikant
17. januar 2006 - 22:54 #8
Prøv at se om du kan bruge dette...

  <? if(isset($_POST["navn"]) && ($_POST["tekst"])){
  echo "<meta http-equiv=refresh content=0;>"; 
  $db = mysql_connect("xxx", "xxx", "xxx");
  mysql_select_db("xxx", $db);
 
  $allow_tags = array("<a>","<b>","<i>","<li>","<ol>","<u>","<ul>","<img>","<strong>","<em>","");
  $ref_id = $_GET["id"];
  $dato = date("d-m/y - H.i.s");
  $ip = $_SERVER["REMOTE_ADDR"];
  $navn = $_POST["navn"];
  $tekst = $_POST["tekst"];
 
  if(!get_magic_quotes_gpc()){
    $overskrift = addslashes($overskrift);
    $tekst = addslashes($tekst);
  }
 
  mysql_query("INSERT INTO kommentarer (ref_id, dato, ip, navn, tekst) VALUES ( '$ref_id', '$dato', '$ip', '$navn', '$tekst')");
}
else {
?>
<FORM METHOD=POST ACTION=<? echo $PHP_SELF; ?>>
&nbsp;&nbsp;Navn:<BR>
&nbsp;&nbsp;<INPUT TYPE=TEXT NAME=navn><BR>
&nbsp;&nbsp;Tekst:<BR>
&nbsp;&nbsp;<TEXTAREA NAME=tekst rows=10 cols=60></TEXTAREA><br>
&nbsp;&nbsp;<INPUT TYPE=SUBMIT VALUE=skriv>&nbsp;<input type=reset value=Ryd form name=reset>
</FORM>
<?
}
?>

<? $query_kommentar = mysql_query("SELECT * FROM kommentarer WHERE ref_id = '".$_GET[id]."' ORDER BY id DESC") or die (mysql_error());
                                                              while($row_kommentar = mysql_fetch_array($query_kommentar)) {
                                                              ?><b><? echo $row_kommentar["navn"]; ?></b> - <i><font color="#CCCCCC"><? echo $row_kommentar["dato"]; ?></font></i><br><? echo strip_tags(nl2br($row_kommentar["tekst"])); ?>
                                                              <?
                                                              }
                                                              ?>

Bare sig til hvis du skal bruge noget hjælp :)
Avatar billede challenge Praktikant
17. januar 2006 - 22:57 #9
MySQL tabel:

"id" auto_increment primary
"ref_id" text
"dato" text
"ip" text
"navn" text
"tekst" text
Avatar billede challenge Praktikant
17. januar 2006 - 22:58 #10
Der er vist lige nogle unødvendige ting rundt omkring...


  <? if(isset($_POST["navn"]) && ($_POST["tekst"])){
  echo "<meta http-equiv=refresh content=0;>";
  $db = mysql_connect("xxx", "xxx", "xxx");
  mysql_select_db("xxx", $db);

  $ref_id = $_GET["id"];
  $dato = date("d-m/y - H.i.s");
  $ip = $_SERVER["REMOTE_ADDR"];
  $navn = $_POST["navn"];
  $tekst = $_POST["tekst"];

  if(!get_magic_quotes_gpc()){
    $tekst = addslashes($tekst);
  }

  mysql_query("INSERT INTO kommentarer (ref_id, dato, ip, navn, tekst) VALUES ( '$ref_id', '$dato', '$ip', '$navn', '$tekst')");
}
else {
?>
<FORM METHOD=POST ACTION=<? echo $PHP_SELF; ?>>
&nbsp;&nbsp;Navn:<BR>
&nbsp;&nbsp;<INPUT TYPE=TEXT NAME=navn><BR>
&nbsp;&nbsp;Tekst:<BR>
&nbsp;&nbsp;<TEXTAREA NAME=tekst rows=10 cols=60></TEXTAREA><br>
&nbsp;&nbsp;<INPUT TYPE=SUBMIT VALUE=skriv>&nbsp;<input type=reset value=Ryd form name=reset>
</FORM>
<?
}
?>

<? $query_kommentar = mysql_query("SELECT * FROM kommentarer WHERE ref_id = '".$_GET[id]."' ORDER BY id DESC") or die (mysql_error());
                                                              while($row_kommentar = mysql_fetch_array($query_kommentar)) {
                                                              ?><b><? echo $row_kommentar["navn"]; ?></b> - <i><font color="#CCCCCC"><? echo $row_kommentar["dato"]; ?></font></i><br><? echo strip_tags(nl2br($row_kommentar["tekst"])); ?>
                                                              <?
                                                              }
                                                              ?>
Avatar billede stoiss Nybegynder
19. januar 2006 - 16:02 #11
challenge -> det ser sq meget fint ud :) smuder du et svar så får du points, vil du ha fler end 30 eller hvordan står det til?
Avatar billede challenge Praktikant
19. januar 2006 - 16:49 #12
Nej det er fint...

Dejligt at kunne hjælpe :)
Avatar billede stoiss Nybegynder
23. januar 2006 - 17:31 #13
Okay kanon :) her er points :)
Avatar billede challenge Praktikant
23. januar 2006 - 21:57 #14
Tak for points :)
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