Hallo,
ich bin im Moment mit meinem Latein am Ende.
Habe folgendes Problem.
Ich habe eine "Home DVD Sammlung" DB erstellt, mit mehreren Tabellen
Habe jetzt mal eine Test select Anweisung geschrieben, mit den ausgaben Filmtitel, Laufzeit, Studio, Genre, FSK und Schaupielernamen.
3 Tabellen
Film (Daten),
Darsteller (Zwischentabelle die beide Tabellen verbindet)
und Schauspieler (mit allen Schauspielern für alle Filme)
Diese sollen in einer Tabelle ausgegeben werden. -> klappt auch
Desweitern sollen alle zugehörigen Schauspieler in einem Tabellenfeld ausgeben werden.
-> Aber es werden pro Schauspieler ein kompletter Datensatz ausgegeben.
Leider klappt das nicht, habe schon While und for schleifen probiert aber ohne erfolg.
Ich werde mal den Quellecode einfügen:
Achja, es soll bei
<tr>
<td>'.$row[5].'</td>
<td>Schauspieler</td>
</tr>
ausgegeben werden.
Dank im Voraus.
Forennewbie
Kronic
ich bin im Moment mit meinem Latein am Ende.
Habe folgendes Problem.
Ich habe eine "Home DVD Sammlung" DB erstellt, mit mehreren Tabellen
Habe jetzt mal eine Test select Anweisung geschrieben, mit den ausgaben Filmtitel, Laufzeit, Studio, Genre, FSK und Schaupielernamen.
3 Tabellen
Film (Daten),
Darsteller (Zwischentabelle die beide Tabellen verbindet)
und Schauspieler (mit allen Schauspielern für alle Filme)
Diese sollen in einer Tabelle ausgegeben werden. -> klappt auch
Desweitern sollen alle zugehörigen Schauspieler in einem Tabellenfeld ausgeben werden.
-> Aber es werden pro Schauspieler ein kompletter Datensatz ausgegeben.
Leider klappt das nicht, habe schon While und for schleifen probiert aber ohne erfolg.
Ich werde mal den Quellecode einfügen:
Code:
<?php
$host="localhost";
$benutzer="123123";
$passwd="testtest";
$db='filme';
mysql_connect($host,$benutzer,$passwd);
mysql_select_db($db) or die("fehler bei der Verbindung mit $db");
?>
<center>
<table width="900" border="1">
<tr><td>
<table>
<tr>
<td valign="top" width="200">
<form action="film_archiv.php" method="Get">
<table width="122" border="0" cellspacing="2" cellpadding="0">
<tr>
<td></td>
<td><font size="2" face="tahoma"><strong>Suche</strong></font></td>
</tr>
<tr>
<td><font size="2" face="tahoma"><strong>Titel:</strong></font></td>
<td><font size="2" face="tahoma"><input type="text" name="titel" size="15" /></font></td>
</tr>
<tr>
<td><font size="2" face="tahoma"><strong>Schauspieler:</strong></font></td>
<td><font size="2" face="tahoma"><input type="text" name="schauspieler" size="15" /></font></td>
</tr>
<tr>
<td><font size="2" face="tahoma"><strong>Studio:</strong></font></td>
<td><font size="2" face="tahoma">
<select name="studio" size="1">
<option>-ALLE-</option>
<?php
$query = "select distinctrow Studio from film";
$result = mysql_query($query);
while($row = mysql_fetch_row($result))
{
echo "<option>$row[0]</option>";
}
?>
</select></font></td>
</tr>
<tr>
<td><font size="2" face="tahoma"><strong>Genre:</strong></font></td>
<td><font size="2" face="tahoma"><select name="genre" size="1">
<option>-ALLE-</option>
<?php
$query = "select distinctrow Genre from genre";
$result = mysql_query($query);
while($row = mysql_fetch_row($result))
{
echo "<option>$row[0]</option>";
}
?>
</select></font></td>
</tr>
<tr>
<td><font size="2" face="tahoma"><strong>FSK:</strong></font></td>
<td><font size="2" face="tahoma"><select name="fsk" size="1">
<option>-ALLE-</option>
<?php
$query = "select distinctrow FSK from Film";
$result = mysql_query($query);
while($row = mysql_fetch_row($result))
{
echo "<option>$row[0]</option>";
}
?>
</select></font></td>
</tr>
<tr>
<td></td>
<td><font size="2" face="tahoma"><br />
</font></td>
</tr>
<tr>
<td><font size="2" face="tahoma"><strong><input type="reset" value="Reset" /></strong></font></td>
<td><font size="2" face="tahoma"><input type="submit" value="Search" /></font></td>
</tr>
</table>
</form>
</td>
<td valign="top" width="600">
<?php
$t=$_GET['titel'];
$s=$_GET['schauspieler'];
$st=$_GET['studio'];
$g=$_GET['genre'];
$f=$_GET['fsk'];
$bed=0;
$query = "SELECT f.titel, f.spielzeit, f.studio, f.release, f.fsk, s.name
FROM film f INNER JOIN darsteller d ON f.film_id = d.film_id
INNER JOIN schauspieler s ON d.darsteller_id = s.darsteller_id";
if ($t!="")
{$bed_t="(f.titel like \"%$t%\")"; $query .= " where $bed_t"; $bed++;}
else {$bed_t="";}
if ($s!="")
{$bed_s="(s.name like \"%$s%\")"; $query .= " where $bed_s"; $bed++;}
else {$bed_s="";}
if ($st!="-ALLE-")
{$bed_st="(f.studio = \"$st\")";
if ($bed>0) {$query .= " AND $bed_st";}
else {$query .= " where $bed_st"; $bed++;}
}
else {$bed_st="";}
if ($g!="-ALLE-")
{$bed_g="(g.genre = \"$g\")";
if ($bed>0) {$query .= " AND $bed_g";}
else {$query .= " where $bed_g"; $bed++;}
}
else {$bed_g="";}
if ($f!="-ALLE-")
{$bed_f="(f.fsk = \"$f\")";
if ($bed>0) {$query .= " AND $bed_f";}
else {$query .= " where $bed_f"; $bed++;}
}
else {$bed_f="";}
$result = mysql_query($query);
#echo $query;
while($row = mysql_fetch_row($result))
{
echo
'<table width="250" border="1" cellspacing="2" cellpadding="0">
<tr>
<td>'.$row[0].'</td>
<td>Titel</td>
</tr>
<tr>
<td>'.$row[1].'</td>
<td>Spielzeit</td>
</tr>
<tr>
<td>'.$row[2].'</td>
<td>Studio</td>
</tr>
<tr>
<td>'.$row[3].'</td>
<td>Jahr</td>
</tr>
<tr>
<td>'.$row[4].'</td>
<td>FSK</td>
</tr>
<tr>
<td>'.$row[5].'</td>
<td>Schauspieler</td>
</tr>
</table>';
}
?>
</td>
</tr>
</table>
</td></tr>
</table>
</center>
<tr>
<td>'.$row[5].'</td>
<td>Schauspieler</td>
</tr>
ausgegeben werden.
Dank im Voraus.
Forennewbie
Kronic

Kommentar