Toon meer afbeeldingen na klik op link

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Jos Vermassen

Jos Vermassen

20/11/2012 16:07:27
Quote Anchor link
Hallo,

Ik ben bezig met het maken van een pagina waar heel wat afbeeldingen getoond moeten worden, ik doe dit nu a.d.h.v een whilelus. Maar ik zou graag 9 afbeeldingen tonen en onder deze reeks afbeeldingen een link, die telkens 9 nieuwe afbeeldingen er bij laadt. Ik ben al een hele tijd aan het zoeken, maar ik vind niet echt iets gelijkaardig en ik zou ook niet echt weten hoe ik hieraan moet beginnen.

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
<?php

$query
= mysql_query("SELECT id, naam, nummer, foto FROM ki_beren ORDER BY datum DESC LIMIT 9");

while($row = mysql_fetch_array($query))
{

    echo "<a href='show.php?id=".$row['id']."'>";
    echo "<div id='kibeer'>";
    echo $row['naam'];
    echo "<br>";
    echo "<img src='../image/".$row['foto']."' class='stretch'>";
    echo "</div>";
    echo "</a>";
}

?>
Gewijzigd op 20/11/2012 16:10:54 door Jos Vermassen
 
PHP hulp

PHP hulp

19/04/2024 15:46:44
 
Milo S

Milo S

20/11/2012 16:17:21
Quote Anchor link
Hiervoor kun je gewoon een if statement uitvoeren..

Zet bovenaan je whilelus $i = 1;
En met voor het einde van je lus $i++;

Dan kun je een if statement plaatsen met de vergelijking;

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if( $i == 9 )
{

    # link
    $i = 1;
}

?>
Gewijzigd op 20/11/2012 17:06:23 door Milo S
 
Jos Vermassen

Jos Vermassen

20/11/2012 16:28:33
Quote Anchor link
Milo S op 20/11/2012 16:17:21:
Hiervoor kun je gewoon een if statement uitvoeren..

Zet bovenaan je whilelus $i=1;
En met voor het einde van je lus $i++;

Dan kun je een if statement plaatsen met de vergelijking;

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?PHP
If( $i == 6 )
{

# link
$i = 1;
}

?>


Hm ik snap niet goed wat je bedoelt. Mijn bedoeling is als je op de pagina komt dat er 9 afbeeldingen al klaar staan met daaronder een link 'toon meer'. Moet ik dan niet iets met LIMIT doen in mijn query?

Dit is de pagina:
http://www.yannickluijten.be/luc/kicentrum/
 
Milo S

Milo S

20/11/2012 16:49:35
Quote Anchor link
Aah zo, dan heb ik jou verkeerd begrepen...
Je zult dan je getal in limit variabel moetn maken en deze met 9 verhogen naarmate je vaker op de link klikt

Zodra ik thuis ben kan ik een voorbeeld maken maat wie weet is iemand mij voor
 
Jos Vermassen

Jos Vermassen

20/11/2012 16:50:25
Quote Anchor link
Milo S op 20/11/2012 16:49:35:
Aah zo, dan heb ik jou verkeerd begrepen...
Je zult dan je getal in limit variabel moetn maken en deze met 9 verhogen naarmate je vaker op de link klikt

Zodra ik thuis ben kan ik een voorbeeld maken maat wie weet is iemand mij voor


Dat had ik ook in gedacht, maar het komt er niet echt uit. Alvast bedankt voor je hulp, ik probeer nog wat verder
 
Milo S

Milo S

20/11/2012 17:03:53
Quote Anchor link
Ik dacht dat jij bedoelde dat je steeds 9 foto's wilde en dan een link die naar een pagina ging waar alle foto's van die reeks staan. Fout begrepen excuus.

Wat je nu zult moeten doen is dus je LIMIT $variabel"; maken.

Bijvoorbeeld:
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
$sql
= "
SELECT
    id,
    naam,
    nummer,
    foto
FROM
    ki_beren
ORDER BY
    datum DESC
LIMIT "
.mysql_real_escape_string( $_GET['limit'] );
?>


Deze variabel moet je ergens vandaan halen, uit de link waarschijnlijk, vandaar de $_GET.

De link zul je dus na je foto's moeten weergeven. In deze link moet staan hoeveel foto's je wilt, nu staat er dus standaard 9 en wil je er steeds 9 meer. Houd in dat je dus het huidige limiet moet verhogen met 9 in je link zodat de query dit weet de volgende keer.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<a href="?limit='.( $limit + 9 ).'">meer foto\'s</a>';
?>


Als je dit alles in je script hebt gestopt moet jou wens in vervulling zijn gegaan. Wil je je wens alleen ook goed hebben zou ik eens kijken naar hoe je je query fatsoenlijke afhandelt..
Gewijzigd op 20/11/2012 17:06:46 door Milo S
 
Jos Vermassen

Jos Vermassen

20/11/2012 17:18:40
Quote Anchor link
Mijn code ziet er nu als volgt 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
<?php
$query
= "SELECT
              id,
              naam,
              nummer,
              foto
          FROM
              ki_beren
          ORDER BY
                datum DESC
          LIMIT "
.mysql_real_escape_string($_GET['limit']);

while($row = mysql_fetch_array($query))
{

    echo "<a href='show.php?id=".$row['id']."'>";
    echo "<div id='kibeer'>";
    echo "<b>".$row['naam']."</b>";
    echo "<br>";
    echo "<img src='../image/".$row['foto']."' class='stretch'>";
    echo "</div>";
    echo "</a>";
}


echo '<a href="?limit='.( $limit + 9 ).'">meer foto\'s</a>';
?>


De foto's worden nu niet meer getoond, wat moet ik nu precies nog doen? (Sorry ben hier nog wat nieuw in)
Gewijzigd op 20/11/2012 17:19:54 door Jos Vermassen
 
Milo S

Milo S

20/11/2012 17:42:07
Quote Anchor link
Hij laat nu niks meer zien omdat je de query nergens uitvoert (myqsl_query).

Wat het beste is is als je nu een foutafhandeling maakt waarin ..
..je kijkt of de query succesvol wordt uitgevoerd, zo niet error.
..je kijkt of er wel enig resultaat is.
..je het resultaat weergeeft.

Hiervoor heb je nodig:
- echo
- if, elseif, else
- mysql_query
- mysql_num_rows
- mysql_fetch_assoc -> geen mysql_fetch_array

Vul de functies nu op de juiste plek neer. Zie dit als een soort leeropdracht want ik kan het wel voorkauwen maar dat heeft geen zin.
Zoals je ziet hoef je alleen de mysql_* functies nog maar te plaatsen, derest is een duwtje in de goede richting!

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
<?php
if( !$res = /*hier een functie?*/ )
{

    echo 'De query is niet succesvol uitgevoerd.';
}

elseif( /*hier een functie*/ == 0 )
{

    echo 'Er zijn geen afbeeldingen gevonden in onze database.';
}

else
{
    /*
    Hier ga je je data weergeven, je weet al hoe dit moet maar vervang wel even fetch_array voor fetch_assoc
    */

}
?>
Gewijzigd op 20/11/2012 18:39:36 door Milo S
 
Jos Vermassen

Jos Vermassen

20/11/2012 17:45:13
Quote Anchor link
Milo S op 20/11/2012 17:42:07:
Hij laat nu niks meer zien omdat je de query nergens uitvoert (myqsl_query).

Wat het beste is is als je nu een foutafhandeling maakt waarin ..
..je kijkt of de query succesvol wordt uitgevoerd, zo niet error.
..je kijkt of er wel enig resultaat is.
..je het resultaat weergeeft.

Hiervoor heb je nodig:
- echo
- if, elseif, else
- mysql_query
- mysql_num_rows
- mysql_fetch_assoc -> geen mysql_fetch_array

Vul de functies nu op de juiste plek neer. Zie dit als een soort leeropdracht want ik kan het wel voorkauwen maar dat heeft geen zin.
Zoals je ziet hoef je alleen de mysql_* functies nog maar te plaatsen, derest is een duwtje in de goede richting!

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
<?php
if( !$res = /*hier een functie?*/ )
{

    echo 'De query is niet succesvol uitgevoerd.';
}

elseif( /*hier een functie*/ > 0 )
{

    echo 'Er zijn geen afbeeldingen gevonden in onze database.';
}

else
{
    /*
    Hier ga je je data weergeven, je weet al hoe dit moet maar vervang wel even fetch_array voor fetch_assoc
    */

}
?>


Oké bedankt, ik probeer dit. De foutafhandeling had wel gemaakt, had ze niet getoond hier.
 
Milo S

Milo S

20/11/2012 17:49:21
Quote Anchor link
@ Jos,
Ik zou het wel tonen als ik jou was, anders blijft iedereen hier opmerkingen op maken, het is immers ook belangrijk. Oh en je hoeft niet steeds je quoten hoor dan wordt het topic onnodig lang met scrollen.
 
Jos Vermassen

Jos Vermassen

20/11/2012 18:02:17
Quote Anchor link
Milo S op 20/11/2012 17:49:21:
@ Jos,
Ik zou het wel tonen als ik jou was, anders blijft iedereen hier opmerkingen op maken, het is immers ook belangrijk. Oh en je hoeft niet steeds je quoten hoor dan wordt het topic onnodig lang met scrollen.


Ik krijg steeds de error dat mijn query mislukt is.. Zo zou het toch moeten?

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
32
33
34
35
36
<?php
$sql
= "SELECT
              id,
              naam,
              nummer,
              foto
          FROM
              ki_beren
          ORDER BY
                datum DESC
          LIMIT "
.mysql_real_escape_string($_GET['limit']);


if (!$query = mysql_query($sql))
{

    echo 'De query is niet succesvol uitgevoerd.';
}

elseif(mysql_num_rows($query) < 0)
{

    echo 'Er zijn geen afbeeldingen gevonden in onze database.';
}

else
{
    while($row = mysql_fetch_assoc($query))
    {

        echo "<a href='show.php?id=".$row['id']."'>";
        echo "<div id='kibeer'>";
        echo "<b>".$row['naam']."</b>";
        echo "<br>";
        echo "<img src='../image/".$row['foto']."' class='stretch'>";
        echo "</div>";
        echo "</a>";
    }

    echo '<a href="?limit='.( $limit + 9 ).'">meer foto\'s</a>';
}

?>
Gewijzigd op 20/11/2012 18:03:35 door Jos Vermassen
 
Milo S

Milo S

20/11/2012 18:43:12
Quote Anchor link
Bij mij werkt het gewoon, maak jij wel connectie met je database?
 
Wesley PHP

Wesley PHP

20/11/2012 18:53:46
Quote Anchor link
Moet dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo '<a href="?limit='.( $limit + 9 ).'">meer foto\'s</a>';


Niet dit zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo '<a href="?limit='.( $_GET['limit'] + 9 ).'">meer foto\'s</a>';


Aangezien $limit niks betekend, of heb ik iets over het hoofd gezien?
 
Milo S

Milo S

20/11/2012 19:33:40
Quote Anchor link
@ Wesley, dat is correct, mijn fout geweest.
 
Jos Vermassen

Jos Vermassen

21/11/2012 10:33:45
Quote Anchor link
Nja mijn query faalt gewoon nog steeds. De connectie met de databank werkt want als je bijvoorbeeld deze url ingeeft: http://www.yannickluijten.be/luc/kicentrum/?limit=9 dan werkt het gewoon.
 
Milo S

Milo S

21/11/2012 13:10:26
Quote Anchor link
Je krijgt dus de melding er zijn geen afbeeldingen gevonden?
Dan faalt je query niet... In dit geval betekend het dat we nog niet klaar zijn. Zoals je zelf al zegt als je een getal meegeeft in de link werkt het wel. Dit hou dus in dat je een standaard getal moet opgeven tenzij in de link wat anders staat. Dit kun je zelf probeten
 
Jos Vermassen

Jos Vermassen

21/11/2012 13:35:27
Quote Anchor link
nee ik krijg deze melding error:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo 'De query is niet succesvol uitgevoerd.';
?>
Gewijzigd op 21/11/2012 13:35:53 door Jos Vermassen
 
Milo S

Milo S

21/11/2012 13:54:17
Quote Anchor link
Als je in je script daaronder zet
echo mysql_error();

Geef die melding eens
 
- SanThe -

- SanThe -

21/11/2012 13:55:01
Quote Anchor link
Foutafhandeling inbouwen zodat je precies de fout op het scherm krijgt. Zie mysql_error().
 
Jos Vermassen

Jos Vermassen

21/11/2012 13:58:23
Quote Anchor link
Milo S op 21/11/2012 13:54:17:
Als je in je script daaronder zet
echo mysql_error();

Geef die melding eens


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 '' at line 10

lijn 10 is de FROM ki_beren in mijn query
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$sql
= "SELECT
              id,
              naam,
              nummer,
              foto
          FROM
              ki_beren
          ORDER BY
                datum DESC
          LIMIT "
.mysql_real_escape_string($_GET['limit']);
?>
 
Milo S

Milo S

21/11/2012 14:13:10
Quote Anchor link
Het is nogsteeds het probleem wat ik zei.

Verander alles waar $_GET['limit'] staat in $limit

Plaats bovenin je script vervolgens

$limit = empty( $_GET['limit'] ) ? '9' : htmlentities( $_GET['limit'] );

Het was de bedoeling dat hee dit zelf in ging bouwen maarjsa
 

Pagina: 1 2 volgende »



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.