Jag skulle behöva använda mig av inner join. Hur länkar du tabellerna samman mellan table1 och table2 och mellan table2 och table3? table1 har id Kan detta vara något? Om du vill loopa ut det så kan du titta på datashape providern för att få ett hirarkiskt recordset. Du kan emulera looparna genom att kontrolera om det är samma värde som tidigare i gruppernas id. Men om jag vill ha in en: WHERE price_head.page_id = 1 Sen undrar jag hur jag skriver ut den så att jag får det så :D Vet inte om detta kan vara rätt: Jag har ändrat SQL stäringen till en enda rad: Har lyckats komma en bit på vägen och utvecklat mina felmeddelanden ;) SkrivInner Join.. Kan inte. Behöver hjälp
Problemet är att jag kan inte och har försökt läsa till mig det men förstår det inte riktigt.
Sidan ska Hämtas så här:
table1.headline table1.headline2 table1.headline3
table2.subheadline
table3.text1 table3.text2 table3.text3
where page_id = 1
table1.headline är vilken huvud rubrik
table1.headline2 är vilken över rubrik på tabellen
table1.headline3 är vilken den andra överrubriken är
table2.subheadline är vilka under rubriker till huvud rubriken
table3.text1 är namnet på raden
table3.text2 info1
table3.text3 info2
Någon som förstår hur jag tänker?Sv: Inner Join.. Kan inte. Behöver hjälp
Vilka fält har du för det?Sv:Inner Join.. Kan inte. Behöver hjälp
table2 har id, table1_id
table3 har id, table2_id
*EDIT*
Så alla är har id om den andraSv: Inner Join.. Kan inte. Behöver hjälp
Vet inte om jag ska använda LEFT JOIN eller INNER JOIN.
Vet inte vad skillnaden är :(
SQL = "SELECT price_head.*, price_sub_head.*, price_info.*" & vbCrLf &
"FROM price_head" & vbCrLf &
"INNER JOIN price_sub_head" & vbCrLf &
"ON price_head.id = price_sub_head.price_id" & vbCrLf &
"INNER JOIN price_info" & vbCrLf &
"ON price_sub_head = price_info.price_head" & vbCrLf &
Jag vill då att det ska komma ut så här:
<loop>
price_head.name price_head.high price_head.low
<loop>
price_sub_head.name
<loop>
price_info.name price_info.price_high price_info.price_low
</loop>
</loop>
</loop>
Sv:Inner Join.. Kan inte. Behöver hjälp
SQL frågan bör i Access se ut något sådan:
SELECT price_head.*, price_sub_head.*, price_info.*
FROM (price_head INNER JOIN
price_sub_head ON price_head.id = price_sub_head.price_id) INNER JOIN
price_info ON price_sub_head = price_info.price_head
Access kräver att du nästlar joins inom paranteser om det finns fler än en, så access vet i vilken rdning den skall utföra dem. Detta behövs ofta inte i andra databasmotorer, utan är access specifikt.
Sv: Inner Join.. Kan inte. Behöver hjälp
Är det bara att sätta in den i slutet då?Sv:Inner Join.. Kan inte. Behöver hjälp
Sv: Inner Join.. Kan inte. Behöver hjälp
<table width="100%" border="0" cellpadding="3" cellspacing="0">
<?php
$objConn = mysql_connect(MYSQLHOST,MYSQLUSER,MYSQLPASS);
if (!$objConn) {
die('<br /><br /><b>Could not connect to server:</b><br />' . mysql_error());
}
mysql_select_db(MYSQLDB) or die('<br /><br /><b>Could not connect to database:</b><br />' . mysql_error());
$SQL = "SELECT price_head.*, price_sub_head.*, price_info.* " & vbCrLf &
"FROM (price_head INNER JOIN " & vbCrLf &
"price_sub_head ON price_head.id = price_sub_head.price_id) INNER JOIN " & vbCrLf &
"price_info ON price_sub_head = price_info.price_head " & vbCrLf &
"WHERE price_head.page_id = 1"
$query = mysql_query($SQL);
while($txt = mysql_fetch_array($query))
{
?>
<tr>
<td width="42%"><b><?php print $txt['price_head.price_head']; ?></b></td>
<td width="24%" align="right"> </td>
<td width="17%" align="right"><b><?php print $txt['price_head.price_low']; ?></b></td>
<td width="17%"><b><?php print $txt['price_head.price_high']; ?></b></td>
</tr>
<tr>
<td><?php print $txt['price_sub_head.price_sub_head']; ?></td>
<td align="right"> </td>
<td align="right"> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td align="right"><?php print $txt['price_info.price_name']; ?></td>
<td align="right"><b><?php print $txt['price_info.price_low']; ?></td>
<td><?php print $txt['price_info.price_high']; ?></td>
</tr>
<?php
}
mysql_close($objConn);
?>
</table>
<b>* EDIT *</b>
Fick detta felmeddelande:<code>
Parse error: parse error, unexpected T_VARIABLE in C:\www\bcb\page\price_test.php on line 47
</code>
<b>* EDIT2 *</b>
Koden är längre än det som är utskrivet men detta är den enda PHP koden i den sidan.
Sv:Inner Join.. Kan inte. Behöver hjälp
$SQL = "SELECT price_head.*, price_sub_head.*, price_info.* FROM (price_head INNER JOIN " price_sub_head ON price_head.id = price_sub_head.price_id) INNER JOIN price_info ON price_sub_head = price_info.price_head WHERE price_head.page_id = 1";
Får då detta fel på den raden:
<code>Parse error: parse error, unexpected T_STRING in C:\www\bcb\page\price_test.php on line 39</code>
Sv: Inner Join.. Kan inte. Behöver hjälp
<table width="100%" border="0" cellpadding="3" cellspacing="0">
<?php
$objConn = mysql_connect(MYSQLHOST,MYSQLUSER,MYSQLPASS);
if (!$objConn) {
die('<br /><br /><b>Could not connect to server:</b><br />' . mysql_error());
}
mysql_select_db(MYSQLDB) or die('<br /><br /><b>Could not connect to database:</b><br />' . mysql_error());
$SQL = "SELECT price_head.*, price_sub_head.*, price_info.* FROM (price_head INNER JOIN price_sub_head ON price_head.id = price_sub_head.price_id) INNER JOIN price_info ON price_sub_head = price_info.price_head WHERE price_head.page_id = 1";
$query = mysql_query($SQL);
while($txt = mysql_fetch_array($query))
{
?>
<tr>
<td width="42%"><b><?php print $txt['price_head.price_head']; ?></b></td>
<td width="24%" align="right"> </td>
<td width="17%" align="right"><b><?php print $txt['price_head.price_low']; ?></b></td>
<td width="17%"><b><?php print $txt['price_head.price_high']; ?></b></td>
</tr>
<tr>
<td><?php print $txt['price_sub_head.price_sub_head']; ?></td>
<td align="right"> </td>
<td align="right"> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td align="right"><?php print $txt['price_info.price_name']; ?></td>
<td align="right"><b><?php print $txt['price_info.price_low']; ?></td>
<td><?php print $txt['price_info.price_high']; ?></td>
</tr>
<?php
}
mysql_close($objConn);
?>
</table>
Felmeddelande:<code>
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\www\bcb\page\price_test.php on line 42</code>
Rad 42 är:
while($txt = mysql_fetch_array($query))
Sv:Inner Join.. Kan inte. Behöver hjälp
$query = mysql_query($SQL) or die(mysql_error() . '<br>' . $SQL);
för att få bättre felmeddelande om vad i SQL-satsen som ställer till problem.