Side viser!

Tags:    php

Hej allesammen.

Jeg har et problem med et nyheds system jeg har lavet.

Man kan skrive og det hele. Men jeg ville have lavet sådan at når man har skrevet 10 nyheder så er der 2 sider til dem, altså 5 nyheder pr. side.

Linket til systemet er:

www.specks.dk/avis/nyheder.php

I kan se den viser side 1,2 i drop down'en fordi der er 7 nyhedeer. Men problemet er at den viser alle nyhederne på 1 SIDE. Og den skal dele det op på 2 sider når der er 7 selvfølgelig.

Drop downen ser således ud:
---
<!-- Start på drop down -->

<form action="nyheder.php" method="post">
<hr style="BORDER-RIGHT: #333333 3px dotted; BORDER-TOP: #333333 3px dotted; BORDER-LEFT: #333333 3px dotted; BORDER-BOTTOM: #333333 3px dotted" SIZE="2">
<select name="show">
<option selected> - Side - </option>
<?

$sql = "SELECT id FROM nyheder";
$query = mysql_query($sql);
$num = mysql_num_rows($query);
$average = $num/5;
$pages = ceil($average);
$page_number = 0;
while ($page_number < $pages)
{
$test = $pages-1;
$page_number++;
$show_number = $page_number*5-5;
echo("<option value=\\"".$show_number."\\">".$page_number."</option>");
}

?>
</select>
<input type="submit" value="Vælg">
<?
if (!$show)
{
$show = 0;
}
$sql = "SELECT id FROM nyheder";
$query = mysql_query($sql);
$number = mysql_num_rows($query);
echo("Nyheder ialt: ".$number.".");
?>

<?
$hent_side = mysql_query("SELECT * FROM nyheder");
$antal_sider = mysql_num_rows($hent_side);
echo("Du er på side ".$page_number."");
?><hr style="BORDER-RIGHT: #333333 3px dotted; BORDER-TOP: #333333 3px dotted; BORDER-LEFT: #333333 3px dotted; BORDER-BOTTOM: #333333 3px dotted" SIZE="2">
</form>

<!-- Slut på drop down -->


Jeg kan ikke se NOGEN fejl :S. Jeg har kodet php i snart år nu, og er ikke RET stolt over at jeg ikke kan få sådan et simpel script til at gå op, men HÅBER nogen kan hjælpe =).

200 point, fordi jeg skal bruge det hurtigt ;D.

[Redigeret d. 03/02-05 13:17:26 af Henrik]



3 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 8 karma
Sorter efter stemmer Sorter efter dato
Hej allesammen.

Jeg har et problem med et nyheds system jeg har lavet.

Man kan skrive og det hele. Men jeg ville have lavet sådan at når man har skrevet 10 nyheder så er der 2 sider til dem, altså 5 nyheder pr. side.

Linket til systemet er:

www.specks.dk/avis/nyheder.php

I kan se den viser side 1,2 i drop down'en fordi der er 7 nyhedeer. Men problemet er at den viser alle nyhederne på 1 SIDE. Og den skal dele det op på 2 sider når der er 7 selvfølgelig.

Drop downen ser således ud:
---
<!-- Start på drop down -->

<form action="nyheder.php" method="post">
<hr style="BORDER-RIGHT: #333333 3px dotted; BORDER-TOP: #333333 3px dotted; BORDER-LEFT: #333333 3px dotted; BORDER-BOTTOM: #333333 3px dotted" SIZE="2">
<select name="show">
<option selected> - Side - </option>
<?

$sql = "SELECT id FROM nyheder";
$query = mysql_query($sql);
$num = mysql_num_rows($query);
$average = $num/5;
$pages = ceil($average);
$page_number = 0;
while ($page_number < $pages)
{
$test = $pages-1;
$page_number++;
$show_number = $page_number*5-5;
echo("<option value=\\"".$show_number."\\">".$page_number."</option>");
}

?>
</select>
<input type="submit" value="Vælg">
<?
if (!$show)
{
$show = 0;
}
$sql = "SELECT id FROM nyheder";
$query = mysql_query($sql);
$number = mysql_num_rows($query);
echo("Nyheder ialt: ".$number.".");
?>

<?
$hent_side = mysql_query("SELECT * FROM nyheder");
$antal_sider = mysql_num_rows($hent_side);
echo("Du er på side ".$page_number."");
?><hr style="BORDER-RIGHT: #333333 3px dotted; BORDER-TOP: #333333 3px dotted; BORDER-LEFT: #333333 3px dotted; BORDER-BOTTOM: #333333 3px dotted" SIZE="2">
</form>

<!-- Slut på drop down -->


Jeg kan ikke se NOGEN fejl :S. Jeg har kodet php i snart år nu, og er ikke RET stolt over at jeg ikke kan få sådan et simpel script til at gå op, men HÅBER nogen kan hjælpe =).

200 point, fordi jeg skal bruge det hurtigt ;D.

Hej Henrik

Start med at ændre:

$sql = "SELECT id FROM nyheder";

Til:

$sql = "SELECT id FROM nyheder DESC LIMIT 0,5";

Så burde den hente de fem første, men jeg prøver lige at finde ud af at få den til at vise 6-10 på side 2.

M.v.h. Johnny Rasmussen




Hej Henrik

Start med at ændre:

$sql = "SELECT id FROM nyheder";

Til:

$sql = "SELECT id FROM nyheder DESC LIMIT 0,5";

Så burde den hente de fem første, men jeg prøver lige at finde ud af at få den til at vise 6-10 på side 2.

M.v.h. Johnny Rasmussen


simpelt:

side 1: $sql = "SELECT id FROM nyheder DESC LIMIT 0,5";
side 2: $sql = "SELECT id FROM nyheder DESC LIMIT 5,5";

oversat LIMIT {offset}, {limit}

~ Steffen

Nerd is a word only used by those who cant pronounce Intellectual
----------------------- EOF ----------------------



Hvis det er nødvendigt at lave en anden. Så må i meget gerne vise en anden ;D. Bare den virker.



t