Hallo liebes Forum,
ich bin hier ganz neu und auch in Sachen php erst seit kurzem unterwegs. Also bitte nicht gleich mit Steinen schmeißen, wenn ich auf anhieb was nicht verstehe oder mich begriffstutzig anstelle 
Ich habe auf allen Seiten einer Website ein Suchformular mittels include eingebunden.
Die Suchbegriffe werden aus einer Datenbank generiert.
Der submit senden die Daten mittels POST an die entsprechende Ergebnissdatei.
Die Datei beinhaltet eine Blätterfunktion. Beim Absenden der Daten sind die Ergebisse soweit OK.
Doch sobald ich in die Blätterfunktion wähle, verliert er die POST Daten und das Ergebnis ist Falsch.
Dementsprechende Fehlermeldungen werden ausgeworfen.
Was muss ich beachten, damit er mir das gewünschte Ergebnis anzeigt?
Hier mal die Suchfunktion:
HTML-Code:
<form name="submit_form" action="angebote_suche.php" method="POST">
<div class="rechtstopic">Schnellsuche</div>
<div class="suchdata">Objekttyp:</div>
<div class="suchdata">
<select name="search_values[1]" style="border: 1px solid rgb(194, 9, 7);" class="auswahl_schnellsuche">
<option></option>
<?php
$typabfrage = "SELECT DISTINCT objekttyp FROM objekte WHERE zustand='aktiv'";
$typergebnis = mysql_query($typabfrage);
while($row = mysql_fetch_assoc($typergebnis))
{
$typ = $row['objekttyp'];
echo "<option>$typ</option>";
}
?>
</select>
</div>
<div class="suchdata">Ort:</div>
<div class="suchdata">
<select name="search_values[2]" class="auswahl_schnellsuche">
<option></option>
<?php
$ortabfrage = "SELECT DISTINCT ort FROM objekte WHERE zustand='aktiv'";
$ortergebnis = mysql_query($ortabfrage);
while($row = mysql_fetch_assoc($ortergebnis))
{
$ort = $row['ort'];
echo "<option>$ort</option>";
}
?>
</select>
</div>
<div class="suchdata">Regionaler Zusatz:</div>
<div class="suchdata">
<select name="search_values[3]" style="border: 1px solid rgb(194, 9, 7);" class="auswahl_schnellsuche">
<option></option>
<?php
$regzabfrage = "SELECT DISTINCT regzusatz FROM objekte WHERE zustand='aktiv'";
$regzergebnis = mysql_query($regzabfrage);
while($row = mysql_fetch_assoc($regzergebnis))
{
$regz = $row['regzusatz'];
echo "<option>$regz</option>";
}
?>
</select>
</div>
<div class="suchdata">Preise:</div>
<div class="suchdata">
<select name="kaufpreis" id="kaufpreis" onchange="kaufpreisSwitch(this.value);" class="auswahl_schnellsuche">
<option onclick="kaufpreisSwitch(this.value);"></option>
<option value="<100000" onclick="kaufpreisSwitch(this.value);">bis € 100'000</option>
<option value="<250000" onclick="kaufpreisSwitch(this.value);">bis € 250'000</option>
<option value="<500000" onclick="kaufpreisSwitch(this.value);">bis € 500'000</option>
<option value="<750000" onclick="kaufpreisSwitch(this.value);">bis € 750'000</option>
<option value="<999999" onclick="kaufpreisSwitch(this.value);">bis € 1'000'000</option>
<option value=">1000000" onclick="kaufpreisSwitch(this.value);">über € 1'000'000</option>
</select>
</div>
<div class="suchdata"><input name="senden" id="bt_detailsuche" value="Suchen" class="searcher" type="submit" OnFocus="blur()"></div>
</form>
Hier der Ausgabe-Script:
PHP-Code:
<?php
$pfad = $_SERVER['PHP_SELF'];
$datensaetze_pro_seite = "2";
$p = "3";
$sqlPreis = "preis{$search_kauf}";
$mySearchFields = array(
1=>"objekttyp",
2=>"ort",
3=>"regzusatz"
);
$mySearchValues = array();
foreach($_POST['search_values'] as $k=>$v) {
if(!empty($v) && isset($mySearchFields[$k])) {
$v = mysql_real_escape_string($v);
$mySearchValues[] = "`{$mySearchFields[$k]}` LIKE '{$v}'";
}
}
$sqlWhere = count($mySearchValues) ? implode(" AND ",$mySearchValues) : "{$sqlPreis}";
$sql = "SELECT *, count(objekttyp) as anzahl FROM objekte WHERE {$sqlWhere} AND zustand='aktiv'"; //Anzahl der Objekte
$abfrage = mysql_query($sql);
while($objekt = mysql_fetch_array($abfrage)){
$anzahl = $objekt['anzahl'];
}
$total = $anzahl;
$seiten = ceil($total / $datensaetze_pro_seite);
if(empty($_GET['go'])){
$go = 1;
}elseif($_GET['go'] <= 0 || $_GET['go'] > $seiten){
$go = 1;
}else{
$go = mysql_real_escape_string($_GET['go']);
}
$links = array();
if(($go - $p) < 1){ $davor = $go - 1; }else { $davor = $p; }
if(($go + $p) > $seiten){ $danach = $seiten - $go; }else{ $danach = $p; }
$off = ($go - $davor);
if ($go- $davor > 1){
$first = 1;
$links[] = "<a href=\"$pfad?go=$first\" title=\"Zur ersten Seite springen\">« Erste ...</a>\n";
}
if($go != 1){
$prev = $go-1;
$links[] = "<a href=\"$pfad?go=$prev\" title=\"Eine Seite zurueck blaettern\"> «</a>\n";
}
for($i = $off; $i <= ($go + $danach); $i++){
if ($i != $go){
$links[] = "<a href=\"$pfad?go=$i\">$i</a>\n";
}elseif($i == $seiten) {
$links[] = "<span class=\"current\">[ $i ]</span>\n";
}elseif($i == $go){
$links[] = "<span class=\"current\">[ $i ]</span>\n";
}
}
if($go != $seiten){
$next = $go+1;
$links[] = "<a href=\"$pfad?go=$next\" title=\"Eine Seite weiter blaettern\"> » </a>\n";
}
if($seiten - $go - $p > 0 ){
$last = $seiten;
$links[] = "<a href=\"$pfad?go=$last\" title=\"Zur letzten Seite springen\">... Letzte »</a>\n";
}
$start = ($go-1) * $datensaetze_pro_seite;
$link_string = implode(" ", $links);
// Anzahl der Objekte
$sqlPreis = "preis{$search_kauf}";
$mySearchFields = array(
1=>"objekttyp",
2=>"ort",
3=>"regzusatz"
);
$mySearchValues = array();
foreach($_POST['search_values'] as $k=>$v) {
if(!empty($v) && isset($mySearchFields[$k])) {
$v = mysql_real_escape_string($v);
$mySearchValues[] = "`{$mySearchFields[$k]}` LIKE '{$v}'";
}
}
$sqlWhere = count($mySearchValues) ? implode(" AND ",$mySearchValues) : "{$sqlPreis}";
$sql = "SELECT * FROM objekte WHERE {$sqlWhere} AND zustand='aktiv' LIMIT $start,$datensaetze_pro_seite";
$sqlq = "SELECT *, count(objekttyp) as anzahl FROM objekte WHERE {$sqlWhere} AND zustand='aktiv'"; //Anzahl der Objekte
$abfrage = mysql_query($sqlq);
while($objekt = mysql_fetch_array($abfrage)){
$anzahl = $objekt['anzahl'];
if (empty($anzahl)) {
$number = '<style type="text/css" media="screen">#angebote_bold { display:none; }</style>';
} else {
$number = '<td width="400" height="12">' . $objekt['anzahl'] . ' Angebote für Sie gefunden.</td>';
}
}
// Ende Anzahl der Objekte
echo $number;
// Ausgabe der DATEN
$ergebnis = mysql_query($sql);
$res = mysql_query("SELECT * FROM objekte WHERE {$sqlWhere} AND zustand='aktiv'");
if(!mysql_num_rows($res) ) {
echo "Keine Einträge vorhanden.";
mysql_free_result($res);
}
else {.... ?>
Danke für die Hilfe schon mal