TroOmbMedlem sedan dec. 200215 inlägg Hej,
jag vill att den bara ska läsa dom 10 första raderna i tabellen. Hur ställer man in det?
<?
include "top.php";
?>
<?
// Börja med att surfa till skapa.php för att skapa tabellen i din MySQL-databas.
// Testa scriptet.
// Ändra designen i filerna top.php och ner.php.
require ("./installningar.php");
?>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="300" STYLE="BORDER: #000000 1PX SOLID;">
<?
if(isset($namn)){
$link = mysql_connect("$server","$db","$losen");
$sequel = "insert into sb(namn,inlagg,datum) values ('$namn','$inlagg',now())";
mysql_db_query("clanrrf","$sequel");
mysql_close($link);
}
$dblink = mysql_connect("$server","$db","$losen");
$sql="select * from sb ORDER BY datum DESC";
$result = mysql_db_query("clanrrf","$sql");
while($row = mysql_fetch_array($result)){
?>
<TR>
<TD BGCOLOR="<?=$farg?>" WIDTH="100%" VALIGN="top"><FONT FACE="Verdana" SIZE="1"><B><?=$row['namn']?>:</B> <?=$row['inlagg']?></FONT></TD>
</TR>
</TABLE><BR>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="300" STYLE="BORDER: #000000 1PX SOLID;">
<?
}
mysql_close($dblink);
?>
</TABLE>
<FORM METHOD="POST" ACTION="sb.php"><BR>
<TABLE BORDER="0" WIDTH="300">
<TR><TD><FONT FACE="Verdana" SIZE="1">Namn:</FONT></TD><TD><INPUT TYPE="TEXT" NAME="namn"></TD></TR>
<TR><TD><FONT FACE="Verdana" SIZE="1">Inlägg:</FONT></TD><TD>
<TEXTAREA NAME="inlagg" ROWS="5" COLS="30"></TEXTAREA></TD></TR>
<TR><TD> </TD><TD><INPUT TYPE="submit" VALUE="Skicka"></TD></TR>
</TABLE></FORM>
<?
include "ner.php";
?>
ViktorMedlem sedan aug. 20021 752 inlägg De 10 första raderna från sb??
Iställer för en while loop som du har du så skriver du en for loop,
for($i=0; $i<10; $i++)
{
$row = mysql_fetch_array($result));
}
/Viktor
MatteMedlem sedan aug. 20002 975 inlägg Eller så hämtar du bara 10 rader från databasen:
$sql="select * from sb ORDER BY datum DESC LIMIT 0,10";
TroOmbMedlem sedan dec. 200215 inlägg Tackar... Funkade utmärkt.. Men hur sätter jag en cookie så man inte behöver skriva in namnet hela tiden?
MatteMedlem sedan aug. 20002 975 inlägg Nu har jag knappt aldrig arbetat med cookies (använder sessioner istället), men du kan ju prova det här:
<?php
// Börja med att surfa till skapa.php för att skapa tabellen i din MySQL-databas.
// Testa scriptet.
// Ändra designen i filerna top.php och ner.php.
/*
Det får inte finnas någon output i filen installningar.php för
att man ska kunna sätta en cookie.
Inget mellanslag, tomrad eller radbyte före eller efter php-taggarna.
Sätt markören vid den avslutande php-taggen och tryck
upprepade gånger på delete så du är säker på där inte finns något.
*/
require ("./installningar.php");
if (!isset($_COOKIE['name'])){
setcookie("name", "");
}
$link = mysql_connect("$server","$db","$losen");
mysql_select_db("clanrrf", $link);
if (isset($namn)){
setcookie("name", $namn);
$sequel = "insert into sb(namn,inlagg,datum) values ('$namn','$inlagg',now())";
mysql_query($sequel);
}
include "top.php";
?>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="300"
STYLE="BORDER: #000000 1PX SOLID;">
<?
$sql="select * from sb ORDER BY datum DESC LIMIT 0,3";
// Ändra 3:an mot en annan sifra (alltså så många meddelanden som ska visas)
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)){
?>
<TR>
<TD BGCOLOR="<?=$farg?>" WIDTH="100%" VALIGN="top">
<FONT FACE="Verdana" SIZE="1"><B><?=$row['namn']?>:</B> <?=$row['inlagg']?></FONT></TD>
</TR>
</TABLE><BR>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="300"
STYLE="BORDER: #000000 1PX SOLID;">
<?
}
?>
</TABLE>
<FORM METHOD="POST" ACTION="sb.php"><BR>
<TABLE BORDER="0" WIDTH="300">
<TR><TD><FONT FACE="Verdana" SIZE="1">Namn:</FONT></TD><TD>
<INPUT TYPE="TEXT" NAME="namn" value="<?=$_COOKIE['name'] ?>"></TD></TR>
<TR><TD><FONT FACE="Verdana" SIZE="1">Inlägg:</FONT></TD><TD>
<TEXTAREA NAME="inlagg" ROWS="5" COLS="30"></TEXTAREA></TD></TR>
<TR><TD> </TD><TD><INPUT TYPE="submit" VALUE="Skicka"></TD></TR>
</TABLE></FORM>
<?
include "ner.php";
?>
Jag vill betona att det är väldigt viktigt att du inte har någon output till webbläsaren före setcookie(). Output är HTML-kod, echo, print. Det är även tomrader, mellanslag och radbyten utanför php-taggarna.
Detta gäller även för inkluderade filer.
Och så ett litet citat från manualen angående mysql_db_query:
This function has been deprecated since PHP 4.0.6. Do not use this function. Use mysql_select_db() and mysql_query() instead.
TroOmbMedlem sedan dec. 200215 inlägg Tackar! Funkade utmärkt.. Tack ännu en gång.