Hoi iedereen,
Ik zit met een situatie waar ik geen oplossing voor kan verzinnen.
Het zit namelijk zo:
Ik heb een database tabel waar foto's in staan. Die zitten verdeeld in categorieën waar een aparte tabel voor is gemaakt. Tot nu toe geen probleem en het weergeven op de website is ook geen probleem.
Nu moet ik het volgende maken.
Stel de categorie Test heeft 10 foto's.
Foto ID's:
1
2
3
5
7
10
20
21
22
23
Ik ben momenteel de foto van ID 5 aan het bekijken op de fotopagina. Nu heb ik 2 images op mijn pagina staan die vorige en volgende moeten voorstellen.
Welke query moet ik nu maken om uit die categorie de volgende foto te tonen, dus ID 7, en bij vorige ID 3. En wat als er geen vorige of volgende foto is, hoe wordt die query dan.
Ik kom er even niet aan uit, als iemand mij op weg kan helpen hoor ik het graag!
- In de knoei met query
-
19-08-2011, 12:56 #1
- Berichten
- 1.245
- Lid sinds
- 18 Jaar
In de knoei met query
-
-
19-08-2011, 13:08 #2
Elephant Media GbR
- Berichten
- 1.253
- Lid sinds
- 18 Jaar
Re: In de knoei met query
Eerste Foto
SELECT * FROM `fotos` WHERE `cat` = 'Test' ORDER BY ID DESC LIMIT 0,1
SELECT * FROM `fotos` WHERE `cat` = 'Test' ORDER BY ID DESC LIMIT 1,2
SELECT * FROM `fotos` WHERE `cat` = 'Test' ORDER BY ID DESC LIMIT 2,3
-
19-08-2011, 13:09 #3
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: In de knoei met query
De query veranderd niet, je moet in je PHP voor een vangnet zorgen indien er geen vorige of volgende foto is. De vorige foto wordt iets als:
SELECT * FROM photos WHERE categorie = '$categorie_id' AND photo_id < '$huidige_id' LIMIT 1;
De volgende:
SELECT * FROM photos WHERE categorie = '$categorie_id' AND photo_id > '$huidige_id' LIMIT 1;
Je kunt dan met mysql_num_rows() kijken of er überhaupt een resultaat is, indien dat is kun je die vorige of volgende linkjes laten zien.
-
19-08-2011, 13:13 #4
- Berichten
- 195
- Lid sinds
- 18 Jaar
Re: In de knoei met query
In een loop controleren of er een resultaat is bij het volgende ID, is er geen resultaat het ID nummer plus 1, opnieuw controleren, tot er een resultaat is.
Ik weet niet of dit ook is wat Joshua bedoelde?
-
19-08-2011, 13:13 #5
- Berichten
- 501
- Lid sinds
- 18 Jaar
Re: In de knoei met query
De query veranderd niet, je moet in je PHP voor een vangnet zorgen indien er geen vorige of volgende foto is. De vorige foto wordt iets als:
SELECT * FROM photos WHERE categorie = '$categorie_id' AND photo_id < '$huidige_id' LIMIT 1;
De volgende:
SELECT * FROM photos WHERE categorie = '$categorie_id' AND photo_id > '$huidige_id' LIMIT 1;
Je kunt dan met mysql_num_rows() kijken of er überhaupt een resultaat is, indien dat is kun je die vorige of volgende linkjes laten zien.
-
19-08-2011, 14:21 #6
- Berichten
- 1.245
- Lid sinds
- 18 Jaar
Re: In de knoei met query
Ik heb mijn query even gebaseerd op die van Joshua:
Code://vorige $select_vorige = mysql_query("SELECT foto_id,foto_titel FROM foto WHERE foto_cat_id = '".secure_string($foto['foto_cat_id'])."' AND foto_id < '".secure_string($_GET['id'])."' LIMIT 1")or die (mysql_error()); $num_vorige = mysql_num_rows($select_vorige); $vorige = mysql_fetch_assoc($select_vorige); //volgende $select_volgende = mysql_query("SELECT foto_id,foto_titel FROM foto WHERE foto_cat_id = '".secure_string($foto['foto_cat_id'])."' AND foto_id > '".secure_string($_GET['id'])."' LIMIT 1")or die (mysql_error()); $volgende = mysql_fetch_assoc($select_volgende); $num_volgende = mysql_num_rows($select_volgende);
Zijn dezelfde query's gek dat volgende werkt zoals het hoort en vorige niet, of is dit niet gek?
De query veranderd niet, je moet in je PHP voor een vangnet zorgen indien er geen vorige of volgende foto is. De vorige foto wordt iets als:
SELECT * FROM photos WHERE categorie = '$categorie_id' AND photo_id < '$huidige_id' LIMIT 1;
De volgende:
SELECT * FROM photos WHERE categorie = '$categorie_id' AND photo_id > '$huidige_id' LIMIT 1;
Je kunt dan met mysql_num_rows() kijken of er überhaupt een resultaat is, indien dat is kun je die vorige of volgende linkjes laten zien.
-
19-08-2011, 14:33 #7
Elephant Media GbR
- Berichten
- 1.253
- Lid sinds
- 18 Jaar
Re: In de knoei met query
Probeer eens ORDER BY id DESC toe te voegen ?
-
19-08-2011, 14:36 #8
- Berichten
- 1.245
- Lid sinds
- 18 Jaar
Re: In de knoei met query
Top het werkt, bedankt allemaal!
-
20-08-2011, 12:35 #9
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: In de knoei met query
Stom, die was ik inderdaad vergeten :-) Sorry!
-
21-08-2011, 17:59 #10
- Berichten
- 277
- Lid sinds
- 17 Jaar
Re: In de knoei met query
Waarom met een Query je kan ze ook gewoon allemaal ophalen en dan die niet getoond mogen worden op display none zetten en dan met javascript de volgende foto laten zien. Je zou hier prima een fotoviewer van Jquery voor kunnen gebruiken.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic