SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 28.04.2009, 13:51:14
Loki555 Loki555 ist offline
Anfänger
 
Registriert seit: Apr 2009
Alter: 49
Beiträge: 8
SQL Abfrage mit PHP Variablen die leer sind WHERE plz = ?

Hallo zusammen,

in meinem HTML Formular gibt es ein Feld PLZ, in dieses gibt der Benutzer eine Postleitzahl ein, mit method = post und action = datei.php werden die Inhalte der Felder in ein Array geschrieben, in der PHP Datei benutze ich diese Variablen in einer SQL Abfrage. Nun kann es vorkommen, daß der Benutzer keine Postleitzahl eingibt.

Was mache ich nun in der SQL Abfrage der php Datei?

Meine SQL Abfrage:
Code:
$query = "SELECT * FROM kunden WHERE plz = '$plz' AND kundenart = '$kundenart' AND status = '1'";
$plz ist ein Textfeld.
Wenn dieses Textfeld nicht ausgefüllt ist, kann ich dann einen Platzhalter benutzen, mit dem alle Postleitzahlen angezeigt werden?

Ich kann ja z.B.:
Code:
if($plz == '')
	{
		$plz = ;   // aber was schreib ich hier als Platzhalter rein, damit alle Postleitzahlen genommen werden?
	}
* hab ich schon versucht, ist aber bei WHERE nicht zulassig oder?

Das Formular hat später ca. 30 Felder aus denen die Abfrage generiert wird.
Gibt es einen Platzhalter der funktioniert?
Gibt es vielleicht eine Möglichkeit die SQL Abfrage dynamisch zu generieren?

Gruß
Peter
Mit Zitat antworten
  #2  
Alt 28.04.2009, 14:03:45
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: SQL Abfrage mit PHP Variablen die leer sind WHERE plz = ?

PHP-Code:
$query "SELECT ....... WHERE plz <> '' ...........";
$query "SELECT ....... WHERE plz IS NOT NULL ..........."
Je nach dem ....

Geändert von DokuLeseHemmung (28.04.2009 um 14:05:14 Uhr)
Mit Zitat antworten
  #3  
Alt 28.04.2009, 14:08:49
Loki555 Loki555 ist offline
Anfänger
 
Registriert seit: Apr 2009
Alter: 49
Beiträge: 8
AW: SQL Abfrage mit PHP Variablen die leer sind WHERE plz = ?

Vielen Dank für Deine Antwort.

Mit dem je nach dem hab ich so meine Problem,
da ich später sehr viele Felder in meinem Formular habe, muss ich für jedes Feld
ein if einbauene und abfragen ob es Text Feld leer ist, dann eine andere SQL Abfrage
benutzen?

Gibt es da nicht einen anderen Weg?
Vielleicht ist mein Ansatz ja schon falsch?

Gruß
Peter
Mit Zitat antworten
  #4  
Alt 28.04.2009, 14:15:24
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: SQL Abfrage mit PHP Variablen die leer sind WHERE plz = ?

Was willst du denn erreichen?
Mit Zitat antworten
  #5  
Alt 28.04.2009, 14:19:33
Damir Damir ist offline
Administrator
 
Registriert seit: Jan 2002
Ort: Köln
Alter: 53
Beiträge: 1.276
AW: SQL Abfrage mit PHP Variablen die leer sind WHERE plz = ?

Also vom Prinzip geht das so z.B. - habe es jetzt für Dich einfach gehalten damit Du siehst wie es funktioniet

PHP-Code:
<?PHP

$where 
'';
if(!empty(
$plz))
    
$where .= "plz = '" $plz "' AND ";
if(!empty(
$alter))
    
$where .= "alter = '" $alter "' AND ";
if(!empty(
$strasse))
    
$where .= "strasse = '" $strasse "' AND ";
    
$query "SELECT * FROM kunden WHERE " $where "kundenart = '$kundenart' AND status = '1'";

?>
Damir
__________________
Qozido - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #6  
Alt 28.04.2009, 14:33:19
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: SQL Abfrage mit PHP Variablen die leer sind WHERE plz = ?

PHP-Code:
$filter  = array();
$where   ' ';

if(isset(
$_POST['plz']) && ctype_digit($_POST['plz']))
  
$filter[] = "plz LIKE '$_POST[plz]%'";

if(!empty(
$_POST['kundenart']))
  
$filter[] = " kundenart = '".mysql_real_escape_string($_POST['kundenart'])."'";

$filter[] = "status = '1'";


if(!empty(
$filter))
 
$where ' WHERE '.implode(' AND ',$filter);
 
$query "SELECT .......  ".$where." ..........."
EDIT:
Huch viel zu spät...

Geändert von DokuLeseHemmung (28.04.2009 um 16:00:37 Uhr)
Mit Zitat antworten
  #7  
Alt 28.04.2009, 14:39:29
Loki555 Loki555 ist offline
Anfänger
 
Registriert seit: Apr 2009
Alter: 49
Beiträge: 8
AW: SQL Abfrage mit PHP Variablen die leer sind WHERE plz = ?

Ich will bestimmte Daten auf einer Landkarte anzeigen lassen (Google Maps), in der Datenbank sind ca. 50.000 Datensätze, diese will ich mit dem HTML Formular erst einmal etwas einschränken lassen, damit nicht 50.000 Marker erscheinen.

Bei ja/nein Feldern habe ich ja kein Problem, da es ja nur diese zwei Möglichkeiten gibt, bei der Postleitzahl und anderen Feldern, in die der Benutzer etwas ins Formular eintippen kann oder wo nicht nur 0 oder 1 sondern beides angezeigt werden soll, benötige ich einen "Platzhalter" für alles.

Die SQL Abfrage variiert sehr.

@DokuLeseHemmung
über das Formular will ich dem Benutzer die Möglichkeit geben die Datenmenge die zurück gegeben wird etwas ein zu schränken.
Bei Felder wie z.B. der Postleitzahl kann es aber vorkommen, daß nichts in das Feld eingegeben wird, also alle Postleitzahlen angezeigt werden sollen.

@Damir
Danke für deine Hilfe, werde mal auspobieren ob ich damit weiter komme aber auf den ersten Blick sieht es schon mal sehr gut aus.

Werde mich wieder melden, sobald ich etwas weiter bin.

Nochmal vielen Dank für eure Hilfe.

Gruß
Peter
Mit Zitat antworten
  #8  
Alt 28.04.2009, 15:08:26
Loki555 Loki555 ist offline
Anfänger
 
Registriert seit: Apr 2009
Alter: 49
Beiträge: 8
AW: SQL Abfrage mit PHP Variablen die leer sind WHERE plz = ?

Tausend Dank. Hat super geklappt und was noch wichtiger ist, ich denke es hat bei mir klick gemacht :-)

Gruß
Peter
Mit Zitat antworten
  #9  
Alt 28.04.2009, 15:18:33
Damir Damir ist offline
Administrator
 
Registriert seit: Jan 2002
Ort: Köln
Alter: 53
Beiträge: 1.276
AW: SQL Abfrage mit PHP Variablen die leer sind WHERE plz = ?

Das war ja auch Sinn und Zweck das es Klick macht - wie gesagt kannst Du Dir jetzt Gedanken machen wie Du die Abfragen optimierst - wenn Du es ganz schlau machst ist es ein 3-Zeiler;-)

Damir
__________________
Qozido - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHp Seite bekommt keine Variablen übermittelt ginod PHP Grundlagen 4 06.11.2007 11:00:55
Tabellarische Ausgabe von SQL Abfrage TaranTimo MySQLi/PDO/(MySQL) 9 03.09.2007 14:17:11
Variablen in PHP übergeben Gabi_M PHP Grundlagen 8 12.12.2006 08:40:32
Abfrage in MySQL und PHP Ich werd noch Bekloppt Fichte PHP Grundlagen 1 18.02.2003 00:33:30
PHP SQL Fehler kevintest1 PHP Grundlagen 1 03.12.2002 19:31:31


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:06:37 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt