hjälp med ett nyhetscript

Databaser & SQL

2 svar · 233 visningar · startad av mr.mainline

Medlem sedan feb. 2003777 inlägg
Trådstart#1

Jag skulle vilja använda mig av access istället för mysql som scriptet är uppbyggt på,var gör jag ändringarna?

config.php

<?
$db_serv = "localhost";
$db_user = "användare";
$db_pass = "pass";
$db_bas = "databas";
?>

admin_nyhet.php

<?php
include('config.php');
$db = mysql_connect($db_serv,$db_user, $db_pass) or exit(mysql_error());
mysql_select_db($db_bas);
?>
<html>
<title>Lägg till nyheter</title>
<form action="laggtill_nyhet.php" method="POST">
Titel: <input type="text" name="title"><br>
Dagens datum: <input type="text" value="<?php echo date("Y-m-d H:i"); ?>" name="date"><br>
Skrivet av: <input type="text" name="av"><br>
Nyhet:<br>
<textarea name="text" rows="15" cols="115"></textarea><br>
<br>
<input type="submit" name="submit" value="Lägg till!">
</form>

laggtill_nyhet.php

<?php
include ("include.php");

if (isset($_POST['submit'])) {

if(empty($_POST['titel']))
$titel = "Inte ifyllt!";
if(empty($_POST['date']))
$date = "Inte ifyllt!";
if(empty($_POST['text']))
$text = "Inte i fyllt!";
$titel = $_POST['titel'];
$date = $_POST['date'];
$text = $_POST['text'];
$av = $_POST['av'];
}

$add = "INSERT INTO nyheter (titel, date, text, av) VALUES ('$titel', '$date', '$text', '$av')";
mysql_query($add) or die(mysql_error());
?>
<html>
<title>Nyheten är updeaterad!</title>
Nyheterna är uppdaterade! <A HREF="index.php?s=start">Tillbaka</A>.
</html>

index.php

<?php
include ("include.php");
?>
<?php $res = mysql_query("SELECT * FROM nyheter ORDER BY date DESC LIMIT 8");
while($row = mysql_fetch_array($res)) { ?>
<font color="#000000" size="+1" face="Verdana, Arial, Helvetica, sans-serif">
<b><font color="#000000" size="+1">
<?=$row['titel']; ?>
</font></b></font> - <font color="#000000">
<?=$row['date']; ?> - Skrivet av: <?=$row['av']; ?>
</font> <font color="#000000"> <br>
<?=$row['text']; ?>
</font> <br>
<br>
<br>
<hr color="#FFFF66">
<?php } ?>

include.php

<?php
$lnk = mysql_connect('localhost', 'user', 'pass')
or die('Not connected : ' . mysql_error());
mysql_select_db('databas', $lnk) or die ('Can't use DB : ' . mysql_error());
?>

--------------------------------------------------------------------------------

Medlem sedan juni 200032 967 inlägg
#2

*) Byt namn på fälten date och text, de är reserverade ord.

*) Istället för LIMIT använder du SELECT TOP 8 * FROM...

*) Om ditt datumfält är av typen datum borde du byta apostroferna runt det värdet mot brädgårdar.

Medlem sedan dec. 20003 887 inlägg
#3

@nders skrev:

*) Om ditt datumfält är av typen datum borde du byta apostroferna runt det värdet mot brädgårdar.

Det gäller förvisso endast om din Accessdatabas är av äldre format än 2000. Från 2000 och uppåt kan man ha apostrof eller brädgård. Som herr @nders föreslår jag dock samma: använd brädgård istället.

260 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)