TekniskFeil Skrevet 8. februar 2010 Del Skrevet 8. februar 2010 (endret) Jeg prøver å sette opp et CMS. Jeg har satt opp formen for å skrive til databasen: <?php if(isset($_POST['save'])) { $title = $_POST['title']; $content = $_POST['content']; include "include/config.php"; include "include/opendb.php"; $query = ("INSERT INTO `content`(title, content) VALUES ('$title', '$content')"); mysql_query($query) or die("ERRORLUL"); include "include/closedb.php"; echo "Artikkel $title ble postet."; } ?> denne har jg deretter kjørt inn i dette test opplegget her bare for å teste (dette er ikke code jg har skrevet btw, CMS tutorial) <html> <head> <?php include 'include/config.php'; include 'include/opendb.php'; // if no id is specified, list the available articles if(!isset($_GET['id'])) { $self = $_SERVER['PHP_SELF']; $query = "SELECT id, title, content FROM content ORDER BY id DESC"; $result = mysql_query($query) or die('Error : ' . mysql_error()); // lager artikkelista DO Not WANt :< $contentframe = '<ul>'; while($row = mysql_fetch_array($result, MYSQL_NUM)) { list($id, $title) = $row; $contentframe .= "<li> <a href=\"$self?id=$id\">$title</a> </li>\r\n"; } $contentframe .= '</ul>'; $title = 'Available Articles'; } else { // get the article info from database $query = "SELECT title, content FROM content WHERE id=".$_GET['id']; $result = mysql_query($query) or die('Error : ' . mysql_error()); $row = mysql_fetch_array($result, MYSQL_ASSOC); $title = $row['title']; $content = $row['content']; } ?> <title> <?php echo $title; ?> </title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <table width="600" border="0" align="center" cellpadding="10" cellspacing="1" bgcolor="#336699"> <tr> <td bgcolor="#FFFFFF"> <h1 align="center"><?php echo $title; ?></h1> <?php echo $content; if(isset($_GET['id'])) { ?> <p> </p> <p align="center"><a href="<?php echo $_SERVER['PHP_SELF']; ?>">Article List</a></p> <?php } ?> </td> </tr> </table> </body> </html> som dere ser vil denne lage en liste e.g 1. Testartikkel #1 2. Testartikkel #2 som man kan klikke på for å lese artikkelen. Jeg vil sette opp et "blogsystem" som viser si 255 chars av nyheten som er skrevet og deretter: "Les mer..." Jeg vil også ikke ha en liste men at hver artikkel skal komme som en egen liten box (har designet/kodet disse) dvs: <div class="exmplcontentbox"> <?php $content ?> </div> jeg tenker at dette har med $contentframe = '<ul>'; while($row = mysql_fetch_array($result, MYSQL_NUM)) { list($id, $title) = $row; $contentframe .= "<li> <a href=\"$self?id=$id\">$title</a> </li>\r\n"; } $contentframe .= '</ul>'; å gjøre har prøvd $contentframe .= "<li> <a href=\"$self?id=$id\">$title</a> <p>$content</p> <a href=\"$self?id=$id\">Les mer...</a> </li>\r\n"; Vil ha muligheten til å poste nyheter ala dette Hellfrager Takk for all hjelp, jeg er en nybegynner så beklager om det er noe elementært jeg overser BTW: Jeg bruker ikke tables til layout/design bare så d er klart :PpPpP All kode tatt fra en CMS tutorial. Skjønner ikke enda hvordan dette funker og trenger en referanse for å kode min egen. Endret 8. februar 2010 av TekniskFeil Lenke til kommentar
TekniskFeil Skrevet 8. februar 2010 Forfatter Del Skrevet 8. februar 2010 ingen som har peiling? -___- Lenke til kommentar
TheRealL Skrevet 8. februar 2010 Del Skrevet 8. februar 2010 Mkay det finnes 3 måter og gjøre dette på slik som jeg vet. De pene måtene, og den ikke FULT så pene måten. De 2 pene måtene: Enten: Lag en ektra kolonne i MySQL tabellen din, kall den feks "article_short" og inni den plasserer du et utdrag fra teksten. Det er den måten som flest nyhets sider bruker. Eller: Lag en seperator. Dette gjøres vet at du putter noe i teksten feks "#LESMER#". <?php $tekst = "Hey og velkommen til denne nettsiden. #LESMER# På denne nettsiden blablablablabla."; $split = explode("#LESMER", $tekst); $short = $split[0]; $full = $split[0] . $split[1]; echo "<b>{$short}</b><br />{$full}"; den værste måten derimot...og den er jeg personlig ikke noe fan av i det hele tatt men hvis du skal absolutt ha det slik som du skriver så bruker du substr() $tekst = "Laaaaaaaaaaaaaang tekst her"; echo substr($tekst, 0, 10) . "... <br /> Les mer..."; Håper dette ga deg en idè Lenke til kommentar
TekniskFeil Skrevet 9. februar 2010 Forfatter Del Skrevet 9. februar 2010 (endret) yep, dette hjelper absolutt. Tusen takk for svar, kommer tilbake med feedback når jeg får testet det. Noe du kanskje kan plundre litt på mens jeg tester koden er dette: Som jeg skrev litt om ønsker jeg "contentboxer" rundt 'article_short' ene mine. Hvordan kan jeg fikse dette? -------------- | artikkel1 | | | | | | | | | | | -------------- ----------- | art2 | | | | | | | | | | | ----------- Takk for tips P.S: Ja, disse greiene her skal illustrere contentboxer -____- Endret 9. februar 2010 av TekniskFeil Lenke til kommentar
Sjark Skrevet 9. februar 2010 Del Skrevet 9. februar 2010 $contentframe = '<div id="container">'; while($row = mysql_fetch_array($result, MYSQL_NUM)) { list($id, $title, $content) = $row; $contentframe .= "<div class=\"newsbox\"> <p>$content</p> <a href=\"$self?id=$id\">$title</a> </div>\r\n"; } $contentframe .= '</div>'; Har ikke testet, men tror den skal fungere. Bytt evt ut $content med $shortcontent e.l. alt etter hvilken løsning du velger for å bare viste første 255 chars, så må du bare style newsbox og evt container i CSS'en. Lenke til kommentar
TekniskFeil Skrevet 9. februar 2010 Forfatter Del Skrevet 9. februar 2010 Takker, testes fortløpende, kommer med respons. 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å