plaatje uit loop openen in nieuwe pagina

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marina janssen

marina janssen

08/10/2016 23:50:13
Quote Anchor link
Ik vroeg me af:
ik heb while loop waarin een tabel met thumbnail-plaatjes staat. Als je op zo'n plaatje klikt, dan opent het plaatje op ware grootte.
Maar ik wil nu dat het plaatje opent in een nieuwe url zodat ik wat meer info erbij kan zetten.
Is dat mogelijk en zo ja hoe doe je dat?
 
PHP hulp

PHP hulp

02/12/2024 21:45:57
 
Frank Nietbelangrijk

Frank Nietbelangrijk

09/10/2016 00:06:57
Quote Anchor link
Natuurlijk kan dat:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
/plaatje/show.php?id=4527


show.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$id
= 0;
if(isset($_GET['id'])) {
    $id = intval($_GET['id']);
}

// ...
$result = mysqli_query('SELECT * FROM plaatjes WHERE id=' . $id);
if(FALSE === $result) {
    throw new Exception('Image with id ' . $id . ' not found.');
}


// en de rest
?>

}
Gewijzigd op 09/10/2016 11:35:51 door Frank Nietbelangrijk
 
Marina janssen

marina janssen

10/10/2016 00:44:07
Quote Anchor link
Dank, ik begrijp het niet maar ik ga er even over nadenken, misschien dat ik het morgen of overmorgen wel snap wat hier gebeurt.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

10/10/2016 09:11:34
Quote Anchor link
Oke, ik zal het antwoord dan wat uitgebreider geven.

Stel je hebt op een bepaalde pagina een thumbnail. Je zet deze in een snelkoppeling zodat je naar een andere pagina gaat als je er op klikt. De html ziet er dan zo uit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<a href="show.php?id=4527"><img src="/images/thumb_4527.jpg"></a>


Dan ga je dus naar show.php als je er op klikt. die ziet er dan ongeveer zo uit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
$id
= 0;
if(isset($_GET['id'])) {
    $id = intval($_GET['id']);
}


// hier even connectie maken met je database server

$result = mysqli_query($con, 'SELECT * FROM plaatjes WHERE id=' . $id);
if(FALSE === $result) {
    throw new Exception('database error ' . $mysqli_error($con));
}


$row = mysqli_fetch_assoc($result);
if(FALSE === $row) {
    throw new Exception('Image with id ' . $id . ' not found.');
}

?>

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Details van plaatje</title>
    </head>
    <body>
        <img src="<?php echo $row['filepath']; ?>">
        <p>
            <?php echo $row['description']; ?>
        </p>
    </body>
</html>
 
Marina janssen

marina janssen

11/10/2016 00:19:13
Quote Anchor link
Het klinkt heel makkelijk, en logisch. Maar mijn output is variabel.

echo "<td><a href=" .$row["Url"] . "><img src=" .$row["Url"] . " width='100' height='75' /></a></td>";

vs
<a href="show.php?id=4527"><img src="/images/thumb_4527.jpg"></a>
 
- Ariën  -
Beheerder

- Ariën -

11/10/2016 00:31:54
Quote Anchor link
En wat is de uiteindelijke HTML die er uit jouw echo komt?
 
Adoptive Solution

Adoptive Solution

11/10/2016 01:16:22
Quote Anchor link
Ik gebruik dit. Het is een afbeelding in een gallery en als je erop klikt, dan opent een pagina met informatie over die afbeelding.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<div class='imgholder'>
    <a href="/store/?pid=<?php echo $pid; ?>">
        <img src="/init/getImage.php?pid=<?php echo $pid; ?>" alt="<?php echo $title; ?>" title="<?php echo $title; ?>" style="margin: 0px auto; max-width: <?php echo $width; ?>px;" />
    </a>
</div>


Zowel de afbeelding als alle info over die afbeelding is opgeslagen in een mysql database.

In een webpagina ziet het er dan zo uit :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<div class='imgholder'>
    <a href="/store/?pid=15">
        <img src="/init/getImage.php?pid=15" alt="Piece of String" title="Piece of String" style="margin: 0px auto; max-width: 920px;" />
    </a>
</div>
 
Marina janssen

marina janssen

12/10/2016 21:23:34
Quote Anchor link
- Ariën - op 11/10/2016 00:31:54:
En wat is de uiteindelijke HTML die er uit jouw echo komt?


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<td><a href=/dir/map/nummer_naamvanhetplaatje.jpg><img src=/dir/map/nummer_naamvanhetplaatje.jpg width='100' height='75'  /></a></td>  
Gewijzigd op 13/10/2016 00:03:02 door marina janssen
 
Adoptive Solution

Adoptive Solution

12/10/2016 21:56:40
Quote Anchor link
Ten eerste, zet de link van de href en src tussen aanhalingstekens.

Ten tweede, als je het plaatje met info wil tonen, link naar een pagina met dat plaatje.

Zie mijn voorbeeld.

Je kan het haast zelf bedenken.
Gewijzigd op 12/10/2016 21:57:10 door Adoptive Solution
 
Marina janssen

marina janssen

13/10/2016 00:05:32
Quote Anchor link
Adoptive Solution op 12/10/2016 21:56:40:
Ten eerste, zet de link van de href en src tussen aanhalingstekens.



ik keek net nog een keer, had het niet eens gezien maar view-source geeft het echt precies zo zonder aanhalingstekens.
Gewijzigd op 13/10/2016 00:06:26 door marina janssen
 
- SanThe -

- SanThe -

13/10/2016 00:23:20
Quote Anchor link
Marina janssen op 11/10/2016 00:19:13:
Het klinkt heel makkelijk, en logisch. Maar mijn output is variabel.

echo "<td><a href=" .$row["Url"] . "><img src=" .$row["Url"] . " width='100' height='75' /></a></td>";

vs
<a href="show.php?id=4527"><img src="/images/thumb_4527.jpg"></a>

Pas $row['id'] aan zodat het het id uit de database bevat.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<td><a href="show.php?id='.$row['id'].'"><img src="'.$row['Url'].'"></a></td>';
?>
 
Marina janssen

marina janssen

13/10/2016 23:53:21
Quote Anchor link
Het is gelukt en ik snap nu ook eindelijk wat er gebeurt -al duurde het even:)
Weer wat geleerd.
Dank allen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.