21. november 2007 - 18:39Der er
26 kommentarer og 1 løsning
angående kommentar nummer på forum
Da svar strukturen er rekursivt opbygget, er min umiddelbare løsning at tælle svar inden det nye svar bliver indsat, og så sætte svarnummer plus 1. Så kommer spørgsmålet - kunne man tænke sig, at man kunne komme ud for at 2 svar ville få samme nummer? Er der en bedre løsning?
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Ok, men hvorfor give dem svar-numre på oprettelses tidspunktet. Hvorfor ikke bare smække nummeret på når at du lister svarene til et spørgsmål i en løkke?
Jamen det ville jeg også gerne, men det synes jeg ikke jeg kan få til at virke, da de jo ikke bare bliver listet sådan 1-2-3-4, og så er der også det, at hvis en kommentar er blevet slettet, så skal den stadig tælles med.
Jeg kan ikke forstå at det er et problem at den bliver listet 1 2 3 4 - er det ikke det den skal? Angående huller pga. slettede kommentare: Hvorfor vil du have dem vist som huller i rækkefølgen?
Hov, og det med slettede kommentarer er heller ikke nødvendigt, men jeg vil gerne vise brugeren at en kommentar er slettet, og i forvejen vil man kunne se en brudt linie: | |_svar | | | |tom | |_svar
Ok, jeg tror at jeg nu har fattet dit problem. :^)
Umiddelbart er din allerede foreslåede løsning god nok ... hvis der altså ikke er *meget* trafik på dit site. Folk skal virkeligt snuple over hinanden hvis der skal opstå dubletter ... men det kan der altså godt hvis du er virkelig uheldig.
Hvis der er behov for en løsning på dette så skal jeg nok vide lidt mere om de tabeller du har gang i.
Ja, jeg ved jo godt at min ene bruger (mig selv inklusiv) aldrig vil kunne komme ud for det, med det er princippet i det. Jeg smider sgu lidt kode, for jeg er også interesseret i at begrænse min sql kald. Forkortet version: function show_comment($parent, $topic_id) { global $mysqli; $rs = $mysqli->query(sprintf(" SELECT bla bla FROM reply LEFT JOIN user ON reply.user=user.name WHERE topicID = '$topic_id' AND answerID = %d",$parent));
Dump: CREATE TABLE `reply` ( `replyID` int(9) NOT NULL auto_increment, `topicID` int(9) NOT NULL, `answerID` int(9) NOT NULL, `user` varchar(255) NOT NULL, `comment` text NOT NULL, `dato` varchar(80) NOT NULL, `del` tinyint(3) NOT NULL default '0', `delcomment` text NOT NULL, `nummer` int(11) NOT NULL, PRIMARY KEY (`replyID`) )
Delcomment er fordi der også bare er mulighed for at fjerne en kommentar, i det tilfælde vil jeg stadig have mulighed for at se den oprindelige tekst, og bliger vil kun se: kommentar slettet af GUD(mig)
Jeg ville selv dele op i to tabeller: en til størgsmål, og en til kommentarene. På den måde kan man hurtigt finde ud af hvor mange kommentare der er til et givet spørgsmål uden at skulle lave rekursive kald.
Det er muligvis mig som er forvirret ... du vise kun tabellen 'reply' så jeg gik mere eller mindre ud fra at alt - spørgsmål og svar - kom i den? Men du harmåske en tabel til spørgsmålene?
Hvorfor ikke undlade at gemme et specifikt id til hvilken tråd det er, og bare gemme hvilken forumtråd kommentaren er til. - og så i stedet bare bruge COUNT(*) i kommentardatabasen hvor den er knyttet til den artikel's id, som man kigger på.
Altså COUNT(*) i artikeldatasen hvor artikelid='$artikelid'.. som jeg ser det, er det topicID
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.