Avatar billede BTEngineer Novice
01. august 2006 - 10:15 Der er 14 kommentarer og
1 løsning

Forrige og Næste

Hej.

Jeg går lige til sagen, hvordan skal jeg lave forrige og næste i dette script:

<?
include("inc/cfg.php");

$q = mysql_query("SELECT * FROM funnypics WHERE id = '$_GET[id]'") or die(mysql_error());
$vis = mysql_fetch_array($q);
?>

<b>Fuld størrelse af billedet <? echo $vis[navn]; ?></b><br>
<table border="0" width="100%">
    <tr>
        <td>HER SKAL FORRIGE OG NÆSTE STÅ.</td>
    </tr>
    <tr>
        <td><img src="<? echo $vis[billede]; ?>" border="0"></td>
    </tr>
    <tr>
        <td>..</td>
    </tr>
</table>

<?
}
}
mysql_close();
?>

Jeg vil gerne have at man har mulighed for at trykke forrige eller næste billede. Hvis der ikke er nogen forrige, så skal knappen være disabled, og det samme hvis der ikke er nogen næste.
Jeg håber i vil prøve at kode det ind i mit script ovenfor..

På forhånd tak.

// Henrik
Avatar billede mcgoat Nybegynder
01. august 2006 - 10:37 #1
du går jo selv ind og siger den skal hente billedet $_GET[id], så det er jo bare at have et link der hedder:
<?php
echo "<a href='hvaddennesidenuhedder.php?id=" . $_GET[id]+1 . "'>Næste</a>";
?>

kan godt nok ikke teste det lige nu, bare hvad jeg ville tro :)
Avatar billede zynzz Praktikant
01. august 2006 - 10:49 #2
<?
$data = mysql_query("SELECT * FROM spil ORDER BY id DESC");
$antal_billeder = mysql_num_rows($data);

// Sætter forrig
if ($_GET[id] == 1) {
$side_minus ="";
}
else{
$side_minus = "<a href=DINSIDE.php?id=". $_GET[id]-1 . ">Forrig</a>";
}

// Sætter næste
if ($antal_billeder => $_GET[id]) {
$side_plus ="";
}
else{
$side_plus = "<a href=DINSIDE.php?id=". $_GET[id]+1 . ">Næste</a>";
}
?>
Avatar billede zynzz Praktikant
01. august 2006 - 10:51 #3
Så skal du bare lave: echo $side_minus . " - " . $side_plus; hvor der står HER SKAL FORRIGE OG NÆSTE STÅ.


Jeg vil mene mit virker... :), dog har jeg ikke tjekket det....
Avatar billede morhan Novice
01. august 2006 - 10:54 #4
hvis det skal virke hver gang, er det vel nødvendigt at sikre sig, at forrige og næste id eksisterer i databasen..
Avatar billede zynzz Praktikant
01. august 2006 - 11:03 #5
ja, det er også en faktor man skal tage hensyn til...
Avatar billede BTEngineer Novice
01. august 2006 - 11:20 #6
Nej, det er jo ikke smart.. For det kan jo ske at id'et ikke eksistere, hvis et billede skulle blive slettet af en eller anden årsag.
Avatar billede zynzz Praktikant
01. august 2006 - 12:34 #7
Prøv denne så, jeg har ikke tjekket om den virker....:
<?
// Henter info fra databasen
$data = mysql_query("SELECT id FROM funnypics ORDER BY id DESC");

// Laver array med alle id der findes
while ($dat = mysql_fetch_array($result)) {
$dat[id] = $arr[];
}

// Antal billeder
$antal_billeder = mysql_num_rows($data);

$plus = $_GET[id]+1;

$minus = $_GET[id]-1;

// Hvis get ikke findes
if (!isset($_GET[id])) {
$side_minus ="";
}
if (!isset($_GET[id])) {
$side_plus = "<a href=DINSIDE.php?id=". $arr[0] . ">Næste</a>";
}

// Sætter forrig
if ($_GET[id] == $arr[0]) {
$side_minus ="";
}
else{
$side_minus = "<a href=DINSIDE.php?id=". $arr[$minus] . ">Forrig</a>";
}

// Sætter næste
if ($_GET[id] <= $antal_billeder) {
$side_plus ="";
}
else{
$side_plus = "<a href=DINSIDE.php?id=". $arr[$plus] . ">Næste</a>";
}
?>
Avatar billede zynzz Praktikant
01. august 2006 - 12:37 #8
<= $antal_billeder skal nok laves om til : <= $arr[$antal_billeder]
Avatar billede morhan Novice
01. august 2006 - 12:48 #9
jeg ville nok gøre noget i denne stil

$id = intval($_GET['id']);

$q = mysql_query("SELECT * FROM funnypics WHERE id = '$id' LIMIT 1");
$q2 = mysql_query("SELECT * FROM funnypics WHERE id < '$id' ORDER BY id DESC LIMIT 1");
$q3 = mysql_query("SELECT * FROM funnypics WHERE id > '$id' ORDER BY id DESC LIMIT 1");

hvis q2 og q3 indeholder noget, er det hhv forrige og næste post
Avatar billede zynzz Praktikant
01. august 2006 - 13:05 #10
ja, det kan man da self også gøre
Avatar billede BTEngineer Novice
05. august 2006 - 17:17 #11
Hmm.. morhan, kan du sætte det ind i min kode, har prøvet følgende:

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title> Sjove billeder</title>

</head>

<body>

<?
include("../inc/cfg.php");

if($_GET[id] == "") {
echo("Intet ID.");
} else {

$tjek_id = mysql_query("SELECT * FROM funnypics WHERE id LIKE '$_GET[id]'");
if(mysql_num_rows($tjek_id) == "0") {
echo("Der findes intet billede med dette id!");
} else {

$q = mysql_query("SELECT * FROM funnypics WHERE id = '$_GET[id]'") or die(mysql_error());
$vis = mysql_fetch_array($q);

$id = intval($_GET['id']);

$q = mysql_query("SELECT * FROM funnypics WHERE ID = '$id' LIMIT 1");

$qa = mysql_query("SELECT * FROM funnypics WHERE ID < '$id' ORDER BY ID DESC LIMIT 1");
$qa_show = mysql_fetch_array($qa);

$qb = mysql_query("SELECT * FROM funnypics WHERE ID > '$id' ORDER BY ID DESC LIMIT 1");
$qb_show = mysql_fetch_array($qb);

?>

<div align="center">
<b>Fuld størrelse af billedet <? echo $vis[navn]; ?></b><br>
<table border="0" width="100%" align="center">
    <tr>
        <td align="center">
        <a href="full_screen.php?id=<? echo $q">Forrige side</a></td>    </tr>    <tr>        <td align="center"><img src="<? echo $vis[billede]; ?>" border="1">Forrige side</a></td>
    </tr>
    <tr>
        <td align="center"><img src="<? echo $vis[billede]; ?>" border="1">&nbsp;</td>
    </tr>
    <tr>
        <td align="center"><? echo nl2br($vis[beskrivelse]); ?></td>
    </tr>
    <tr>
        <td align="center"><b></b></td>
    </tr>
</table>

<a href="#" onclick="window.close()"><b><font size="4">Luk vinduet</font></b></a><b><font size="4">
</font></b>
</div>

<?
}
}
mysql_close();
?>

</body>

</html>

Det må jo meget gerne være en knap som er disabled, hvis der ikke findes en forrige eller en næste :)
Avatar billede BTEngineer Novice
06. august 2006 - 09:11 #12
Næste og forrige knappen skal være under beskrivelsen, altså under <? echo nl2br($vis[beskrivelse]); ?>
Avatar billede BTEngineer Novice
11. august 2006 - 10:58 #13
Er der ingen der ingen der kan hjælpe?
Avatar billede BTEngineer Novice
13. august 2006 - 11:28 #14
zynzz ->
Jeg får følgende fejlmeddelse:
Fatal error: Cannot use [] for reading in /var/www/web9/html/layout/funny_pics/full_screen.php on line 31
Avatar billede BTEngineer Novice
26. februar 2007 - 16:35 #15
lukkes, kom ikke til at virke.
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