Avatar billede rampagezz Nybegynder
06. marts 2008 - 22:11 Der er 9 kommentarer og
1 løsning

problem med forrige og næste link

Hej eksperter

Jeg har et forrige og næste link, som linker mellem nogle billeder.
Jeg har hentet et script fra et tidligere spørgsmål herinde fra:
http://www.eksperten.dk/spm/725916 og tilpasset det min side.

Forrige og næste link virker, men når den linker mellem billederne, gør den det med alle billeder i tabellen "galleri".
Den skal kun gøre det hvis "$eventnr == $gallerinr".

Kan i hjælpe med at lave det?

Herunder ses koden:

-------------------------------

<?php require_once('../Connections/connect.php'); ?>
<?php
$colname_Recordset1 = "1";
if (isset($_GET['id'])) {
  $colname_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
}
mysql_select_db($database_connect, $connect);
$query_Recordset1 = sprintf("SELECT * FROM galleri WHERE id = %s", $colname_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $connect) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

$gallerinr = $row_Recordset1['gallerinr'];

$sql = "SELECT * FROM galleri WHERE gallerinr LIKE '%$gallerinr%'";
$query = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_assoc($query);

$eventnr = $row['gallerinr'];


$qNext = mysql_query("SELECT id FROM galleri WHERE id > '$_GET[id]' ORDER BY id ASC LIMIT 1") or die(mysql_error());
$hasNext = (mysql_num_rows($qNext) > 0 );
if ( $hasNext ) $next = mysql_fetch_assoc( $qNext );

$qPrior = mysql_query("SELECT * FROM galleri WHERE id < '$_GET[id]' ORDER BY id DESC LIMIT 1") or die(mysql_error());
$hasPrior = (mysql_num_rows($qPrior) > 0 );
if ( $hasPrior ) $prior = mysql_fetch_assoc( $qPrior );

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

?>

<b><? echo $vis[tekst]; ?></b><br>
<?php if( $eventnr == $gallerinr ) { ?>
<table border="0" width="100%">

    <tr>
        <td>
<?php if($hasPrior) { ?>
    <button onclick="window.location.href='<?= $_SERVER['PHP_SELF'] ?>?id=<?= $prior['id'] ?>'">Forrige billede</button>
<?php } if($hasNext) { ?>
    <button onclick="window.location.href='<?= $_SERVER['PHP_SELF'] ?>?id=<?= $next['id'] ?>'">Næste billede</button>
<?php } ?>

        </td>
    </tr>
   
    <tr>
        <td><img src="../jpg/galleri/<? echo $vis[billede]; ?>" border="0" width="400" height="300"></td>
    </tr>
   
    <tr>
        <td>..</td>
    </tr>
</table>
<?php } ?>
<?
mysql_close();
?>
<?php
mysql_free_result($Recordset1);
?>


- rampagezz
Avatar billede nwn Nybegynder
06. marts 2008 - 22:27 #1
Så smider du vel bare en

if($eventnr == $gallerinr) {

Det der skal vises

}
Avatar billede rampagezz Nybegynder
07. marts 2008 - 06:12 #2
Det er der allerede lige uden for <table>
Jeg har også prøvet at rykke den, så den er her:
<?php if( $eventnr == $gallerinr ) { ?>
    <tr>
        <td><img src="../jpg/galleri/<? echo $vis[billede]; ?>" border="0" width="400" height="300"></td>
    </tr>
    <?php } ?>

Men lige meget hjælper det.
Avatar billede nwn Nybegynder
08. marts 2008 - 11:33 #3
Kan du vise et eksempel?

et link (: ?
Avatar billede rampagezz Nybegynder
10. marts 2008 - 18:39 #4
Avatar billede nwn Nybegynder
14. marts 2008 - 15:06 #5
Så er jeg med, det jo fordi at du skal bruge WHERE $eventnr == $gallerinr i din mysql query, som henter billederne (:
Avatar billede rampagezz Nybegynder
15. marts 2008 - 11:18 #6
Hvis jeg gør det kommer den op med denne fejl:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '== a1' at line 1
Avatar billede rampagezz Nybegynder
15. marts 2008 - 11:39 #7
Når man linker fra siden før, hvor der en oversigt tabel med alle billeder under dette eventnr.

Linket er sat op til at hive id'en med over denne side, så man ser det billede man klikker på. Og så skulle man kunne bladre imellem billederne under dette event.
Kan man ikke både hive id'en med over og samtidig hive EventNr med over?

Linket fra siden med oversigten ser således ud:

echo "<td width=\"120\" align=\"center\"><br><a href=\"vis_billede.php?id=$row[id]\" onclick=\"window.open(this.href,'PopUpTur','width=430,height=480');return false;\"><img src=\"../jpg/galleri/$row[billede]\" width=\"100\" height=\"80\" border=\"0\" alt=\"Klik for stort\"></a></td>";
Avatar billede nwn Nybegynder
17. marts 2008 - 22:53 #8
Angående mysql fejlen, du skriver ved 15/03-2008 11:18:31, så har du vel indsat WHERE forkert, da du ved flere end 1 WHERE, bare skal bruge AND.

Så skal query'en se sådan ud:

$sql = "SELECT * FROM galleri WHERE gallerinr LIKE '%$gallerinr%' AND $eventnr == $gallerinr";

For at få EventNr med over, skal du på den side hvor du vil bruge, det, indsætte f.eks dette:

$eventnr = $_GET['eventnr'];

Så skal du huske at sørge for, at der ikke er brugt en variabel med samme navn, altså $eventnr

Så skal du i linket som der henviser til: vis_billede.php?id=$row[id] bare sætte det til vis_billede.php?id=$row[id]&eventnr=$row[eventnr]

Så kan du på den side hvor du skal bruge eventnr, få fat i det via variablen $eventnr
Avatar billede rampagezz Nybegynder
03. april 2008 - 17:46 #9
Undskyld den lange tid jeg ikke har svaret. Havde lige lagt den på hylden.
Man kan ikke bruge == i MySQL men kun = , men det giver alligevel samme resultat.
Den bladrer imellem alle billederne i stedet for at begrænse det til de billeder hvor $eventnr og $gallerinr er ens. :-(

Der må da være en måde at takle det på?
Avatar billede rampagezz Nybegynder
25. oktober 2008 - 19:07 #10
Jeg har opgivet at bruge den funktion.
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