Onderwerp bekijken
Algemene support omtrent algemene gebruik- en installatieproblemen.
Controleren of afbeelding aanwezig in database
|
|
AvSan |
Geplaatst op 05 July 2009, 17:24
|
![]() Junior Lid ![]() Berichten: 35 Lid sinds: 18 Mar 2009, 08:25 |
Ik heb in de fotogalerij een album aangemaakt en hier wat plaatjes ingezet. Nu heb ik een aantal pagina's waarbij sommige wel een afbeelding moeten hebben en andere dan weer niet, afhankelijk van de naam van de pagina en dus of de afbeelding aanwezig is. Hoe kan ik controleren of de afbeelding (of de link naar de afbeelding, want de afbeelding staat uiteraard gewoon in images/photoalbum/etc. map) in de database aanwezig is? Ik had al geprobeerd om het zonder de check op de database, met if (file_exists(afbeelding.jpg)) te doen, maar dat werkt alleen als de afbeeldingen in dezelfde map als de pagina staan. Eventueel een andere oplossing waarbij de aanwezigheidscheck niet via de database hoeft te lopen en de afbeeldingen in een andere map dan de pagina kunnen staan is uiteraard ook goed ![]() |
|
|
AvSan |
Geplaatst op 05 July 2009, 22:08
|
![]() Junior Lid ![]() Berichten: 35 Lid sinds: 18 Mar 2009, 08:25 |
Ik denk dat ik zelf al de oplossing heb gevonden: [geshi=php]$page = basename($_SERVER["PHP_SELF"]); $page = explode('.', $page); $page = $page[0]; $filename = "$page.jpg"; $query = "SELECT * FROM fusion_photos WHERE photo_filename = '$filename'"; $result = mysql_query($query) or die (mysql_error()); $num = mysql_num_rows($result); if ($num > 0) { echo " } else { echo "geen bestand"; } [/geshi] Echter eventuele suggesties voor verbeteringen zijn altijd welkom, ben nog een redelijke noob wat php betreft. |
|
|
Steff |
Geplaatst op 06 July 2009, 09:36
|
![]() Senior Lid ![]() Berichten: 484 Lid sinds: 30 Nov 2008, 11:32 |
Eerst een aantal suggesties om je coding wat simpeler te maken. PHP_SELF wordt al door fusion gefilterd en wordt uiteindelijk FUSION_SELF (constante) Query's worden uitgevoerd door de dbquery() functie, en de rijen worden geteld mbv de dbrows() functie. // Als de foto enkel in album 1 mag staan: [geshi=php] $page = basename($_SERVER["PHP_SELF"], ".php"); /* Ook een mogelijkheid: $page = explode(".", FUSION_SELF); $page = $page[0]; */ $result = dbquery("SELECT * FROM ".DB_PHOTOS." WHERE (photo_filename = '$page.jpg' OR photo_filename = '$page.gif') AND (album_id = '1') LIMIT 1"); if (dbrows($result)) { $data = dbarray($result); echo " } else { echo "geen bestand"; } [/geshi] // Als de foto in alle albums mogen stan: [geshi=php] $page = basename($_SERVER["PHP_SELF"], ".php"); /* Ook een mogelijkheid: $page = explode(".", FUSION_SELF); $page = $page[0]; */ $result = dbquery("SELECT * FROM ".DB_PHOTOS." WHERE (photo_filename = '$page.jpg' OR photo_filename = '$page.gif')"); if (dbrows($result)) { $data = dbarray($result); echo " } else { echo "geen bestand"; } [/geshi] Gewijzigd door Steff op 06 July 2009, 09:38 |
|
|
AvSan |
Geplaatst op 10 July 2009, 20:29
|
![]() Junior Lid ![]() Berichten: 35 Lid sinds: 18 Mar 2009, 08:25 |
Thanks Jeepers, weer wat php en wat van fusion geleerd. Alleen 1 vraagje nog wat is die limit 1 die in regel 7 van jouw eerste voorbeeld staat? |
|
|
AvSan |
Geplaatst op 10 July 2009, 20:47
|
![]() Junior Lid ![]() Berichten: 35 Lid sinds: 18 Mar 2009, 08:25 |
Hmmm... te vroeg geantwoord, ik weet niet hoe het komt, maar met jouw code krijg ik een foutmelding met een onbekende $end op regel 85. Toch mn eigen code maar gebruikt... |
|
|
Steff |
Geplaatst op 11 July 2009, 16:20
|
![]() Senior Lid ![]() Berichten: 484 Lid sinds: 30 Nov 2008, 11:32 |
Limit 1 betekent dat hij de 1ste rij neemt. En die error betekent dat je een } vergeten bent te kopieren of er nog een te veel had laten staan. |
|
Spring naar forum: |
![]() ![]() |
Gebruik BBcode of HTML om naar; 'Controleren of afbeelding aanwezig in database', te verwijzen!
BBcode: | |
HTML: |
Vergelijkbare onderwerpen
Onderwerp | Forum | Laatste bericht | |
---|---|---|---|
Problemen Database | Algemene v7 support | : 5 | 21 Aug 2014, 11:25 |
Afbeelding verwijderen na lees meer | Algemene v7 support | : 5 | 10 Jan 2014, 14:40 |
Afbeelding invoegen | Algemene v7 support | : 11 | 24 May 2012, 05:34 |
PHP database bouwen | Algemene v7 support | : 9 | 24 May 2012, 05:23 |
persons database | Infusions | : 13 | 07 Feb 2012, 12:08 |