Ik ben net met PHP/MySQL begonnen en heb een database aangemaakt met producten. Uit deze database probeer ik alle producten te krijgen en deze in tabelvorm te presenteren. Op dit moment heb ik ervoor gekozen om alles horizontaal te presenteren (Titel, Fabrikant, PrijsNormaal, Prijsaanbieding en een plaatje). Dit leek me voor nu even iets makkelijker want eigenlijk wil ik ernaar toe om te beginnen met het (thumbnail) plaatje en rechts daarnaast de 4 eergenoemde rubrieken onder elkaar. Dit neemt minder ruimte in waardoor je 2 kolommen van producten naast elkaar kan maken. Stap daarna moet worden dat je op de titel klikt en naar een detailscherm moet gaan.

EDIT: Error opgelost, link naar details gelukt. Alleen nog oplossing voor 2 kolommen met producten gezocht!!

Maar eerst terug naar wat ik nu heb:

<?
$username="";
$password="";
$database="";
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$sitepad = "/test/tnimages/";
$sql = "SELECT * FROM Product ";
$resultaat = mysql_query($sql) or die(mysql_error());

if (mysql_num_rows($resultaat) > 0)
{
echo "<table border =1>";

while ($rij = mysql_fetch_array($Resultaat)) {
echo "<tr>";
echo "<td>".$rij["Titel"]."</td>";
echo "<td>".$rij["Fabrikant"]."</td>";
echo "<td>".$rij["Prijsnormaal"]."</td>";
echo "<td>".$rij["PrijsAanbieding"]."</td>";
echo "<td>";
$sql = "SELECT * FROM Pictures WHERE Product_ID=".$rij["Product_ID"];
$Pictures = mysql_query($sql);
if (mysql_num_rows($Pictures) > 0) {
while ($afb_rij = mysql_fetch_array($Pictures)) {
$bestandsnaam = $sitepad.$afb_rij["Pictures_ID"].$afb_rij["Bestandstype"];
echo "<img src=\"$bestandsnaam\"> ";
}
}else {
echo "Geen afbeelding";
}
echo "</td></tr>";
}
echo "</table>";
}
mysql_close();
?>


Ik krijg de volgende error: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Heb de uitleg over deze functie op deze site nog eens gelezen maar zie de fout niet zo snel.

Wie kan mij helpen en ook eventueel al meedenken over mijn gevolgstappen.

HEEL erg bedankt alvast, wordt langzamerhand gek van het feit dat het niet werkt. LOL
Rick, heb je nog over een mooie oplossing gedroomd vannacht? ;)
het gaan toch 2 queries worden denk ik, ik zou even niet weten hoe je het anders kan oplossen
aangezien het niet zeker is dat de andere bestaat word het anders erg moeilijk
Kun je me even mailen? Of anders helpen met de 2 queries?
ik bedenk me net dat we dit wel met een LEFT JOIN kunnen oplossen

dat zou er dan zo ongeveer uitzien
SELECT Products.* FROM Product
LEFT JOIN Pictures ON Products.Product_ID = Pictures.Product_ID

werkt dat misschien?
m'n mailadres staat in m'n profiel ;)
EDIT:

Rick het lijkt te werken!!

Jouw query:

SELECT Products.* FROM Product
LEFT JOIN Pictures ON Products.Product_ID = Pictures.Product_ID

Heb ik van gemaakt:

$query = "SELECT * FROM Product LEFT JOIN Pictures ON Product.Product_ID = Pictures.Product_ID";

Nog even verder testen maar het ziet er zeer goed uit nu. Kan je niet genoeg bedanken. Mail je ook nog wel even.
mooi, ik bedacht me opeens dat het met een leuke join wel kan ;)

ik hoop dat je trouwens wel indexen gebruikt op die ID's, dat kan gigantisch veel performance schelen (tot zo'n 1000x sneller bij grote tabellen)
Zie je mail.

Reageren