Hallo,
mein Name ist Kristian ich bin 31 Jahre alt und lebe seit meinem 20. Lebensjahr in Zagreb.
Mit PHP habe ich erst vor kurzem angefangen und bin daher leider noch sehr unterbemittelt, aufgrund meiner Kenntnisse im SQL dachte ich es wäre einfacher...
Folgendes Problem habe ich und hoffe auf Hilfe.
Mithilfe von Dreamweaver habe ich Diese Website erstellt, die meinem anderen Hobby als "Basis" dienen soll.
Wunsch: Ich filtriere die Daten die ich benötige mit einem Textfeld(ID und Spielername) + zusätzliche Dropdownfilter bei den anderen Daten(wobei sich wiederholende Daten einmalig auszuwählen sind).
Traurige Realität: Ich habe einen funktionieren filter (Text eingabe)erstellt aber das Dropdownmenü will einfach nicht funktionieren. Ich kann nach einem Textfeld filtrieren und NUR wenn ich auch was eingegeben habe, funktioniert der Dropdownfilter. BEISPIEL: Sheik + CF = Emerson Sheik und Robbie Kean(einziger CF neben dem) werden angezeigt.
Wobei ich Hilfe brauche: Ich würde gerne, dass ich auswählen kann ob nach dem Dropdown Feld gesucht werden soll oder nach der Texteingabe oder nach beidem gleichzeitig. Des weiteren hätte ich gerne das im Dropdownmenü jede Position einmalig angezeigt wird und es nicht mehrfache einträge der selben Position gibt.
Könnte mich jemand bitte auf meinen Fehler im Code hinweisen?
Vielen Dank schon einmal.
Gruss,
Kristian
mein Name ist Kristian ich bin 31 Jahre alt und lebe seit meinem 20. Lebensjahr in Zagreb.
Mit PHP habe ich erst vor kurzem angefangen und bin daher leider noch sehr unterbemittelt, aufgrund meiner Kenntnisse im SQL dachte ich es wäre einfacher...
Folgendes Problem habe ich und hoffe auf Hilfe.
Mithilfe von Dreamweaver habe ich Diese Website erstellt, die meinem anderen Hobby als "Basis" dienen soll.
Wunsch: Ich filtriere die Daten die ich benötige mit einem Textfeld(ID und Spielername) + zusätzliche Dropdownfilter bei den anderen Daten(wobei sich wiederholende Daten einmalig auszuwählen sind).
Traurige Realität: Ich habe einen funktionieren filter (Text eingabe)erstellt aber das Dropdownmenü will einfach nicht funktionieren. Ich kann nach einem Textfeld filtrieren und NUR wenn ich auch was eingegeben habe, funktioniert der Dropdownfilter. BEISPIEL: Sheik + CF = Emerson Sheik und Robbie Kean(einziger CF neben dem) werden angezeigt.
Wobei ich Hilfe brauche: Ich würde gerne, dass ich auswählen kann ob nach dem Dropdown Feld gesucht werden soll oder nach der Texteingabe oder nach beidem gleichzeitig. Des weiteren hätte ich gerne das im Dropdownmenü jede Position einmalig angezeigt wird und es nicht mehrfache einträge der selben Position gibt.
Könnte mich jemand bitte auf meinen Fehler im Code hinweisen?
PHP-Code:
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$currentPage = $_SERVER["PHP_SELF"];
$maxRows_PSO_DB = 10;
$pageNum_PSO_DB = 0;
if (isset($_GET['pageNum_PSO_DB'])) {
$pageNum_PSO_DB = $_GET['pageNum_PSO_DB'];
}
$startRow_PSO_DB = $pageNum_PSO_DB * $maxRows_PSO_DB;
mysql_select_db($database_Bplaced, $Bplaced);
$query_PSO_DB = "SELECT * FROM pso_db";
$query_limit_PSO_DB = sprintf("%s LIMIT %d, %d", $query_PSO_DB, $startRow_PSO_DB, $maxRows_PSO_DB);
$PSO_DB = mysql_query($query_limit_PSO_DB, $Bplaced) or die(mysql_error());
$row_PSO_DB = mysql_fetch_assoc($PSO_DB);
if (isset($_GET['totalRows_PSO_DB'])) {
$totalRows_PSO_DB = $_GET['totalRows_PSO_DB'];
} else {
$all_PSO_DB = mysql_query($query_PSO_DB);
$totalRows_PSO_DB = mysql_num_rows($all_PSO_DB);
}
$totalPages_PSO_DB = ceil($totalRows_PSO_DB/$maxRows_PSO_DB)-1;
$queryString_PSO_DB = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_PSO_DB") == false &&
stristr($param, "totalRows_PSO_DB") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_PSO_DB = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_PSO_DB = sprintf("&totalRows_PSO_DB=%d%s", $totalRows_PSO_DB, $queryString_PSO_DB);
$maxRows_PSO_DB = 30;
$pageNum_PSO_DB = 0;
if (isset($_GET['pageNum_PSO_DB'])) {
$pageNum_PSO_DB = $_GET['pageNum_PSO_DB'];
}
$startRow_PSO_DB = $pageNum_PSO_DB * $maxRows_PSO_DB;
//SPIELERSUCHE
$colname_PSO_DB = "-1";
mysql_select_db($database_Bplaced, $Bplaced);
if (isset($_POST['btn_search']))
{ //Nur Suchergebnis
$searchword = $_POST['txt_search'];
$dropdown_posi = $_POST['Hauptposition'];
$query_PSO_DB = "SELECT * FROM pso_db WHERE Spielername LIKE '%" .$searchword. "%' OR ID LIKE '%" .$searchword. "%' OR Hauptposition LIKE '%" .$dropdown_posi. "%'";
}
else //Zeigt alles an
{
$query_PSO_DB = "SELECT * FROM pso_db";
}
$query_limit_PSO_DB = sprintf("%s LIMIT %d, %d", $query_PSO_DB, $startRow_PSO_DB, $maxRows_PSO_DB);
$PSO_DB = mysql_query($query_limit_PSO_DB, $Bplaced) or die(mysql_error());
$row_PSO_DB = mysql_fetch_assoc($PSO_DB);
if (isset($_GET['totalRows_PSO_DB'])) {
$totalRows_PSO_DB = $_GET['totalRows_PSO_DB'];
} else {
$all_PSO_DB = mysql_query($query_PSO_DB);
$totalRows_PSO_DB = mysql_num_rows($all_PSO_DB);
}
$totalPages_PSO_DB = ceil($totalRows_PSO_DB/$maxRows_PSO_DB)-1;
?>
<style type="text/css">
body,td,th {
font-family: "Comic Sans MS", cursive;
color: #00F;
}
body {
background-color: #CCC;
}
</style>
<form id="form1" name="form1" method="post" action="">
<p>
<label for="txt_search">Suche</label>
<input type="text" name="txt_search" id="txt_search" />
</p>
<p>
<label for="Hauptposition">Position</label>
<select name="Hauptposition" size="1" id="Hauptposition">
<?php
do {
?>
<option value="<?php echo $row_PSO_DB['Hauptposition']?>"><?php echo $row_PSO_DB['Hauptposition']?></option>
<?php
} while ($row_PSO_DB = mysql_fetch_assoc($PSO_DB));
$rows = mysql_num_rows($PSO_DB);
if($rows > 0) {
mysql_data_seek($PSO_DB, 0);
$row_PSO_DB = mysql_fetch_assoc($PSO_DB);
}
?>
</select>
<p><input type="submit" name="btn_search" id="btn_search" value="Submit" /></p>
</form>
<p> </p>
<p> </p>
<p> </p>
<table border="3" align="center" cellpadding="10" cellspacing="5">
<tr>
<td align="center"><h4><em><strong>ID</strong></em></h4></td>
<td align="center"><h4><em><strong>Spielername</strong></em></h4></td>
<td align="center"><h4><em><strong>Alter</strong></em></h4></td>
<td align="center"><h4><em><strong>Groesse(cm)</strong></em></h4></td>
<td align="center"><h4><em><strong>Original_Team</strong></em></h4></td>
<td align="center"><h4><em><strong>PSO Team</strong></em></h4></td>
<td align="center"><h4><em><strong>Bewertung</strong></em></h4></td>
<td align="center"><h4><em><strong>Gesamtstaerke</strong></em></h4></td>
<td align="center"><h4><em><strong>Gehalt</strong></em></h4></td>
<td align="center"><h4><em><strong>Sterne</strong></em></h4></td>
<td align="center"><h4><em><strong>Klasse</strong></em></h4></td>
<td align="center"><h4><em><strong>Mindestabloese</strong></em></h4></td>
<td align="center"><h4><em><strong>Hauptposition</strong></em></h4></td>
<td align="center"><h4><em><strong>Land</strong></em></h4></td>
<td align="center"><h4><em><strong>Draftbar</strong></em></h4></td>
</tr>
<?php do { ?>
<tr>
<td><?php echo $row_PSO_DB['ID']; ?></td>
<td><?php echo $row_PSO_DB['Spielername']; ?></td>
<td><?php echo $row_PSO_DB['Alter']; ?></td>
<td><?php echo $row_PSO_DB['Groesse(cm)']; ?></td>
<td><?php echo $row_PSO_DB['Original_Team']; ?></td>
<td><?php echo $row_PSO_DB['PSO Team']; ?></td>
<td><?php echo $row_PSO_DB['Bewertung']; ?></td>
<td><?php echo $row_PSO_DB['Gesamtstaerke']; ?></td>
<td><?php echo $row_PSO_DB['Gehalt']; ?></td>
<td><?php echo $row_PSO_DB['Sterne']; ?></td>
<td><?php echo $row_PSO_DB['Klasse']; ?></td>
<td><?php echo $row_PSO_DB['Mindestabloese']; ?></td>
<td><?php echo $row_PSO_DB['Hauptposition']; ?></td>
<td><?php echo $row_PSO_DB['Land']; ?></td>
<td><?php echo $row_PSO_DB['Draftbar']; ?></td>
</tr>
<?php } while ($row_PSO_DB = mysql_fetch_assoc($PSO_DB)); ?>
</table>
<p>
<?php
mysql_free_result($PSO_DB);
?>
</p>
<p><a href="pso_datenbank.php">Alle anzeigen</a></p>
<table border="0" align="center">
<tr>
<td><?php if ($pageNum_PSO_DB > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum_PSO_DB=%d%s", $currentPage, 0, $queryString_PSO_DB); ?>">Erste Seite</a>
<?php } // Show if not first page ?></td>
<td><?php if ($pageNum_PSO_DB > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum_PSO_DB=%d%s", $currentPage, max(0, $pageNum_PSO_DB - 1), $queryString_PSO_DB); ?>">Vorherige Seite</a>
<?php } // Show if not first page ?></td>
<td><?php if ($pageNum_PSO_DB < $totalPages_PSO_DB) { // Show if not last page ?>
<a href="<?php printf("%s?pageNum_PSO_DB=%d%s", $currentPage, min($totalPages_PSO_DB, $pageNum_PSO_DB + 1), $queryString_PSO_DB); ?>">Naechste Seite</a>
<?php } // Show if not last page ?></td>
<td><?php if ($pageNum_PSO_DB < $totalPages_PSO_DB) { // Show if not last page ?>
<a href="<?php printf("%s?pageNum_PSO_DB=%d%s", $currentPage, $totalPages_PSO_DB, $queryString_PSO_DB); ?>">Letzte Seite</a>
<?php } // Show if not last page ?></td>
</tr>
</table>
<p> </p>
Gruss,
Kristian
Kommentar