Es Klappt! Es funktionier! Es war ein kleiner Fehler drinnen, deswegen hat er es ignoriert.
Der Fehler lag in:
PHP-Code:
$temp[]="album.AlbumName LIKE '%$style%'";
Es git keine Spalte namens “ArtistStyle” in der Tabelle „album“ sondern nur bei der Tabelle „artist“
Danke für Deine Hilfe, mühe und Geduld. Ich hätte es ohne Hilfe nie hinbekommen. Danke.
Hier der Funktionierende Skript:
PHP-Code:
<?php
//Meldungen von PHP anzeigen
error_reporting(E_ALL);
require_once('Connections/RecordstorePHP.php');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Unbenanntes Dokument</title>
</head>
<body>
<?php
// DB waehlen
mysql_select_db($database_RecordstorePHP, $RecordstorePHP);
// Query anfangen
$query_Search = 'SELECT * FROM album, artist WHERE ';
// Wenn style gewaehlt, dann in Array $temp packen
$style = "1";
if (isset($HTTP_GET_VARS['style'])) {
$style = (get_magic_quotes_gpc()) ?
$HTTP_GET_VARS['style']
: addslashes($HTTP_GET_VARS['style']);
$temp[]="artist.ArtistStyle LIKE '%$style%'";
}
// Wenn albumname gewaehlt, dann in Array $temp packen
$albumname = "1";
if (isset($HTTP_GET_VARS['albumname'])) {
$albumname = (get_magic_quotes_gpc()) ?
$HTTP_GET_VARS['albumname']
: addslashes($HTTP_GET_VARS['albumname']);
$temp[]="album.AlbumName LIKE '%$albumname%' AND album.AlbumID = artist.ArtistID";
}
// Wenn was im Array ist, dann...
/*
if (isset($temp)) {
// Array zusammenfuegen und ' AND ' dazwischenpacken
$Search = mysql_query($query_Search.join(' AND ', $temp), $RecordstorePHP) or die(mysql_error());
$row_Search = mysql_fetch_assoc($Search);
$totalRows_Search = mysql_num_rows($Search);
}
*/
?>
<form action="test7.php?search=true" method="get" name="form1" id="form1">
<select name="style">
<option value="" selected>Style</option>
<?php
// Alle Styles auslesen und ausgeben
$Search = mysql_query('SELECT ArtistStyle FROM artist WHERE artist.ArtistID GROUP BY ArtistStyle ASC', $RecordstorePHP) or die(mysql_error());
while ($row_Search = mysql_fetch_assoc($Search)) {
echo "<option value='{$row_Search['ArtistStyle']}'>{$row_Search['ArtistStyle']}</option>n";
}
?>
</select>
<select name="albumname">
<option value="">Album Name</option>
<?php
// Alle Albennamen auslesen und ausgeben
$Search = mysql_query('SELECT AlbumName FROM album WHERE album.AlbumID GROUP BY AlbumName ASC', $RecordstorePHP) or die(mysql_error());
while ($row_Search = mysql_fetch_assoc($Search)) {
echo "<option value='{$row_Search['AlbumName']}'>{$row_Search['AlbumName']}</option>n";
}
?>
</select>
<input type="submit" name="Submit" value="Search">
</form>
<?php if (isset($temp)) {
$Search = mysql_query($query_Search.join(' AND ', $temp), $RecordstorePHP) or die(mysql_error());
$row_Search = mysql_fetch_assoc($Search);
$totalRows_Search = mysql_num_rows($Search);
?>
<?php if ($totalRows_Search == 0) { ?>
No albums match your search. Try looking for something else.
<?php } else { ?>
<table width="100%" border="0" cellpadding="2">
<tr>
<td> </td>
<td><strong>Album</strong></td>
<td><strong>Artist</strong></td>
<td><strong>Style</strong></td>
</tr>
<?php do { ?>
<tr>
<td><img src="<?php echo $row_Search['AlbumCoverThumbnailURL']; ?>"></td>
<td><a href="albumdetail.php?AlbumID=<?php echo $row_Search['AlbumID']; ?>">
<?php echo $row_Search['AlbumName']; ?></a></td>
<td><?php echo $row_Search['ArtistGroupName']; ?></td>
<td><?php echo $row_Search['ArtistStyle']; ?></td>
</tr>
<?php } while ($row_Search = mysql_fetch_assoc($Search)); ?>
</table>
<?php } ?>
<?php }
echo "<br><br>";
echo $query_Search.join(' AND ', $temp);
?>
</body>
</html>