Ik ben van plan om iets in elkaar te knutselen (niet voor mezelf).
Nu zit ik met een kleine vraag:
Hoe begin ik het beste aan een script dat een random plaatje (plaatjes heb ik al) uit een map haalt, maar daarbij ook de correcte uitleg bij het plaatje uit de database. Ik weet hoe je de afbeeldingen kan linken in een DB samen met de uitleg, maar het kost nogal wat werk om al die afbeeldingen handmatig in de database toe te voegen (de URL's althans).
Bestaat er een manier om een afbeelding uit een map te selecteren (random natuurlijk) en dan de tekst die erbij hoort uit een DB of een tekst bestand (of een ander formaat) ?
ik hoop dat dit een beetje duidelijk uitgelegd is...
Ik weet niet zeker of ik je goed begrijp, maar voor zover ik het denk te begrijpen....
Je hebt een db nodig, met (minimaal) 2 velden, een veld voor het pad naar de image, en een voor de beschrijving, je zult zo dus iig alles handmatig moeten invoeren...
Maar als je nog niets hebt, dan zou je wel met bv PHP.net: readdir alvast je db kunnen vullen met alle paden van je images
//path to directory to scan. i have included a wildcard for a subdirectory
//get all image files with a .jpg extension.
$images = glob( $_SERVER['DOCUMENT_ROOT']."*/*/*/*.{jpg,jpeg,png}", GLOB_BRACE);
//display images
foreach ($images as $img) {
$img = str_replace($_SERVER['DOCUMENT_ROOT'], "", $img);
echo '<img src="'.$img.'" alt="x" /> ';
}
//path to directory to scan. i have included a wildcard for a subdirectory
Daar heb ik ook al naar gekeken, maar dan zit ik met het probleem dat ik ook tekst aan die afbeelding moet linken die uit een database komt. Het lijkt me dus gemakkelijker om even de directory uit te lezen en die dan in een query te gooien om zo naar een DB weg te schrijven en dan de tekst er maar handmatig bij te gooien.
Alleen heb ik nu het probleem dat zelfs dat niet lukt.
Ik ben van vinTage zijn stukje code uitgegaan en daarop verder gewerkt, maar ik krijg telkens een mysql syntax error:
Foutmelding: Fatal error: 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 'mysql_query("insert into bord values('./afb/A1D.gif','./afb/C47n.gif','./afb/A23' at line 1 in index.php on line 19
$qry = 'mysql_query("insert into bord values('.$values.')")';
// ...
mysql_query($qry,$con) or trigger_error( mysql_error( $con ), E_USER_ERROR );
Maakt samen dit:
mysql_query('mysql_query("insert into bord values('.$values.')")');
$qry='mysql_query("insert into bord values('.$values.')")';
mysql_query('mysql_query("insert into bord values('.$values.')")');
Need I say more?
Offtopic-ish: je geeft de mysql_query() functie als 2e waarde $con mee, dat hoeft niet. De default value is 'de laatste geopende connectie'. En dat is deze.
Wat er nu gebeurd is dat ze allemaal worden opgespaard (zie de punt voor het is-teken op regel 7) en dan in 1x er in gezet op regel 18. Als je wilt dat elke apart wordt ingevoegd, moet je de query in je while zetten ipv erbuiten. Let op! Je connectie hoef je maar 1x te doen, dus die zet je bovenaan (is sowieso een goede gewoonte, in een aparte connect.php en die bovenaan includen/requiren)