Avatar billede sj.netomia Nybegynder
30. oktober 2003 - 20:29 Der er 32 kommentarer og
1 løsning

frem / tilbage virker ikke

Hej eksperter, jeg har et problem vdr en billede side jeg er ved at lave.

Mit problem er at hvis jeg trykker på en thumbnail af et billede lad og sige billede 11 så viser den billede 1 uanset hvad jeg gør.

Jeg har så prøvet at indsætte where id='$id' i SQL sætningen. Og så virker det også fint, problemet er bare at så kan jeg ikke trykke på næste og tilbage knapperne uden at den bare loader en blank side. :(

testen ligger på http://petrasudden.servehttp.com/jeppe2_test/index3.php

Her er scriptet.

index3.php
_________________

<?
require ('db_func.php');
include ('log.php');
?>
<html>
<title> Billeder til Jeppe i London</title>
<BODY TOPMARGIN="10" BGColor="white" text="black" link="black" alink="black" vlink="black">
<div align="right"><font size="2"><a href="admin/index.php">Admin</a></font></div>
<center><font size="4" face="verdana" color="black"><img src="img/logo.jpg"></font></center>
</html>
<?
if (($vis == "") && ($vis_album != "")) {
print ("<br><center><font size=\"2\" face=\"verdana\" color=\"black\">Klik på billederne for at se dem i større format.</font></center>");
$sql="SELECT * FROM billeder where begivenhed='$dato' order by navn";
$res = mysql_db_query("jeppe",$sql);
$number = mysql_num_rows($res);
print ("<center><br><b>Der er $number billeder på siden</b></center><br><br><div align=\"center\"><table align=\"center\"><table width=\"430\">");
for ($n = 0; $n < mysql_numrows($res); $n++ ) {  $post = mysql_fetch_array($res);
if (!$number) {printf ("fejl i databasen");}
if (!$tr) {
                print "<tr>";
        }
        $tr++;


echo "<a href=\"$PHP_SELF?id=$post[id]&vis=billede&dato=$dato\"><img src=\"billeder/$post[navn]\" width=100 height=100 border=\"0\"></a>&nbsp;";
if ($tr == 4) {
        $tr = "";
        print "</tr>";
    }
}
}

elseif ($vis == "billede") {
    $pr_side = 1; // Antal poster pr. side
if (isset($_GET['s'])) {
    $s = $_GET['s'];
} else {
    $s = 0;
}
$query = mysql_query("select * from billeder where id='$id' order by navn limit $s,$pr_side") or die(mysql_error());
while($post = mysql_fetch_array($query)){
    print ("<br><br><center><img src=\"billeder/$post[navn]\"></center>");
}

$g_total = mysql_query("select count(id) as total from billeder where begivenhed='$dato'") or die(mysql_error());
$total = mysql_result($g_total,0);
if ($s >= $pr_side) {
    $previous_s = $s-$pr_side;
    echo "<a href='?s=$previous_s&vis=billede&id=$id&dato=$dato'><center>Forrige</center></a> ";
}
if ($total > $s+$pr_side) {
    $next_s = $s+$pr_side;
    echo "<a href='?s=$next_s&vis=billede&id=$id&dato=$dato'><center>Næste</center></a>";
}
}
else {
$sql = "SELECT * FROM billeder GROUP BY begivenhed ORDER BY navn";
$res = mysql_db_query("jeppe",$sql);
$number = mysql_num_rows($res);
print ("<br><br><div align=\"center\"><table align=\"center\"><table width=\"100\">");
for ($n = 0; $n < mysql_numrows($res); $n++ ) {    $post = mysql_fetch_array($res);
$fest_id = $post[begivenhed];
if (!$number) {printf ("fejl i databasen");}
if (!$tr) {
                print "<tr>";
        }
        $tr++;


echo "<a href=\"$PHP_SELF?vis_album=on&vis=&dato=$fest_id\"><b><font size=\"3\">$fest_id</b></a><br><br>";
if ($tr == 4) {
        $tr = "";
        print "</tr>";
    }
}
}
?>
Avatar billede likeaprayer Nybegynder
30. oktober 2003 - 21:29 #1
hmmm den virker fint her ?
Avatar billede sj.netomia Nybegynder
30. oktober 2003 - 21:35 #2
Ja du kan trykke på billederne men du kan ikke klikke på næste / forrige.
Avatar billede tipsen Nybegynder
30. oktober 2003 - 21:43 #3
Du skal bare lave scriptet om så det genererer de rigtige links...
Avatar billede sj.netomia Nybegynder
30. oktober 2003 - 21:51 #4
tipsen : kan du ikke hjælpe mig med det, khar siddet med det hele dagen, og kan stadig ikke finde ud af hvor fejlen ligger. :( Please :)
Avatar billede sj.netomia Nybegynder
30. oktober 2003 - 21:52 #5
eller bare give mig et tip om hvorfor det ikke virker, syntes ikke jeg kan se nogen fejl...
Avatar billede sj.netomia Nybegynder
30. oktober 2003 - 21:55 #6
Kan godt smide flere point i hvis det er det der skal til :)

Ellers er mit ICQ nr 99819106 så kan vi finde ud af det over ICQ...
Avatar billede sj.netomia Nybegynder
30. oktober 2003 - 22:38 #7
Nogen der vil hjælpe mig med mit lille problem ?
Avatar billede sj.netomia Nybegynder
30. oktober 2003 - 23:18 #8
For at gøre jer klar hvad det er jeg gerne vil have så er det at den når man trykker på næste skifter til $s= næste side og til id= næste id ellers får den nemlig ikke de rigtige sider med. Nogen der kan hjælpe mig. ??????
Avatar billede tipsen Nybegynder
31. oktober 2003 - 00:07 #9
id=$id <- både i forrige og næste - skal det ikke være -+ 1 ?
Avatar billede sj.netomia Nybegynder
31. oktober 2003 - 00:32 #10
ja det kan jeg godt se, men problemet er bare når jeg laver det så tjekker den jo ikke om der er et id der hedder det. kan jo f.eks være at jeg har slettet id 4 og så ville der komme en blank side.
Avatar billede sj.netomia Nybegynder
31. oktober 2003 - 00:36 #11
er der en kommando hvor man kan lave en $post[id] og så i stedet for at tage den første skal den tage den næste i databasen ???
Avatar billede tipsen Nybegynder
31. oktober 2003 - 01:02 #12
Du kan snyde lidt...

Hvis du eksempelvis sammen med dit forrige link også sender information om, at det er forrige billede du ønsker, kan du lave en sql-sætning der hedder noget i retning af:

// hvis forrige:
SELECT * FROM pictabel WHERE id<$id ORDER BY id DESC LIMIT 0,1

eller for den næste:

// hvis næste
SELECT * FROM pictabel WHERE id>$id ORDER BY id ASC LIMIT 0,1

-dette kræver dog information om både nuværende id, samt næste/forrige info. (Det er ikke superpænt, men kan erstatte to queries til at konstruere de rigtige links.)
Avatar billede sj.netomia Nybegynder
31. oktober 2003 - 01:19 #13
Mit script ligger her, nu virker det fint med at klikke frem og tilbage, men når jeg f.eks klikker på billede 4 så åbner den billede 1 og det er faktisk det eneste jeg skal have lavet. noget i kan hjælpe mig.

mit script.

<?
require ('db_func.php');
include ('log.php');
?>
<html>
<title> Billeder til Jeppe i London</title>
<BODY TOPMARGIN="10" BGColor="white" text="black" link="black" alink="black" vlink="black">
<div align="right"><font size="2"><a href="admin/index.php">Admin</a></font></div>
<center><font size="4" face="verdana" color="black"><img src="img/logo.jpg"></font></center>
</html>
<?
if (($vis == "") && ($vis_album != "")) {
print ("<br><center><font size=\"2\" face=\"verdana\" color=\"black\">Klik på billederne for at se dem i større format.</font></center>");
$sql="SELECT * FROM billeder where begivenhed='$dato' order by navn";
$res = mysql_db_query("jeppe",$sql);
$number = mysql_num_rows($res);
print ("<center><br><b>Der er $number billeder på siden</b></center><br><br><div align=\"center\"><table align=\"center\"><table width=\"430\">");
for ($n = 0; $n < mysql_numrows($res); $n++ ) {  $post = mysql_fetch_array($res);
if (!$number) {printf ("fejl i databasen");}
if (!$tr) {
                print "<tr>";
        }
        $tr++;


echo "<a href=\"$PHP_SELF?id=$post[id]&vis=billede&dato=$dato&s=0\"><img src=\"billeder/$post[navn]\" width=100 height=100 border=\"0\"></a>&nbsp;";
if ($tr == 4) {
        $tr = "";
        print "</tr>";
    }
}
}

elseif ($vis == "billede") {
    $pr_side = 1;
if (isset($_GET['s'])) {
    $s = $_GET['s'];
} else {
    $s = 0;
}
$query = mysql_query("select * from billeder order by navn limit $s,$pr_side") or die(mysql_error());
while($post = mysql_fetch_array($query)){
    print ("<br><br><center><img src=\"billeder/$post[navn]\"></center>");
    if ($post[beskrivelse] == "") {
      print ("<br><center><b>Ingen kommentarer</b></center><br>");
    }
    else {
      print ("<br><center><b>$post[beskrivelse]</b></center><br>");
    }
    if ($post[id] == "") {
        print ("ingen id nummer");
    }
    else {
        print ("$id");
    }
    }
$g_total = mysql_query("select count(id) as total from billeder where begivenhed='$dato'") or die(mysql_error());
$total = mysql_result($g_total,0);
if ($s >= $pr_side) {
    $query = mysql_query("SELECT * FROM billeder WHERE id=$id ORDER BY navn LIMIT $s,$pr_side");
    $previous_s = $s-$pr_side;
    echo "<a href=\"$PHP_SELF?id=$id&s=$previous_s&vis=billede&dato=$dato\"><center>Forrige</center></a> ";
}
if ($total > $s+$pr_side) {
    $query = mysql_query("SELECT * FROM billeder WHERE id=$id ORDER BY navn LIMIT $s,$pr_side");
    $next_s = $s+$pr_side;;
    echo "<a href=\"$PHP_SELF?id=$id&s=$next_s&vis=billede&dato=$dato\"><center>Næste</center></a>";
}
}
else {
$sql = "SELECT * FROM billeder GROUP BY begivenhed ORDER BY navn";
$res = mysql_db_query("jeppe",$sql);
$number = mysql_num_rows($res);
print ("<br><br><div align=\"center\"><table align=\"center\"><table width=\"100\">");
for ($n = 0; $n < mysql_numrows($res); $n++ ) {    $post = mysql_fetch_array($res);
$fest_id = $post[begivenhed];
if (!$number) {printf ("fejl i databasen");}
if (!$tr) {
                print "<tr>";
        }
        $tr++;


echo "<a href=\"$PHP_SELF?vis_album=on&vis=&dato=$fest_id\"><b><font size=\"3\">$fest_id</b></a><br><br>";
if ($tr == 4) {
        $tr = "";
        print "</tr>";
    }
}
}
?>
Avatar billede smirnoff Nybegynder
31. oktober 2003 - 09:08 #14
I din billedeoversigt kan jeg se du altid har s=0

jvf:

echo "<a href=\"$PHP_SELF?id=$post[id]&vis=billede&dato=$dato&s=0\"><img src=\"billeder/$post[navn]\" width=100 height=100 border=\"0\"></a>&nbsp;";

... s er altid 0

så sql-sætningen:
"select * from billeder order by navn limit $s,$pr_side"

vil blive

"select * from billeder order by navn limit 0,1" - og altid vælge første række..
Avatar billede sj.netomia Nybegynder
31. oktober 2003 - 11:17 #15
Så er det rettet men det er stadig samme fejl :(
Avatar billede sj.netomia Nybegynder
31. oktober 2003 - 11:20 #16
Prøv at klikke ind på denne side http://petrasudden.servehttp.com/jeppe2_test/index3.php?vis_album=on&vis=&dato=28/10/2003

og tryk på et billede, så loader den billede 1 uansat hvilket billede man klikker på. Der skal jeg have den til at vælge where id='$id'i SQL sætningen, men så snart jeg laver det virker det også fint, men så virker Næste / Forrige knapperne ikke mere. jeg syntes godt nok at jeg er forvirret i denne her omgang...
Avatar billede sj.netomia Nybegynder
31. oktober 2003 - 22:44 #17
Mangler stadig nogen til at svarer på mit spørgsmål :)
Avatar billede sj.netomia Nybegynder
01. november 2003 - 15:03 #18
Mit script ser nu sådan ud. men det virker stadig ik, nogen forslag ??

<?
require ('db_func.php');
include ('log.php');
?>
<html>
<title> Billeder til Jeppe i London</title>
<BODY TOPMARGIN="10" BGColor="white" text="black" link="black" alink="black" vlink="black">
<div align="right"><font size="2"><a href="admin/index.php">Admin</a></font></div>
<center><font size="4" face="verdana" color="black"><img src="img/logo.jpg"></font></center>
</html>
<?
if (($vis == "") && ($vis_album != "")) {
print ("<br><center><font size=\"2\" face=\"verdana\" color=\"black\">Klik på billederne for at se dem i større format.</font></center>");
$sql="SELECT * FROM billeder where begivenhed='$dato' order by navn";
$res = mysql_db_query("jeppe",$sql);
$number = mysql_num_rows($res);
print ("<center><br><b>Der er $number billeder på siden</b></center><br><br><div align=\"center\"><table align=\"center\"><table width=\"430\">");
for ($n = 0; $n < mysql_numrows($res); $n++ ) {  $post = mysql_fetch_array($res);
if (!$number) {printf ("fejl i databasen");}
if (!$tr) {
                print "<tr>";
        }
        $tr++;


echo "<a href=\"$PHP_SELF?id=$post[id]&vis=billede&dato=$dato\"><img src=\"billeder/$post[navn]\" width=100 height=100 border=\"0\"></a>&nbsp;";
if ($tr == 4) {
        $tr = "";
        print "</tr>";
    }
}
}

elseif ($vis == "billede") {
    $pr_side = 1;
if (isset($_GET['s'])) {
    $s = $_GET['s'];
} else {
    $s = 0;
}
$query = mysql_query("select * from billeder where id='$id' order by navn limit $s,$pr_side") or die(mysql_error());
while($post = mysql_fetch_array($query)){
    print ("<br><br><center><img src=\"billeder/$post[navn]\"></center>");
    if ($post[beskrivelse] == "") {
      print ("<br><center><b>Ingen kommentarer</b></center><br>");
    }
    else {
      print ("<br><center><b>$post[beskrivelse]</b></center><br>");
    }
    }
$g_total = mysql_query("select count(id) as total from billeder where begivenhed='$dato'") or die(mysql_error());
$total = mysql_result($g_total,0);
if ($s >= $pr_side) {
    $query = mysql_query("SELECT * FROM billeder WHERE id<$id ORDER BY id DESC LIMIT $s,$pr_side");
    $previous_s = $s-$pr_side;
    echo "<a href=\"$PHP_SELF?id=$id&s=$previous_s&vis=billede&dato=$dato\"><center>Forrige</center></a>";
}
if ($total > $s+$pr_side) {
    $query = mysql_query("SELECT * FROM billeder WHERE id>$id ORDER BY id ASC LIMIT $s,$pr_side");
    $next_s = $s+$pr_side;;
    echo "<a href=\"$PHP_SELF?id=$id&s=$next_s&vis=billede&dato=$dato\"><center>Næste</center></a>";
}
}
else {
$sql = "SELECT * FROM billeder GROUP BY begivenhed ORDER BY navn";
$res = mysql_db_query("jeppe",$sql);
$number = mysql_num_rows($res);
print ("<br><br><div align=\"center\"><table align=\"center\"><table width=\"100\">");
for ($n = 0; $n < mysql_numrows($res); $n++ ) {    $post = mysql_fetch_array($res);
$fest_id = $post[begivenhed];
if (!$number) {printf ("fejl i databasen");}
if (!$tr) {
                print "<tr>";
        }
        $tr++;


echo "<a href=\"$PHP_SELF?vis_album=on&vis=&dato=$fest_id\"><b><font size=\"3\">$fest_id</b></a><br><br>";
if ($tr == 4) {
        $tr = "";
        print "</tr>";
    }
}
}
?>
Avatar billede sj.netomia Nybegynder
01. november 2003 - 17:54 #19
vil blive meget glad hvis der er nogen der kan hjælpe mig med mit problem i weekenden ;)

/sj.netomia
Avatar billede sj.netomia Nybegynder
03. november 2003 - 18:45 #20
Er der slet ikke nogen der kan hjælpe mig med mit problem ???

Ellers bliver jeg jo nød til at lukke spørgsmålet. :(

Håber der er nogen der kan hjælpe mig eller bliver spørgsmålet lukket i morgen.....
Avatar billede smirnoff Nybegynder
04. november 2003 - 08:51 #21
hvilken fejl i frem og tilbage får du når du ændrer id='$id'
Avatar billede sj.netomia Nybegynder
04. november 2003 - 11:18 #22
Jeg får ingen fejl hvis jeg ændrer where id='$id' kan så kan jeg ikke trykke på frem /tilbage.

eks. http://petrasudden.servehttp.com/jeppe3_test/index3.php?vis_album=on&vis=&dato=28/10/2003

Problemet er hvis jeg ikke skriver where id='$id' så vælger den bare billede et uansat hvis jeg trykker på.

eks. http://petrasudden.servehttp.com/jeppe3_test/index4.php?vis_album=on&vis=&dato=28/10/2003

Håber at du kan hjælpe mig..
Avatar billede sj.netomia Nybegynder
04. november 2003 - 11:18 #23
Laver point om til 200 og håber på en løsning :)
Avatar billede smirnoff Nybegynder
04. november 2003 - 11:59 #24
tjaa..  jeg vil gerne hjælpe - hvis du kan vente til sent i aften, før har jeg ikke tid til at kigge på det
Avatar billede sj.netomia Nybegynder
04. november 2003 - 12:00 #25
ok det er bare iorden, kan du ikke lige smide din ICQ eller MSN så vi kan ordne det derover ? :)
Avatar billede sj.netomia Nybegynder
04. november 2003 - 17:06 #26
smirnoff > jeg ved ikke lige om jeg er på sent i aften, men ellers så bare smid der her på eksperten, ellers send det til sj@pq.dk så skal du nok på points hvis det virker :)
Avatar billede sj.netomia Nybegynder
05. november 2003 - 08:54 #27
Nogen der kan hjælpe mig med mit script ?
Avatar billede smirnoff Nybegynder
05. november 2003 - 09:06 #28
fik du ikke min mail igår?
Avatar billede sj.netomia Nybegynder
05. november 2003 - 09:16 #29
nope :(
Avatar billede smirnoff Nybegynder
05. november 2003 - 09:21 #30
damn ... jeg sender mit svar her så ;)

if (($vis == "") && ($vis_album != "")) {
      print ("<br><center><font size=\"2\" face=\"verdana\" color=\"black\">Klik på billederne for at se dem i større format.</font></center>");

  //$sql="SELECT * FROM billeder where begivenhed='$dato' order by navn";
      $sql="SELECT * FROM billeder order by navn";
      $res = mysql_db_query("jeppe", $sql);
      $number = mysql_num_rows($res);
      print ("<center><br><b>Der er $number billeder på siden</b></center><br><br><div align=\"center\"><table align=\"center\"><table width=\"430\">");
      for ($n = 0; $n < mysql_numrows($res); $n++ ) {        $post = mysql_fetch_array($res);
      if (!$number) {
          printf ("fejl i databasen");
      }
      if (!$tr) {
          print "<tr>";
      }
      $tr++;
              // BMK: Jeg har sat s til $n + 1
              echo "<a href=\"$PHP_SELF?id=$post[id]&vis=billede&dato=$dato&s=".($n + 1)."\"><img src=\"billeder/$post[navn]\" width=100 height=100 border=\"0\"></a>&nbsp;".$post["navn"];
      if ($tr == 4) {
          $tr = "";
          print "</tr>";
      }
  }
} elseif ($vis == "billede") {
        $pr_side = 1;
        if (isset($_GET['s'])) {
      $s = $_GET['s'];
  } else {
      $s = 0;
  }
      //mysql_select_db("jeppe", $conn);
        $sql = "select * from billeder where id=$id order by navn limit 0,$pr_side";
        $query = mysql_query($sql) or die( mysql_error() );
      while($post = mysql_fetch_array($query)) {
      print ("<br><br><center><img alt='' src=\"billeder/$post[navn]\" style='height:100px;width:100px'>".$post["navn"]."</center>");
      if ($post[beskrivelse] == "") {
            print ("<br><center><b>Ingen kommentarer</b></center><br>");
      } else {
            print ("<br><center><b>$post[beskrivelse]</b></center><br>");
      }
  }
      $g_total = mysql_query("select count(id) as total from billeder ") or die( mysql_error() );
        $total = mysql_result($g_total,0);
      // FORRIGE **********************************************************
  if ($s >= $pr_side) {
      $sql = "SELECT * FROM billeder WHERE id < $id ORDER BY id DESC LIMIT 0, 1";
              //print "<br>".$sql;
              $query = mysql_query($sql);
              $previous_s = $s-$pr_side;
              if($post = mysql_fetch_array($query)) {    // hvis kaldet til db går godt ...
                      // BMK : jeg har sat id = $post("id"] altså id'et på foregående billede i tabellen
                      echo "<a href=\"$PHP_SELF?id=".$post["id"]."&s=$previous_s&vis=billede&dato=$dato\"><center>Forrige</center></a>";
      }
  }
      // NÆSTE ************************************************************
  if ($total > $s) {
              $sql = "SELECT * FROM billeder WHERE id > $id ORDER BY id ASC LIMIT 0, 1";
              //print "<br>".$sql;
              $query = mysql_query($sql);
              $next_s = $s+$pr_side;
              if($post = mysql_fetch_array($query)) {
                      // BMK : jeg har sat id = $post("id"] altså id'et på næste billed i tabellen
                      echo "<a href=\"$PHP_SELF?id=".$post["id"]."&s=$next_s&vis=billede&dato=$dato\"><center>Næste</center></a>";
      }
  }
}
Avatar billede sj.netomia Nybegynder
05. november 2003 - 09:40 #31
Virker næsten perfekt, der er bare en lille fejl.

Fejlen ligger her http://petrasudden.servehttp.com/jeppe4/index_test.php?vis_album=on&dato=30/10/2003

Derinde er der kun 1 billede man kan trykke på, og når man trykker på billedet så kommer der alligevel men "Forrige" knap op.

Ellers Perfekt. siger mange tak for hjælpen, men hvis du lige kan se hvorfor den gør det. er noget med at den smider s=0 så skal du få points. :)
Avatar billede sj.netomia Nybegynder
05. november 2003 - 09:50 #32
Har selv fundet fejlen. Du for points. :)

1000 Tak for hjælpen....
Avatar billede smirnoff Nybegynder
05. november 2003 - 10:09 #33
selv tak :)
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