Avatar billede stengaard Praktikant
01. april 2007 - 20:41 Der er 14 kommentarer og
1 løsning

lav vis 5 næste

mit script ser således ud og jeg ville meget gerne have den mulighed for at den kun viser 5 afgange hvor man skal klikke på næste for at der kommer 5 mere eller tilbage for at vise de forgående 5

<?php
               
               
include('access.php');
$query = mysql_query("SELECT id,title,text,image FROM aktiviteter ORDER BY id") or die(mysql_error());
while ($row = mysql_fetch_assoc($query)) {
    if ($i++ != 0) echo '<div class="hr"></div>';
    echo '<b><center><a href="popup.php?id='.$row['id'].'">'.$row['title'].'</b><br>';
    echo '('.$row['text'].')</a></center><br>';
}
?>

men er lidt på bar bund min access.php ser således ud

<?php
/* Indstillinger : database */
$cfg['mysql']['host'] = 'localhost'; // Host til database
$cfg['mysql']['username'] = 'fritids_mageren'; // Brugernavn til database
$cfg['mysql']['password'] = 'cSBW3wXz'; // Kodeord til database
$cfg['mysql']['database'] = 'fritids_mageren'; // Database

/* Indstillinger : side */
$cfg['limit'] = 10; // Antal resultater pr. side.
$cfg['pages_each_way'] = 7; // Sider der peger hver vej

/* Redigering ikke nødvendig herunder */
mysql_connect($cfg['mysql']['host'],$cfg['mysql']['username'],$cfg['mysql']['password']);
mysql_select_db($cfg['mysql']['database']);

$total = mysql_result(mysql_query("SELECT COUNT(*) FROM aktiviteter "),0);
$offset = isset($_GET['offset']) ? $_GET['offset'] : 0;
$start_point = ($offset-($cfg['pages_each_way']*$cfg['limit']) < 0) ? 0 : $offset-($cfg['pages_each_way']*$cfg['limit']);
$end_point = ($offset+($cfg['pages_each_way']*$cfg['limit']) > $total) ? $total : $offset+($cfg['pages_each_way']*$cfg['limit']);
$page_number = ($start_point/$cfg['limit'])+1;
?>
Avatar billede jakobdo Ekspert
01. april 2007 - 22:00 #1
Du skal rette:
$query = mysql_query("SELECT id,title,text,image FROM aktiviteter ORDER BY id") or die(mysql_error());
til:

$query = mysql_query("SELECT id,title,text,image FROM aktiviteter ORDER BY id LIMIT $offset, $cfg[]'limit'") or die(mysql_error());
Avatar billede intenz Novice
02. april 2007 - 11:13 #2
Du mener selvfølgelig:
$query = mysql_query("SELECT id,title,text,image FROM aktiviteter ORDER BY id LIMIT $offset, $cfg['limit']") or die(mysql_error());

:)
Avatar billede jakobdo Ekspert
02. april 2007 - 11:31 #3
Ja, self.. :o)
Avatar billede stengaard Praktikant
09. april 2007 - 21:54 #4
mmm det virker ikke helt men scriptet ser således ud

<?php

include("access.php");

$offset = (isset($_GET['offset']))?mysql_real_escape_string($_GET['offset']):0;

//Pr side...
$range = 5;

$antal = mysql_result(mysql_query("SELECT count(id) FROM aktiviteter"),0);
$query = mysql_query("SELECT id,title,text,image FROM aktiviteter ORDER BY id LIMIT $offset, $cfg['limit']") or die(mysql_error());
$strNumber = 0;
while($row = mysql_fetch_array($sql))
{
    $strNumber = $strNumber+1;
      echo "<table width=50% align=center class=h4>\n";
    echo "<tr><td colspan=2 class=h2><br><b>";
    if(!empty($row[image]))
        echo "<img src=\"file/$row[image]\" class=\"image\">";
    echo "</b></td></tr>\n";
    echo "<tr><td colspan=2 class=h2><br><b>$row[title]</b></td></tr>\n";
    echo "<tr><td colspan=2 class=h4_brown><br><b>Information</b></td></tr>\n";
    echo "<tr><td colspan=2 class=h4>". nl2br($row[text]) ."</td></tr>\n";
    echo "</form>\n";
    echo '<br><br>';
}

if($offset >= $range)
{
    $prev = $offset - $range;
    echo "<a href=\"?offset=".$prev."\">Forrige</a> | ";
}
else
{
    echo 'Forrige | ';
}

if ($antal > $offset+$range)
{
    $next = $offset+$range;
    echo "<a href=\"?offset=".$next."\">Næste</a> ";
}
else
{
    echo 'Næste ';
}
?>
Avatar billede jakobdo Ekspert
09. april 2007 - 22:03 #5
Hvad gør dit script forkert?
Avatar billede stengaard Praktikant
09. april 2007 - 22:08 #6
der er bare en hvis skerm ingen ting
Avatar billede stengaard Praktikant
09. april 2007 - 22:42 #7
mmm har prøvet denne her men nu kan man ikke bruge linksene Næste og Forrige

<?php
include('config.php');
$query = mysql_query("SELECT id,title,text,image FROM aktiviteter ORDER BY id DESC LIMIT $offset,$range") or die(mysql_error());
if (mysql_num_rows($query) == 0) {
    echo 'Der er ingen Aktiviteter / Kursus(er)!<br>';
} else {
    echo '<table width="100%" id="list"><tr>';
    echo '<th width="100%">Overskrift</th>';
    echo '</tr>';
    while($row = mysql_fetch_assoc($query)) {
        echo '<tr>';
        echo "<td width='100%'><a href='popup.php?id=$row[id]'>$row[title]</a></td>";
        echo '<td>'.mysql_result(mysql_query("SELECT COUNT(*) FROM aktiviteter WHERE parent=$row[id]"),0).'</td>';
        echo '</tr>';
    }
    echo '</table>';
}
echo '<br>';

$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM aktiviteter WHERE parent=$row[id]"),0);
if ($offset >= $range) {
    $forrige = $offset-$range;
    echo "<a href='?offset=$forrige'>Forrige</a> | ";
} else {
    echo 'Forrige | ';
}
if ($antal > $offset+$range) {
    $naeste = $offset+$range;
    echo "<a href='?offset=$naeste'>Næste</a> ";
} else {
    echo 'Næste ';
}
?>

og har lavet min config.php om til

<?php
/* indstillinger : database */
$mysql['host'] = 'localhost'; // Host til database
$mysql['username'] = 'database'; // Brugernavn til database
$mysql['password'] = 'kode'; // Kodeord til database
$mysql['database'] = 'database'; // Database

/* indstillinger : side */
$range = 2; // Antal resultater pr. side

/* redigering ikke nødvendig herunder */
$offset = isset($_GET['offset']) ? $_GET['offset'] : 0;

mysql_connect($mysql['host'],$mysql['username'],$mysql['password']);
mysql_select_db($mysql['database']);
?>
Avatar billede stengaard Praktikant
09. april 2007 - 22:43 #8
min table ser således ud

CREATE TABLE `aktiviteter` (
  id int(11) NOT NULL auto_increment,
  title varchar(100) NOT NULL default '',
  text text NOT NULL,
  image varchar(100) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM;
Avatar billede jakobdo Ekspert
10. april 2007 - 08:13 #9
Har du et link til siden?
Avatar billede stengaard Praktikant
11. april 2007 - 15:35 #10
ja da http://www.fritids-mageren.dk/aktiviteter/aktiviteter.php mit problem er i højre side har sat til at skulle bruge næste knappen efter to opload der er tre
Avatar billede jakobdo Ekspert
11. april 2007 - 16:18 #11
Fang mig lige på msn: jakobdo (at) hotmail [dot] com
Avatar billede stengaard Praktikant
11. april 2007 - 16:58 #12
dette blev den virkende funktion lavet af jakobdo

<?php
http://www.eksperten.dk/spm/771176
include('config.php');
$query = mysql_query("SELECT id,title,text,image FROM aktiviteter ORDER BY id ASC LIMIT $offset,$range") or die(mysql_error());
if (mysql_num_rows($query) == 0)
{
    echo 'Der er ingen Aktiviteter / Kursus(er)!<br>';
}
else
{
    echo '<table width="100%" id="list"><tr>';
    echo '<th width="100%">Overskrift</th>';
    echo '</tr>';
    while($row = mysql_fetch_assoc($query)) {
        echo '<tr>';
        echo "<td width='100%'><a href='popup.php?id=$row[id]'>$row[title]</a></td>";
        echo '<td>'.mysql_result(mysql_query("SELECT COUNT(*) FROM aktiviteter WHERE parent=$row[id]"),0).'</td>';
        echo '</tr>';
    }
    echo '</table>';
}
echo '<br>';

$antal = mysql_result(mysql_query("SELECT COUNT(id) FROM aktiviteter"),0);
if ($offset >= $range) {
    $forrige = $offset-$range;
    echo "<a href='?offset=$forrige'>Forrige</a> | ";
} else {
    echo 'Forrige | ';
}
if ($antal > $offset+$range) {
    $naeste = $offset+$range;
    echo "<a href='?offset=$naeste'>Næste</a> ";
} else {
    echo 'Næste ';
}
?>
Avatar billede jakobdo Ekspert
11. april 2007 - 17:00 #13
Du får lige et svar!
Avatar billede jakobdo Ekspert
11. april 2007 - 17:05 #14
Og et svar igen!
Avatar billede jakobdo Ekspert
11. april 2007 - 18:57 #15
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester