Graag wil ik een een plaatje van het type BLOB in mijn database opvragen in mijn php code en weergeven op mijn site. de kolomnaam heet 'klein plaatje'. Zou iemand voor mij de code hiervoor willen schrijven?
Een kleinde fix was 'Content-Type' met hoofdletter T schrijven.
>> Als ik de exit uitcomentariseer (en uiteraard de laatste header en echo) werkt hij nog steeds.

Dan komt ie waarschijnlijk uit de browser-cache :)

>> Een kleinde fix was 'Content-Type' met hoofdletter T schrijven.

Haha, scherp Dos.
Dit is de relevante code waar ik de img src tag in heb:

<?php
session_start();
while ($row = mysql_fetch_assoc($query)) {
    echo $row["productnaam"] . "<br>";
	echo $row["prijs"] . "<br>";
	echo $row["korte omschrijving"] . "<br>";
	echo $row["lange omschrijving"] . "<br>";
	$_SESSION['productnaam'] = $row["productnaam"];
	
	?>
	<img src="test.php"> 


Dit is test.php:

<?php
session_start();
Print_r ($_SESSION);
require_once("databaseconnectie.php");

$sql = "SELECT kleinplaatje FROM catalogus WHERE productnaam ='".$_SESSION['productnaam']."'";

if ($result = mysql_query($sql))
{
  if ($row = mysql_fetch_array($result))
  {
    header('Content-type: image/jpeg');
    echo mysql_result($result, 0);
    exit; // stopt de uitvoer van het script
  }
}

// dit wordt alleen uitgevoerd als 'exit' niet aangeroepen is, wat dus betekend dat er iets fout ging
header('HTTP/1.0 404 Not Found');
echo '404 - Page Not Found';

?>


Toevoeging op 24/12/2013 12:55:14:

De sessies werkt nu deels. Het probleem is dat de output alle plaatjes hetzelfde zijn. Ze zijn allemaal van het product die als laatste door de while loop ging. Hoe is dit op te lossen en waarom is dit het geval?
Dat is toch niet zo gek. Je overschrijft het telkens als je een nieuw record uit je database haalt in die while loop. De laatste blijft dus alleen over.
Aha, dan is dat niet zo gek inderdaad. Hoe los ik dit op? Ik zat te denken aan een array... maar dan moet ik in test.php weer een een of andere teller meegeven die de index representeert.. en hoe geef ik die mee? Zou je voor kunnen doen hoe je dit zou doen?

Oh, en de array moet dan dynamisch zijn
$_SESSION['productnaam'][] gebruiken op lijn 8.
Kijk aan het einde van de while() nog een naar de array in $_SESSION['productnaam']
Dat gaat met een array natuurlijk helemaal niet werken. Ja, je kan het opslaan. Maar hoet weet test.php dat je eerst 'product1' wil hebben en daarna 'product2'?

Je zal die naam gewoon mee moeten geven in een GET parameter van test.php en aan de hand daarvan het juiste plaatje moeten ophalen.
@Aar. Wat bedoel je precies met je 2e zin?

@Erwin H Hoe geef ik dat mee in een GET parameter? Toch niet in een form?
In de img tag is je src attribute gewoon een url naar een php pagina. Daar kan je dus een GET parameter in meegeven.
Ohh ok. Bedankt, dat wist ik niet. Maar hoe is de syntax dan in de img src tag? En hoe vraag ik die variabele dan weer in test.php op? Ik ben behoorlijk nieuw in PHP.

Reageren