Icenor Skrevet 3. januar 2005 Del Skrevet 3. januar 2005 (endret) Hei Jeg hjelper til på en side som bruker php og SQL databaser. Jeg ønsker å legge til en enkel preview funksjon på legg til nyheter siden. Koden som blir brukt er: if($_POST['add']) { $add_query = "INSERT INTO $tblNews (categorie_ID, title, postdate, posttime, body, link1, link2, username) VALUES ('" . $_POST['categorie_ID'] . "', '" . $_POST['title'] . "', '" . $_POST['postdate'] . "', '" . $_POST['posttime'] . "', '" . $_POST['body'] . "', '" . $_POST['link1'] . "', '" . $_POST['link2'] . "', '" . $_POST['username'] . "')"; $add_result = mysql_query($add_query); echo "The record has been added<br>"; Finnes det en enkel måte å legge til en forhåndsvisning av nyheten, uten å måtte legge til posten i SQL databasen? Jeg er nokså ny på PHP så vær hyggelige Endret 3. januar 2005 av Icenor Lenke til kommentar
Icenor Skrevet 3. januar 2005 Forfatter Del Skrevet 3. januar 2005 (endret) Jeg prøver også å få en liste til å bare vise de 5 siste og det nyeste skal kommer først på denne koden: $sql_query = " SELECT n.news_ID AS n_id, n.title AS n_title, n.postdate AS n_date, n.body AS n_body, n.username AS n_username FROM $tblNews n"; $result = mysql_query($sql_query) or die(mysql_error()); Antar at jeg skal bruke n.news_ID DESC LIMIT 5 , men hvordan skal det skrives i koden? Endret 3. januar 2005 av Icenor Lenke til kommentar
laaknor Skrevet 3. januar 2005 Del Skrevet 3. januar 2005 Du kunne jo lagt det inn i databasen, med en kolonne som heter "previewOnly smallint(1) default 1", som du endrer til 0 når den er "godkjent". Da kjører du selvfølgelig SELECT FROM $tblnews WHERE previewOnly = 0 i selve news-scriptet. Må legge inn noen UPDATE'er og DELETE'r om man gjør noe annet enn å godkjenne, da.... Ellers må du vel kjøre echo $_POST['body']; og så legge inn en <input type='hidden' name='body' value='$_POST['body']> for å sende det videre til neste runde. Lenke til kommentar
Gjest Slettet-df17e Skrevet 3. januar 2005 Del Skrevet 3. januar 2005 Mye bedere og bruke sessions til dette! Jeg syntes det blir litt tungvindt og lagre forhåndsviste ting i en database. Lenke til kommentar
kakkle Skrevet 3. januar 2005 Del Skrevet 3. januar 2005 Er det ikke en grei løsning med preview som de gjør på denne forum siden når du skal previewe et innlegg, at previewen kommer over formen, slik at når du trykker preview knapp, så sendes dataen til samme side som formen, og tester om request method er post, også viser det som er postet. Spm2: $sql_query = " SELECT n.news_ID AS n_id, n.title AS n_title, n.postdate AS n_date, n.body AS n_body, n.username AS n_username FROM $tblNews n ORDER BY n.news_ID DESC LIMIT 5"; bli vel riktig ? Lenke til kommentar
???????? Skrevet 3. januar 2005 Del Skrevet 3. januar 2005 Det er ikke en god idé å lagre forhåndsvisningen i en database. Da må det slettes igjen om det ikke er korrekt, eller så må man oppdatere for å godkjenne. Sessions vil også medføre mye ekstra jobb. Da må det lagres i en session og så hentes igjen. Når man programmerer er det viktig at man skriver så raske løsninger som mulig. Lag preview side og sett inn $_POST['felt'] der innholdet skal være. Så der du vil ha "lagre" knappen så setter du inn et skjema som oppretter hidden felter med all POST verdiene. F.eks. slik: echo "<form ...>"; foreach($_POST as $var => $value) { echo "<input name=\"$var\" type=\"hidden\" value=\"$value\">"; } echo "</form>"; For å hente de 5 siste innleggene så kan du f.eks. bruke denne: SELECT * FROM databasenavn ORDER BY id DESC Bytt ut databasenavn og navnet på id feltet. Lenke til kommentar
kakkle Skrevet 3. januar 2005 Del Skrevet 3. januar 2005 For å hente de 5 siste innleggene så kan du f.eks. bruke denne:SELECT * FROM databasenavn ORDER BY id DESC Bytt ut databasenavn og navnet på id feltet. evt: SELECT * FROM databasenavn ORDER BY id DESC LIMIT 5 ? Lenke til kommentar
Icenor Skrevet 3. januar 2005 Forfatter Del Skrevet 3. januar 2005 Takker for hjelpen Lenke til kommentar
???????? Skrevet 3. januar 2005 Del Skrevet 3. januar 2005 Hehe... glemte å skrive det. Dersom det er en mindre database blir det mer jobb for MySQL å begrense (limit) rader i forhold til å hente ut hele databasen. Ved å bruke LIMIT så slipper du å tenke på det senere, i tillegg til at du slipper litt koding i PHP. Bruk det hvis det blir en del rader med tiden! 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å