*) 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.
Databaser & SQLur Databashanterare & SQL
2 svar · 216 visningar · startad av mr.mainline
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());
?>
--------------------------------------------------------------------------------
*) 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.
@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.