Join query wil niet
nav vorige post zelf ff nagedacht en probeer nu alles in 1 query op te halen:
$query = ("SELECT * FROM produkten JOIN label_manager on label_id WHERE label_manager.label_id =produkten.label_id, ORDER BY prod_naamlang, prod_naamlang DESC");
$query = ("SELECT * FROM produkten JOIN label_manager on label_id WHERE label_manager.label_id =produkten.label_id, ORDER BY prod_naamlang, prod_naamlang DESC"); $result = mysql_query($query) or die ('Fout bij ophalen gegevens');
$resulttellen = mysql_num_rows($result) or die ('Fout bij ophalen gegevens');
while($row = mysql_fetch_array($result))
{
$prodID= @$row['prod_id'];
$fileID= @$row['file_id'];
$labelID= @$row['label_id'];
$labelimage= @$row['label_name'];
}
maar dit geeft altijd error.
Wat doe ik nu fout id query?
Kees
welke error ?? table dumb ?
Zo heb ik het ook altijd gedaan met joins en het werkt perfect :p
Join terwijl koloomen zelfde naam hebben..
LEFT JOIN was hier de oplossing en werkt nu ook:
<html><title>Wijnwinkel Groot- Vertroue</title>
<link href="../../shopstyle.css" rel="stylesheet" type="text/css">
<head>
</head>
<body class="body">
<table width="438" height="429" border="0" cellpadding="0" cellspacing="0" background="../midden.jpg">
<tr>
<td valign="top"><table width="443" height="429" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="19" rowspan="2" valign="top"><img src="img/spacer.gif" width="19" height="4" hspace="0" vspace="0" border="0"></td>
<td width="424" height="21" colspan="3" valign="bottom" class="koppen"><img src="img/spacer.gif" width="1" height="1" hspace="0" vspace="0" border="0">Wijnwinkel</td>
</tr>
<tr>
<td colspan="3" valign="top">
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?
include("../../instellen/connect.inc.php");
mysql_connect($host, $user, $password) or die('Kon geen contact maken met de database.');
mysql_select_db($DBname) or die("Fout bij aanspreken database");
$query =
"SELECT *
FROM produkten
LEFT JOIN label_manager ON label_manager.label_id
WHERE produkten.label_id = label_manager.label_id
";
$result = mysql_query($query) or die (mysql_error());
//$resulttellen = mysql_num_rows($result) or die ('Fout bij ophalen gegevens');
while($row = mysql_fetch_array($result))
{
$prodID= $row['prod_id'];
$fileID= $row['file_id'];
$labelID= $row['label_id'];
$labelimage= $row['label_name'];
$prodnaamlang= $row['prod_naamlang'];
$prodnaamkort= $row['prod_naamkort'];
$prodsoortlang=$row['prod_soortlang'];
$prodsoortkort= $row['prod_soortkort'];
$prodaanplant= $row['prod_aanplant'];
$prodalcohol= $row['prod_alcohol'];
$prodopbrengst= $row['prod_opbrengst'];
$prodverpakking= $row['prod_verpakking'];
$prodinhoud= $row['prod_inhoud'];
$prodkleur= $row['prod_kleur'];
$prodprijs1= $row['prod_prijs1'];
$prodprijs2= $row['prod_prijs2'];
$notitie= $row['prod_notitie'];
$drinken= $row['prod_drinken'];
?>
include("../../instellen/connect.inc.php");
mysql_connect($host, $user, $password) or die('Kon geen contact maken met de database.');
mysql_select_db($DBname) or die("Fout bij aanspreken database");
$query =
"SELECT *
FROM produkten
LEFT JOIN label_manager ON label_manager.label_id
WHERE produkten.label_id = label_manager.label_id
";
$result = mysql_query($query) or die (mysql_error());
//$resulttellen = mysql_num_rows($result) or die ('Fout bij ophalen gegevens');
while($row = mysql_fetch_array($result))
{
$prodID= $row['prod_id'];
$fileID= $row['file_id'];
$labelID= $row['label_id'];
$labelimage= $row['label_name'];
$prodnaamlang= $row['prod_naamlang'];
$prodnaamkort= $row['prod_naamkort'];
$prodsoortlang=$row['prod_soortlang'];
$prodsoortkort= $row['prod_soortkort'];
$prodaanplant= $row['prod_aanplant'];
$prodalcohol= $row['prod_alcohol'];
$prodopbrengst= $row['prod_opbrengst'];
$prodverpakking= $row['prod_verpakking'];
$prodinhoud= $row['prod_inhoud'];
$prodkleur= $row['prod_kleur'];
$prodprijs1= $row['prod_prijs1'];
$prodprijs2= $row['prod_prijs2'];
$notitie= $row['prod_notitie'];
$drinken= $row['prod_drinken'];
?>
<form method="get" action="wijn.php" class="catalogusform">
<table width="136" height="107" border="0" cellpadding="0" cellspacing="0" background="img/labels/" class="catalogustabelletjes">
<tr>
<td valign="top"><table width="136" height="107" border="0" cellpadding="2" cellspacing="0">
<tr align="right" valign="middle">
<td height="21" colspan="2" class="produktlabelkop"><span class=style3><img src="./img/spacer.gif" width="3" height="1" hspace="0" vspace="0" border="0" align="absmiddle"></span></td>
</tr>
<tr>
<td width="70" height="69" valign="top"><input name="Submit" type="image" value="Submit" src="../img/spacer.gif" width="70" height="69">
<input name="prodID" type="hidden" id="prodID" value=""></td>
<td align="left" valign="top" class="produktlabeltextklein"><br>
<br>
<br>
va. € </td>
</tr>
</table></td>
</tr>
</table>
</form>
</td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
Maar nu loop ik tegen iets anders aan:
de reultataen worden ieder netjes op hun eigen formulier geprint maar er zit ruimte tussen de formulieren en die krijg ik maar niet weg. Er zit een rand om het form en de tabel voor de duidelijkheid
http://www.subasonic.nl/zieruimte.html
Gewijzigd op 09/09/2004 12:50:00 door kees
kees, misschien vind je het leuk om tutorial over joins te schrijven?! :)
$prodID= $row['prod_id'];
$fileID= $row['file_id'];
$labelID= $row['label_id'];
$labelimage= $row['label_name'];
$prodnaamlang= $row['prod_naamlang'];
$prodnaamkort= $row['prod_naamkort'];
$prodsoortlang=$row['prod_soortlang'];
$prodsoortkort= $row['prod_soortkort'];
$prodaanplant= $row['prod_aanplant'];
$prodalcohol= $row['prod_alcohol'];
$prodopbrengst= $row['prod_opbrengst'];
$prodverpakking= $row['prod_verpakking'];
$prodinhoud= $row['prod_inhoud'];
$prodkleur= $row['prod_kleur'];
$prodprijs1= $row['prod_prijs1'];
$prodprijs2= $row['prod_prijs2'];
$notitie= $row['prod_notitie'];
$drinken= $row['prod_drinken']; "
heb je tijd over ofzo? :-)
gebruik gewoon $row overal, zet het niet in aparte vars die je vervolgens maar 1 keer gebruikt, dit kjost veel tijd en geheugen en het heeft geen nut.
LEFT JOIN label_manager ON label_manager.label_id
da kannie.
De syntax is of:
SELECT *
FROM produkten
LEFT JOIN label_manager ON produkten.label_id = label_manager.label_id
of
SELECT *
FROM produkten
LEFT JOIN label_manager
WHERE produkten.label_id = label_manager.label_id
Over je nieuwe probleem: je print losse forms in een enkele cell van de buitenste tabel, en je zet er geen BR tussen. HTML gaat dus maar wat gokken over wat je bedoelt.
Wel vreemd dat mij query zelfde resultaat gaf?
Opnieuw zetten van variabeles $prodID=
helpt mij beter te begrijpen voor nu ben nog niet zolang bezig.
Over 2e probleem:
Bedankt voor je aanwijzing. ik heb er nu nog een tabelletje omheen gezet en nu staan ze tegen elkaar aan, maar als ik er dan een br inzet komt ie weer op de ruimte van een paragraaf uit??
Kheb voorbeeld online staan op:
http://www.subasonic.nl/zieruimte.html
Zal ik verder met CSS moeten doen vrees ik?
Gewijzigd op 09/09/2004 14:40:00 door kees
De tabel die ik heb toegevoegd heb ik 5 pixels groter gemaakt als de tabel die erin komt en nu is de afstand precies zoals ik het hebben wil.
In ieder geval maar weer bedankt mensen!
Kees