Hallo Leute!
Also ich habe eine Datenbank mit einem Suchenformular wo name vorname kategorie
und/oder die Firma abgefragt werden kann!
Diese Abfrage funktioniert auch tadellos so wie ich das will
da manchmal aber auch sehr viele Datensätze auftreten möchte ich jetzt
nur immer 20 anzeigen und dann soll man sich die nächsten 20 anzeigen lassenkönnen.
Die erste Seite zeigt es mir an aber wenn ich dann versuche auf
die 2 Seite zu klicken bekomme ich warunungen und keine Datensatz
ausgabe! Ich habe mir dann mal die abfrage anzeigen lassen und siehe da
es fehlt ein stück! nun da ich anfänger bin weiß ich leider nicht wo es noch
genau dran liegen könnte. könnt ihr vielleicht mal schauen ob ihr den Fehler
findet???
Die Abfrage:
und die anzeigenseite:
für Eure Hilfe wäre ich sehr dankbar
mfg
Gillz
Also ich habe eine Datenbank mit einem Suchenformular wo name vorname kategorie
und/oder die Firma abgefragt werden kann!
Diese Abfrage funktioniert auch tadellos so wie ich das will
da manchmal aber auch sehr viele Datensätze auftreten möchte ich jetzt
nur immer 20 anzeigen und dann soll man sich die nächsten 20 anzeigen lassenkönnen.
Die erste Seite zeigt es mir an aber wenn ich dann versuche auf
die 2 Seite zu klicken bekomme ich warunungen und keine Datensatz
ausgabe! Ich habe mir dann mal die abfrage anzeigen lassen und siehe da
es fehlt ein stück! nun da ich anfänger bin weiß ich leider nicht wo es noch
genau dran liegen könnte. könnt ihr vielleicht mal schauen ob ihr den Fehler
findet???
Die Abfrage:
PHP-Code:
<?php
$sql = "Select * from TABELLE where ";
/*if( empty ($name) && empty($nname) && empty ($kategorie) && empty ($ort))
{
echo ("<big>Fehler! keine Eingabe</big>");
?>
<form action="suchen.html" method="post">
<input type="Submit" name="" style='WIDTH:140' WIDTH='140' value="zurück">
</form>
<?
exit();
}*/
if ($name) //Vornamenabfrage
{
$sql .=" vorname like ";
$sql .="'%";
$sql .=$name;
$sql .="%'";
}
if ($name && $nname) //Vornamen und Nachnamenabfrage
{
$sql .=" and ";
}
if ($nname) //Nachnamenabfrage
{
$sql .=" nachname like ";
$sql .="'%";
$sql .=$nname;
$sql .="%'";
}
if ($name && $kategorie) //Vornamen und Kategorieabfrage
{
$sql .=" and ";
}
//HIER sonst gibt es ein doppel "and"
else
if ($nname && $kategorie) //Nachnamen und Kategorieabfrage
{
$sql .=" and ";
}
else
if ($nname && $ort) //Nachnamen und Ortabfrage
{
$sql .=" and ";
}
if ($kategorie) //Kategorieabfrage
{
$sql .=" kategorie like ";
$sql .="'%";
$sql .=$kategorie;
$sql .="%'";
}
if ($name && $ort) //Vorname und Ortsabfrage
{
$sql .=" and ";
}
else
if ($kategorie && $ort) //Kategorie und Ortabfrage
{
$sql .=" and ";
}
if ($ort) //Ortabfrage
{
$sql .=" stadt_a like ";
$sql .="'%";
$sql .=$ort;
$sql .="%'";
}
?>
PHP-Code:
<?
include("dbconnect.php");
?>
<html>
<head>
<title>suchenerg5</title>
<meta name="author" content="gillz">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
</head>
<body text="#000000" bgcolor="#8F8F8F" link="#FF0000" alink="#EFEFEF" vlink="#FF0000">
<?php
include("dbsuchenabfrage.php");
print ("Starte SQL Abfrage: $sql <BR>");
echo '<hr>';
$limit=20;
if ($page==0)
{
$page=1;
}
$spalte = $Rubrik;
$sql .=" LIMIT ".($page-1)*$limit."," .$limit;
$result_articles = mysql_query ($sql, $dblink);
echo "<table border=0 cellspacing= 1 cellpadding=5 >";
echo "<tr>";
echo "<th></th><th></th><th bgcolor=#CFCFCF>Vorname</th><th bgcolor=#CFCFCF>Nachname</th>";
echo "<th bgcolor=#CFCFCF>Anrede</th><th bgcolor=#CFCFCF>Titel</th>";
echo "<th bgcolor=#CFCFCF>E-Mail</th><th bgcolor=#CFCFCF>Firma</th>";
echo "<th bgcolor=#CFCFCF>Telefon<th></tr>";
echo "<form action='Aenderung.php' method='post'>";
include ("function.php");
while ($row = mysql_fetch_array($result_articles))
{
echo "<tr>";
echo "<td><input type='Radio' name='id' value=" . $row["ID"] . "></td>";
echo "<td>". ascii2html( $row["ID"]) ."</td>";
echo "<td>". ascii2html( $row["vorname"]) ."</td>";
echo "<td>". ascii2html( $row["nachname"]) ."</td>";
echo "</tr>";
}
echo "</table>";
echo '<hr>';
list($sql_num) = split("LIMIT",$sql);
$result_num = mysql_query ($sql_num, $dblink);
$nummer = mysql_num_rows($result_num);
echo "
<table border=0>
<tr>
<td> </td>
<td><b>Bei der Suche wurden
<font color=red><b>$nummer</b></font> Einträge gefunden</b><p></td>
</tr>
</table>
";
if ($nummer==0)
{
echo "<tr><td><b>keine passenden Datensätze gefunden</b></td></tr>";
}
if ($nummer > 0)
{
echo ceil($nummer/$limit);
if (ceil($nummer/$limit) == 1) echo " Seite";
else echo " Seiten";
echo "<br><br>";
if ($page > 1)
{
echo "<a href=\"$PHP_SELF?page=".($page-1)."&sql= ".rawurlencode($sql)."\">vorherige</a> ";
}
if ($page < $nummer/$limit && $nummer > $nummer/$limit)
{
echo " <a href=\"$PHP_SELF?page=".($page+1)."&sql=".rawurlencode($sql)."\">nächste</a> ";
}
echo "<br>";
for ($i=1;$i<$nummer/$limit+1 and $nummer/$limit > 1;++$i)
{
if ($page == $i) echo "<b>[$i]</b> ";
else echo "<a href=\"$PHP_SELF?page=$i\">$i</a> ";
}
}
echo "<table><tr><td>";
echo "<input type='Submit' style='WIDTH:140' WIDTH='140' value='Daten anzeigen'></form>";
echo "</td></tr></table>";
mysql_free_result($result_articles);
mysql_close($dblink);
//}
?>
mfg
Gillz
Kommentar