Hi,
hab mal ein Tut probiert, das auch ganz gut geht , aber wenn ich versuche das script in eine Navigation einzubinden, scheitert es an einer Fehlermeldung.
Wenn ich es so aufrufe:
index.php?action=xxx&show=search_x
kommt folgende Fehlermeldung:
Notice: Undefined index: suchfeld in projekt\1\x\search_x.php on line 192
Notice: Undefined index: page_no in projekt\1\x\search_x.php on line 192
was muß ich noch bei der Url anfügen damit das nicht passiert?
Danke
Detlev
hab mal ein Tut probiert, das auch ganz gut geht , aber wenn ich versuche das script in eine Navigation einzubinden, scheitert es an einer Fehlermeldung.
PHP:
<?
function getUser($suchfeld, $page)
{
$page = (int) $page;
if ($page <= 0) $page=1;
if(!empty($suchfeld)) {
$suchfeld = trim($suchfeld);
$suchfeld = str_replace(" ","%",$suchfeld);
$suchfeld = "%".$suchfeld."%";
$sql = " SELECT
x_id, name, online
FROM
lan_x
WHERE
x_id LIKE '$suchfeld' OR
name LIKE '$suchfeld' OR
online LIKE '$suchfeld'";
} else {
$sql = " SELECT
x_id, name, online
FROM
lan_x";
}
$res = mysql_query($sql);
$anz = mysql_num_rows($res);
$itperpage = 10;
$maxpages_int = (int) ($anz/$itperpage);
$maxpages_float = $anz/$itperpage;
if ( $maxpages_float > $maxpages_int ) {
$maxpages = (int)(($anz/$itperpage)+1);
} else {
$maxpages = (int)(($anz/$itperpage));
}
if ($page > $maxpages) $page = $maxpages;
$sql2 = $sql." ORDER BY x_id ASC limit ".(($page-1)*$itperpage).",$itperpage";
$res2 = mysql_query($sql2);
$anz2 = mysql_num_rows($res2);
if($anz > 0) {
if(empty($suchfeld)) {
$head = "
<table width='500' border='0' cellspacing='1' cellpadding='1'><tr>
<td><strong>$anz Titel in der Datenbank. Pro Seite werden $itperpage Titel
angezeigt.</strong></td></tr></table>";
} else {
if($anz > 1) { $wortlaut = "wurden"; } else { $wortlaut = "wurde"; }
$head = "
<table width='500' border='0' cellspacing='1' cellpadding='1' ><tr>
<td><strong>Mit Ihrer Suchabfrage $wortlaut $anz Treffer
gelandet.</strong></td></tr></table>";
}
$i = 0; // Eine Zählvariable für unterschiedliche Zeilenfarben
$navi_left = ""; // HTML - Teil der Navigation zum zurückblättern
$navi_right = ""; // HTML - Teil der Navigation zum weiterblättern
$userliste = ""; // HTML - Inhalt der Userliste
$show_navi = ""; // HTML – Beinhaltet die Navigation und das Suchfeld
// Start der WHILE Schleife
while ($row = mysql_fetch_array($res2, MYSQL_ASSOC)) {
// Hier wird die Zeilenhintergrundfarbe für jeden Datensatz festgelegt,
// dies dient der Übersicht
if($i%2==0) { $trcolor = "#FFFFFF"; } else { $trcolor = "#DADADA"; }
if ($page > 1){
$navi_left = "<strong><input type=button value=\"«\"
onClick=\"pageset($page-1)\" style=\"WIDTH:25px\"></strong>";
}
if ($page < $maxpages){
$navi_right = "<strong><input type=button value=\"»\"
onClick=\"pageset($page+1)\" style=\"WIDTH:25px\"></strong>";
}
if(isset($_POST['suchfeld']) && !empty($_POST['suchfeld'])) {
$val_suchfeld = $_POST['suchfeld'];
} else {
$val_suchfeld = "";
}
$show_navi =
"
<form name='form1' method='post' action='index.php?show=search_x' style='margin:0px;padding:0px'>
<table width='600' border='0' cellspacing='1' cellpadding='1'>
<tr>
<td width='50%'>
<input type=button value=\"Seite\" style=\"WIDTH:50px\" onClick=\"pageset2()\">
<input name='page' type='text' id='page' value='$page' style=\"WIDTH:60px\">
von $maxpages $navi_left$navi_right
</td>
<td width='60%'><div align = 'right'>
Suchen: <input name='suchfeld' type='text' id='suchfeld' value = '$val_suchfeld'
style=\"WIDTH:120px;HEIGHT:16px\">
<input type=submit value=\"Finden\" style=\"WIDTH:60px\">
<input type=hidden name=page_no value=\"$page\">
</div></td>
</tr>
</table>
</form>
";
$userliste = $userliste .
"
<tr bgcolor = '$trcolor'>
<td width='100'><div align='left'>$row[x_id]</div></td>
<td width='100'><div align='center'>$row[name]</div></td>
<td width='100'><div align='left'>$row[online]</div></td>
</tr>
";
$i++; // Zählschleife um 1 erhöhen
}// WHILE Schleife abschließen
} else {
$userliste = "
<tr>
<td colspan='5'><div align='center'>Keine Ergebnisse fuer Ihre Suche!<br><br>
<a href='index.php?action=xxx&show=search_x'>Zurck zur Userliste</a></div>
</td>
</tr>";
}
$fertig = "
<table width='600' border='0' cellspacing='1' cellpadding='1'>
<tr bgcolor='#36698A'>
<td width='100'><div align='center'><strong>x_id</strong></div></td>
<td width='100'><div align='center'><strong>Name</strong></div></td>
<td width='100'><div align='center'><strong>Activitaet</strong></div></td>
</tr>
$userliste
</table>
";
return $head.$show_navi.$fertig;
} // Funktion schließen – FERTIG
// Datenbankverbindung herstellen
$server = "xxx";
$user = "xxx";
$pass = "xxx";
$dbase = "xxx";
$conn = @mysql_connect($server, $user, $pass);
if($conn) {
mysql_select_db($dbase, $conn);
} else {
die("Fehler, Verbindung konnte nicht hergestellt werden!");
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Translation//EN">
<html>
<head>
<TITLE>Blaetterfunktion mit Navigator und Suchfunktion</TITLE>
<script language="JavaScript" type="text/javascript">
function pageset(wert)
{
document.form1.page_no.value = wert;
document.form1.submit();
}
function pageset2()
{
document.form1.page_no.value = document.form1.page.value;
document.form1.submit();
}
</script>
</head>
<body>
<?
// ! 191 ist hier ! Aufruf der Funktion getUser() mit Suchbegriff und Seitennummer
echo $show = getUser($_POST['suchfeld'],$_POST['page_no']);
?>
</body>
</html>
Wenn ich es so aufrufe:
index.php?action=xxx&show=search_x
kommt folgende Fehlermeldung:
Notice: Undefined index: suchfeld in projekt\1\x\search_x.php on line 192
Notice: Undefined index: page_no in projekt\1\x\search_x.php on line 192
was muß ich noch bei der Url anfügen damit das nicht passiert?
Danke
Detlev
Zuletzt bearbeitet: