So hier mal mein Versuch in Datenbankabftragen von MySQL.
PHP-Code:
$sql="SELECT nummer,artikel,zusatz,brutto,lieferant,name";
$sql.=" FROM artikelk WHERE MATCH (artikel) AGAINST";
$sql.=" ('+$artikel' IN BOOLEAN MODE) LEFT JOIN adressen ";
$sql.="ON kunde=lieferant";
Also die Abfrage funktioniert bis zu 'LEFT JOIN' ganz gut. Liegt wohl daran das LEFT JOIN einfach von mir angehängt worden ist.
Es gibt die beiden Tabellen "artikelk" und "adressen", die Variable "$artikel" sucht mir aus "artikelk" alle passenden Felder, bis auf "name" dieses Feld stammt aus der Tabelle "adressen". Die beiden Tabelle verknüpfen sich über die Felder "kunde" und "lieferant". Was aber nur eine Fehlermeldung auslößt
In meinem Lehrbuch steht die Möglichkeit es mit temporären Tabellen zu versuchen.
Auch hier mal mein Versuch:
PHP-Code:
<head>
<title>check</title>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<
<?php
$artikel=$HTTP_POST_VARS['artikel'];
include("funk.php");
include("verbind.php");
$sqlt="CREATE TEMPORARY TABLE tmp";
$sqlt.="SELECT nummer,artikel,zusatz,brutto,lieferant";
$sqlt.=" FROM artikelk WHERE MATCH (artikel) AGAINST";
$sqlt.=" ('+$artikel' IN BOOLEAN MODE)";
mysql_query($sqlt)
$sql="SELECT t.nummer,t.artikel,t.zusatz,t.brutto,t.lieferant,a.name";
$sql.="FROM tmp AS t";
$sql.="INNER JOIN adressen AS a ON t.lieferant=a.kunden";
if ($res=send_sql($db,$sql)) {
echo "Abfrage: <br> $sql"; }
tab_out($res);
if ($res=send_sql($db,$sql)) {
echo "SQL-Kommando wurde ausgeführt";
}
?>
<br>
<a href="suchlieferant.html">Neue Suche.</a><br><br>
<a href="menue.html">Zurück zur Auswahl</a>
</body>
</html
Freihändig Coden ist wohl noch nicht mein Ding, hier auf jeden Fall versuche ich erst ein Temporäre Tabelle zu erzeugen und die dann anschließend mit der Tabelle "adressen" zu verknüpfen, was aber nur zu einem Syntax Fehler führt.
Lesezeichen