Hallo,
ich hab folgendes Problem (oje wie erklär ich das?)
wenn Abfrage ohne "geklickte checkbox" dann werden alle Ergebnisse
gelistet (wie gewünscht)
wenn Abfrage mit einer oder mehreren Checkboxen auf "on" dann kommt
die Ausgabe "keine Einträge gefunden" obwohl Einträge ja da sind - und
es funktionierte ja auch schon ( als ich noch nicht beim reload die checkbox
wieder wie geklickt füllte):
hier etwas Code: // hier Erklärungen dazu...
Wer hat nen Plan? eine Idee?
cu Gwolf
edit:
war nur ein kleines Häkchen/Hochkommata
ich hab folgendes Problem (oje wie erklär ich das?)
wenn Abfrage ohne "geklickte checkbox" dann werden alle Ergebnisse
gelistet (wie gewünscht)
wenn Abfrage mit einer oder mehreren Checkboxen auf "on" dann kommt
die Ausgabe "keine Einträge gefunden" obwohl Einträge ja da sind - und
es funktionierte ja auch schon ( als ich noch nicht beim reload die checkbox
wieder wie geklickt füllte):
hier etwas Code: // hier Erklärungen dazu...
PHP-Code:
$where1 = 'WHERE (left(`suche`.`ort`,'. (string)$zif .') =
'.chr(39). mysql_escape_string($_REQUEST['xxeingabe']).chr(39).')';
//Abfrage für AND
$where2 = 'WHERE (left(`suche`.`ort`,'. (string)$zif .') =
'.chr(39). mysql_escape_string($_REQUEST['xxeingabe']).chr(39).')';
// Abfrage für OR
if (is_array($_POST['kat']) && count($_POST['kat'])>0){
foreach($_POST['kat'] as $v) {
$where1 .= ' AND check'.$v.' = "1"';
//echo "$where1": WHERE (left(`suche`.`ort`,1) = 's') AND check1 = "1" AND check2 = "1"
(wie erwartet/erhofft)
foreach($_POST['kat'] as $v) {
$orcheck[] = 'check'.$v.' = "1"'; }
$where2 .= ' AND (' .implode(' OR ', $orcheck) .')';
// echo "$where2": WHERE (left(`suche`.`ort`,1) = 's') AND (check1 = "1" OR check2 = "1")
(wie erwartet/erhofft)
}
// wenn keine checkbox gedrückt - fallen ja die AND and OR weg,
und die nachfolgende Ausgabe stimmt -
$kdabfrage1 = "SELECT `ort`, `kdnr` FROM `suche` $where1 ";
$kdergebnis1 = mysql_query($kdabfrage1);
$kdabfrage2 = "SELECT `ort`, `kdnr` FROM `suche` $where2 ";
$kdergebnis2 = mysql_query($kdabfrage2);
//hier folgt speichern der Ergebnisse in Variable zur Weiterverabeitung
$ausgabe=array();
$ausgabe1=array();
$ausgabe2=array();
$ort=array();
$ort1=array();
$ort2=array();
while($row=mysql_fetch_object($kdergebnis1)){
array_push($ausgabe1,$row->kdnr);
array_push($ort1,$row->ort); echo "kdergebnis1: $row->kdnr <br>"; }
while($row=mysql_fetch_object($kdergebnis2)){
array_push($ausgabe2,$row->kdnr);
array_push($ort2,$row->ort); }
$diffausgabe = array_diff ($ausgabe2, $ausgabe1);
$ausgabe = array_merge($ausgabe1, $diffausgabe);
// echo "ausgabe:";print_r ($ausgabe);
ist leer, ausgabe:Array ( ) - wenn checkbox(en) geklickt, müsste aber so aussehen:
ausgabe:Array ( [0] => 101 [1] => 103 [2] => ,
d.h. wenn keine geklickt siehts so aus, also kanne s ja an dem Konstrukt nicht liegen???
$ort1=array_unique($ort1);
$ort2=array_unique($ort2);
$diffort = array_diff ($ort2, $ort1);
$ort = array_merge($ort1, $diffort);
echo "<div class=\"suchbox5\"><p class=\"zw6\"> </p>
Folgende Orte passen zu Ihrer Auswahl:<br />";
foreach($ort AS $key=>$value){ echo "$value "; }
echo "<p class=\"zw6\"> </p></div>";
foreach($ausgabe AS $key=>$value){
include("kundeninc/".$value.".inc"); }
if ((mysql_num_rows($kdergebnis1) < 1)
and (mysql_num_rows($kdergebnis2) < 1))
{require('includes/meldung3.php'); }
cu Gwolf
edit:
war nur ein kleines Häkchen/Hochkommata
Kommentar