Ik zit nu al uren met iets te stoeien maar ik kom er niet uit.
Ik heb 2 tabellen in MYSQL:
Items
Met de velden id en naam
Fotos
Met de velden
fotoid --- item --- fotobestand
Waarbij fotobestand natuurlijk de bestandsnaam van de foto is.
Nu wil ik graag het volgende doen:
Dus na elke Item->Naam de bijbehorende foto's weergeven. Dit doe ik op de volgende manier:
Dus de regel
en dit werkt in principe prima, maar het ziet er helemaal verkeerd uit:
De opmaak die nog niet klopt even achterwege gelaten, er zitten per item op het moment 3 foto's in de database en voor elke foto wordt de item-naam weergegeven, het is dus de bedoeling dat dit maar 1 keer gebeurt, voor de eerste foto.
Ook is er een scrollbar naar rechts toe, terwijl de bedoeling is dat foto's die niet meer passen, een regel er onder worden weergegeven (zoals in het voorbeeld).
Hoe ga ik dit oplossen?
Volledige script:
(Het SELECT 'nieuws' gedeelte is niet relevant, pas vanaf "// items weergeven" (regel 69))
Ik heb 2 tabellen in MYSQL:
Items
Met de velden id en naam
Fotos
Met de velden
fotoid --- item --- fotobestand
Waarbij fotobestand natuurlijk de bestandsnaam van de foto is.
Nu wil ik graag het volgende doen:

Dus na elke Item->Naam de bijbehorende foto's weergeven. Dit doe ik op de volgende manier:
PHP:
$itemsQuery = "SELECT * FROM items ORDER by id DESC";
$itemsResult = mysql_query($itemsQuery) or die (mysql_error());
while($itemsRow = mysql_fetch_array($itemsResult)) {
extract($itemsRow);
$itemsfotosQuery = "SELECT * FROM fotos WHERE item='$id' ORDER by fotoid DESC";
$itemsfotosResult = mysql_query($itemsfotosQuery) or die (mysql_error());
while($itemsfotosRow = mysql_fetch_array($itemsfotosResult)){
extract($itemsfotosRow);
Code:
"SELECT * FROM fotos WHERE item='$id'

De opmaak die nog niet klopt even achterwege gelaten, er zitten per item op het moment 3 foto's in de database en voor elke foto wordt de item-naam weergegeven, het is dus de bedoeling dat dit maar 1 keer gebeurt, voor de eerste foto.
Ook is er een scrollbar naar rechts toe, terwijl de bedoeling is dat foto's die niet meer passen, een regel er onder worden weergegeven (zoals in het voorbeeld).
Hoe ga ik dit oplossen?

Volledige script:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>xxx</title>
<style type="text/css">
<!--
#divLogo {
margin: 0px;
padding: 0px;
width: 1240px;
}
#containerLeftRight {
margin: 0px;
padding: 0px;
width: 1239px;
}
#divLeft {
margin: 5px;
padding: 0px;
width: 228px;
height: 200px;
float: left;
}
#divRight {
margin: 0px;
padding: 0px;
width: 1001px;
height: 500px;
float: left;
}
#trItemName {
valign: top;
bgcolor: red;
}
-->
</style>
</head>
<body>
<div id="divLogo"><img src=header.jpg></div>
<?php
include("config.php");
echo'
<div id="containerLeftRight">
<div style="overflow: auto" id="divLeft">
';
// Nieuws weergeven
$nieuwsQuery = "SELECT * FROM nieuws ORDER by id DESC";
$nieuwsResult = mysql_query($nieuwsQuery) or die (mysql_error());
while($nieuwsRow = mysql_fetch_array($nieuwsResult)) {
extract($nieuwsRow);
echo'
<a href=item.php?id='.$id.'>'.$titel.'</a><br>
'.$tekst.'<br>
';
if (isset($foto)) {
echo'
<img src=img/'.$foto.'>
';
}
}
echo'</div>
<div style="overflow: auto" id="divRight">';
// Items weergeven
echo'
<TABLE>
<tr BGCOLOR="#666666" VALIGN=center>
';
$itemsQuery = "SELECT * FROM items ORDER by id DESC";
$itemsResult = mysql_query($itemsQuery) or die (mysql_error());
while($itemsRow = mysql_fetch_array($itemsResult)) {
extract($itemsRow);
$itemsfotosQuery = "SELECT * FROM fotos WHERE item='$id' ORDER by fotoid DESC";
$itemsfotosResult = mysql_query($itemsfotosQuery) or die (mysql_error());
while($itemsfotosRow = mysql_fetch_array($itemsfotosResult)){
extract($itemsfotosRow);
echo'
<td>'.$naam.'</td>
<td><img height=100 src=img/'. $fotobestand .'></td>
';
}}
echo'</tr></TABLE>';
?>
</div>
</div>
</body>
</html>
Laatst bewerkt: