Einzelnen Beitrag anzeigen
  #21 (permalink)  
Alt 25-02-2003, 08:41
Titus
 PHP Master
Links : Onlinestatus : Titus ist offline
Registriert seit: Jan 2001
Ort: im Rodgau
Beiträge: 4.292
Titus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

noch was: wenn überhaupt kein Parameter gesetzt ist, sieht deine Query so aus:

SELECT * FROM anzeigen where ORDER BY anz_name ASC

gibt auch einen Syntax Error ... mach aus dem

$where=substr($where,0,strlen($where)-4);

das hier:

$where .= ' 1';

noch besser ist natürlich der Code hier
(nicht nur weil er von mir ist; er ist einfach kürzer, übersichtlicher und besser zu warten):
PHP-Code:
// Where-Definition zusammensetzen
$fields = array('anz_plz''anz_ort''anz_preiskat',
  
'anz_livemusik''anz_kueche''anz_freizeit''anz_rubrik'
);
$array_fields = array('anz_kategorie''anz_kategorie2');

$where = array();
foreach(
$_POST as $name=>$wert)
  if (
in_array($name$fields))
    
$where[] = "$name = '"
      
mysql_escape_string(stripslashes($wert)). "'";
  elseif (
in_array($name$array_fields) && count($wert))
    
$where[] = "$name in ('"implode("', '"$wert). "')";
$where_str = (count($where)
  ? 
' where 'implode(' and '$where)
  : 
''
);

$abfrage="SELECT * FROM anzeigen
  $where_str ORDER BY anz_name ASC"

__________________
mein Sport: mein Frühstück: meine Arbeit:

Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.
Mit Zitat antworten