Avatar billede qub- Novice
26. maj 2003 - 14:04 Der er 8 kommentarer og
1 løsning

20 næste - virker ikke med "section"

Hej eksperter!

Jeg har her på eksperten fået hjælp til og lave en 20 næste funktion..

Men, det er sådan at jeg fik lukket spørgsmålet for tidligt!

På min hjemme side har jeg nemlig under news flere sektioner.. WC3, CS og en SPORTS sektion!

Men hvis jeg går ind under fx min WC3 eller sports tunering og bruger "20 næste" så skifter den til de 20 næste CS nyheder.. <--> og det skal den jo ikke :P

lidt kode:

<?
if($group) {

    $q = mysql_query("SELECT * FROM ps_nyheder WHERE nGroup='$group' AND section = '$sec' ORDER BY id desc LIMIT $start, $per_side");
    while($pg = mysql_fetch_array($q)) {
    if($Mg[id] == $pg[id]) { } else {
?>
    <DIV class=subheader><b><a href='comments.php?type=1&nid=<?=$pg["id"]?>'><font color="black"><u><?=$pg["headline"]?></u></font></a></b>

<?
if($psklub_userid == $pg["wid"] || $psklub_user_access == "1") {
?>&nbsp;&nbsp;&nbsp;[<a href="news.edit.php?nid=<?=$pg["id"]?>">Edit</a>] - [<a href="news.delete.php?nid=<?=$pg["id"]?>">Delete</a>]
<? } ?>
<br><font color="#606060"><? print(date("d.m.Y @ H:i", $pg["date"])); ?></font> | <a href="user.php?uid=<?=$pg["wid"]?>"><? $author = writer($pg["wid"]); print("$author"); ?></a> | <a href="comments.php?type=1&nid=<?=$pg["id"]?>"><? print(comments($pg["id"],'1')); ?></a> </div><table width="100%"><tr><td><div class=newstext><? print(nl2br($pg["content_intro"])); ?></div></td><td width='60'><a href="comments.php?type=1&nid=<?=$pg["id"]?>"><img src="<?=$pg["pic1"];?>" border="0" width="60" height="60" style="border: 1px solid #000000"></a></td></tr></table>
    <table width="100%"><tr><td background="images/indexdivider.gif" height="4"></td></tr></table><? } ?>

<? } } if(!$group) {
    $q = mysql_query("SELECT * FROM ps_nyheder WHERE section = '$sec' ORDER BY id desc LIMIT $start, $per_side");
    while($pg = mysql_fetch_array($q)) {
        if($Mg[id] == $pg[id]) { } else {
?>
    <DIV class=subheader><b><a href='comments.php?type=1&nid=<?=$pg["id"]?>'><font color="black"><u><?=$pg["headline"]?></u></font></a></b>

<?
if($psklub_userid == $pg["wid"] || $psklub_user_access == "1") {
?>&nbsp;&nbsp;&nbsp;[<a href="news.edit.php?nid=<?=$pg["id"]?>">Edit</a>] - [<a href="news.delete.php?nid=<?=$pg["id"]?>">Delete</a>]
<? } ?>
<br><font color="#606060"><? print(date("d.m.Y @ H:i", $pg["date"])); ?></font> | <a href="user.php?uid=<?=$pg["wid"]?>"><? $author = writer($pg["wid"]); print("$author"); ?></a> | <a href="comments.php?type=1&nid=<?=$pg["id"]?>"><? print(comments($pg["id"],'1')); ?></a> </div><table width="100%"><tr><td><div class=newstext><? print(nl2br($pg["content_intro"])); ?></div></td><td width='60'><a href="comments.php?type=1&nid=<?=$pg["id"]?>"><img src="<?=$pg["pic1"];?>" border="0" width="60" height="60" style="border: 1px solid #000000"></a></td></tr></table>

<table width="100%"><tr><td background="images/indexdivider.gif" height="4"></td></tr></table>
<?
    }
  }
}
?> 
    <DIV align="right" class=subheader><font color="#606060" size="2">[&nbsp;<?
$per_side = 20;

if(isset($_GET['s'])) $start = $_GET['s'];
else $start = 0;

$query = mysql_query("SELECT count(*) FROM ps_nyheder")or die(mysql_error());
$data = mysql_fetch_row($query);
$num_rows = $data[0];
$page_name = basename($_SERVER['PHP_SELF']);

if(isset($_GET['s'])){
  if($_GET['s'] <= $per_side){
    echo "<a href=\"$page_name\">Previous</a>";
  }
  else{
    $prev = $start - $per_side;
    echo "<a href=\"$page_name?s=$prev\">Previous</a>";
  }
  if($num_rows - $start > $per_side){
    echo " - ";
  }
}

if($num_rows - $start > $per_side){
  $next = $start + $per_side;
  echo "<a href=\"$page_name?s=$next\">Next</a>";
}
?>


<-- Min news.php

Hvis i skal bruge mere kode så skriv endelig :=)
Avatar billede ahv Nybegynder
26. maj 2003 - 14:07 #1
echo "<a href=\"$page_name?s=$prev?sec=$sec\">Previous</a>";
  }
  if($num_rows - $start > $per_side){
    echo " - ";
  }
}

if($num_rows - $start > $per_side){
  $next = $start + $per_side;
  echo "<a href=\"$page_name?s=$next?sec=$sec\">Next</a>";
Avatar billede ahv Nybegynder
26. maj 2003 - 14:08 #2
Du skal jo huske at overfører sektionsnavnet når du skifter side.
Avatar billede qub- Novice
26. maj 2003 - 14:17 #3
hmm.. kan du gi et eksempel eller noget :)
Avatar billede qub- Novice
26. maj 2003 - 14:22 #4
hm det virker ikke.. I fx sport.. så skriver den:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/local/psa/home/vhosts/psklub.dk/httpdocs/news.php on line 101
Avatar billede qub- Novice
26. maj 2003 - 14:48 #5
Det virker altså ikke.. Og der er jo også group med :)
Avatar billede ahv Nybegynder
26. maj 2003 - 15:03 #6
hov:

echo "<a href=\"$page_name?s=$prev&sec=$sec\">Previous</a>";
  }
  if($num_rows - $start > $per_side){
    echo " - ";
  }
}

if($num_rows - $start > $per_side){
  $next = $start + $per_side;
  echo "<a href=\"$page_name?s=$next&sec=$sec\">Next</a>";
Avatar billede jakoba Nybegynder
26. maj 2003 - 16:00 #7
for at have samme "20 per side" script flere gange på een side bør du give hver version forskellige variable der kun gælder for den instans af scriptet

CS bruger $start og $per_side
links er:  <a href="deeneside.php$start=<? echo ($start+20); ?>">neste 20</a>

sport bruger $start_sport og $per_side_sport
links er:  <a href="deeneside.php$start=<? echo ($start_sport+20); ?>">neste 20</a>

... osv
Avatar billede qub- Novice
26. maj 2003 - 18:34 #8
hmm.. ahv!

Det virker sådan nogenlunde.. Men den stopper ikke når der ikke er flere nyheder??

Men kan man ikke få den til det? :)
Avatar billede qub- Novice
30. maj 2003 - 15:48 #9
hmm..
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