nree Skrevet 29. mars 2008 Del Skrevet 29. mars 2008 (endret) Har laget et forum basert på mysql, forumet består av 3 tabeller i databasen. kategorier emner innlegg I kategorier ligger det hovedkategorier og underkategorier (underkategoriene har "uid" satt til hovedkategoriens id) I emner ligger første innlegg i alle emner, tittel, brukerid, kategori id osv. I innlegg ligger alle innleggene som blir skrevet i et emne, sammen med id til emnet. Jeg lurer på hvordan jeg skal lage en søkemotor til forumet, slik at man kan søke i hele forumet eller bare deler av forumet. Jeg lurer også på hvordan jeg kan få til noe lignende "Mine innlegg", hvor brukere kan se de emnene de har svart i og siste oppdaterte emne (nye innlegg osv) blir sortert øverst. Jeg har lagt til "stimestamp" (siste) slik at når man skriver innlegg, blir stimestamp oppdatert for å kunne sortere emnene etter siste innlegg i kategoriene. For å se forumet (krever registrering) kan man gå inn på www.nordsialan.net Takk for at du tok deg tid til å lese dette Endret 30. mars 2008 av Goggen90 Lenke til kommentar
Danny92 Skrevet 29. mars 2008 Del Skrevet 29. mars 2008 (endret) Bumper jeg... Jeg driver med forum jeg og, mangler søke og mine innlegg funksjonen.. Endret 29. mars 2008 av dannyboy_1992_ Lenke til kommentar
nree Skrevet 30. mars 2008 Forfatter Del Skrevet 30. mars 2008 Bumper tråden, håper fremdeles noen kreative personer har et forslag Lenke til kommentar
Wackamole Skrevet 30. mars 2008 Del Skrevet 30. mars 2008 (endret) eksempel-Søk: <?php $raw_query = $_GET['search']; //raw input fra bruker $safe_query = stripslashes($raw_query); //Tar bort alle slashes (/) $safe_query_tags = strip_tags($safe_query); //tar bort html php etc. tagger if($raw_query == ''){ echo "Du må søke på noe for og få et resultat"; } else { $query = $safe_query_tags; //for og gjøre det enklere include_once("db_connect.php"); //database-tilkobling $sql = mysql_query("SELECT * FROM nyheter WHERE overskrift LIKE '%$query%'"); //sql-query $count = mysql_num_rows($sql); echo "Det fantes $count treff på søkeordet: <b>$query</b><br><br>"; while($row = mysql_fetch_array($sql)){ $tittel = $row['overskrift']; echo "<a href='din-sti-til-visning'>$tittel</a>"; } } ?> søke-felt: <form action='søke-script' method='get'> Skriv her hva du vil søke etter:<br> <input type='text' name='query'><br> <input type='submit'> </form> utestet, men burde fungere EDIT: Liten feil, men er rettet nå Endret 30. mars 2008 av Famen Lenke til kommentar
Garanti Skrevet 30. mars 2008 Del Skrevet 30. mars 2008 Mine innlegg: $userid = Brukerens id mysql_query("SELECT * FROM innlegg WHERE 'id' = $userid ORDER BY `timestamp` DESC) Tror dette skal virke Lenke til kommentar
Martin A. Skrevet 31. mars 2008 Del Skrevet 31. mars 2008 Nå antageligvis joine både emner og kategorier for å få frem navnet på tråden, og navnet på kategorien. SELECT * (Seriøst, spesifiser det du trenger) FROM innlegg i LEFT JOIN emner e ON (i.topic_id=e.tid) LEFT JOIN kategori k ON (k.cat_id=e.category_id) WHERE i.author_id = {$id} AND `date` > {$somesortofthing} Lenke til kommentar
Danny92 Skrevet 31. mars 2008 Del Skrevet 31. mars 2008 Dette skal jeg se på når jeg kommer hjem Lenke til kommentar
nree Skrevet 31. mars 2008 Forfatter Del Skrevet 31. mars 2008 Takk for alle svar I mine innlegg vil man helst ha emnene og ikke selve innleggene, slik som her.. På søkingen leter jeg etter noe mer "avansert" som søker i både innlegg og emner og legger de innleggene som søket passer til under hvert emne nedover. (kan spesifisere mer om ønskelig.) Lenke til kommentar
Martin A. Skrevet 31. mars 2008 Del Skrevet 31. mars 2008 Om du vil ha slik det er her, trenger du kun en liten GROUP BY SELECT * (Seriøst, spesifiser det du trenger) FROM innlegg i LEFT JOIN emner e ON (i.topic_id=e.tid) LEFT JOIN kategori k ON (k.cat_id=e.category_id) WHERE i.author_id = {$id} AND `date` > {$somesortofthing} GROUP BY e.tid ORDER BY date DESC; Lenke til kommentar
nree Skrevet 31. mars 2008 Forfatter Del Skrevet 31. mars 2008 (endret) Åj, avansert spørring Kan du gi meg eksempel på hvordan en slik printes ut? Edit: Glemte et vesentlig tegn.. Endret 31. mars 2008 av Goggen90 Lenke til kommentar
Martin A. Skrevet 31. mars 2008 Del Skrevet 31. mars 2008 while( $row = mysql_fetch_assoc( $res ) ) { echo "<tr><td>{$row['trådtittel']}</td><td>{$row['username']}</td><td>{$row['forumnavn']}</td></tr>"; } "Username" må du finne ut ved å joine tabellen du har brukerne dine. LEFT JOIN brukere b ON (e.starter_id=b.uid) Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå