php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.09.2004, 11:21  
Gast
 
Beiträge: n/a
Standard select query durch if anweisungen splitten

moin kolleginnen und kollegen,

ich baste grade an einem suchskript und da es mir unmöglich erscheint, eine abfage mit 40 optionen über 8 tabellen laufen zu lassen, hab ich mir gedacht ich grenze die suche einfach schritt für schritt ein.

so, jetzt frage ich im ersten teil daten wie bundesland, landkreis und ort ab, wonach eine vorauswahl stattfinden soll.

frage: wie schreibe ich den query gesplittet durch if-anweisungen?
sprich wenn bundesland gesetzt ist, suche wo bundesland = bundesland, wenn landkreis und ort auch noch gesetzt sind, das noch mit ins query rein.

quasi ein dynamisches query

wenn jemand einen hinweis für mich hat, ich bin über jeden tip dankbar.

lG

chris
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.09.2004, 11:28  
Clan
Gast
 
Beiträge: n/a
Standard

meinste sowas ?!
PHP-Code:
$sql  ="select bla from tabelle where ";
if(
$_POST['category']!=""){
        
$sql .=" category='".$_POST['category']."' and";
    }
.
.

  Mit Zitat antworten
Alt 06.09.2004, 11:33  
Gast
 
Beiträge: n/a
Standard

ja, genau das meinte ich, in der form kann man das ja für unendlich viele variablen nutzen.. unfassbar .

danke dir clan

lG

chris
  Mit Zitat antworten
Alt 06.09.2004, 12:38  
Gast
 
Beiträge: n/a
Standard

zum abschliessn der eingefügtn variablen eignet sich "A = A", da du sonst ein nicht benutztes and hast..

also..

PHP-Code:
$sql  ="select bla from tabelle where "
if(
$_POST['category']!=""){ 
        
$sql .=" category='".$_POST['category']."' and"
    } 
...
 
$sql .= "'a' = 'a'";
 
$sql .= " from .....";



  Mit Zitat antworten
Alt 06.09.2004, 12:45  
Gast
 
Beiträge: n/a
Standard

moin pasci,

was meinst du mit a = a? was bewirkt das ? wenn du mich schon auf den weg bringst, musst du es jetzt auch zuende führen .

hier mal mein code:

PHP-Code:
$query "SELECT hof,str,plz,ort,tel,fax,email,id,kurztext,status,frei FROM stamm WHERE ";

if (
$_POST['bundesland'] != "") { 
 
$bundesland $_POST['bundesland'];
 
$query .= " bundesland LIKE '%$bundesland%' AND"; }
 
 if (
$_POST['lk'] != "") { 
 
$lk $_POST['lk'];
 
$query .=" lk LIKE '%$lk%' AND"; }
 
 if (
$_POST['ort'] != "") { 
 
$bundesland $_POST['bundesland'];
 
$query .=" ort LIKE '%$ort%'"; }
 
 
$query .= " ORDER by status, plz";
 
$result mysql_query($query); 
wie mach ich das mit den ANDs?

lG - chris
  Mit Zitat antworten
Alt 06.09.2004, 13:28  
Gast
 
Beiträge: n/a
Standard

wenn $_POST["ort"] = ""
dann sieht den query so aus..

... AND ORDER by status, plz";

das problem liegt darin, dass du nen fehler bekommst, weil nach dem AND kein statement mehr kommt..

mach daraus..

PHP-Code:


if ($_POST['ort'] != "") { 
$bundesland $_POST['bundesland']; 
$query .=" ort LIKE '%$ort%' AND"; } 

$query .= " 'a' = 'a'";

$query .= " ORDER by status, plz"
$result mysql_query($query); 
so hast du es korrekt abgeschlossen.. und es hat keine auswirkung (da a=a immer true ist.. )
  Mit Zitat antworten
Alt 06.09.2004, 13:46  
Gast
 
Beiträge: n/a
Standard

aah alles klar, also einfach ne unsinnige clausel einbauen die true liefert und schon passts.

danke für den hinweis, ich hatte es so gelöst .. funzt auch ist aber dumm programmiert .

PHP-Code:
if ($_POST['lk'] != "") { $and1 "AND"; } 
if (
$_POST['ort'] != "") { $and1 "AND"$and2 "AND";}

if (
$_POST['bundesland'] != "") { 
 
$bundesland $_POST['bundesland'];
 
$query .= " bundesland LIKE '%$bundesland%' $and1"; }
 
 if (
$_POST['lk'] != "") { 
 
$lk $_POST['lk'];
 
$query .=" lk LIKE '%$lk%' $and2"; }
 
 if (
$_POST['ort'] != "") { 
 
$ort $_POST['ort'];
 
$query .=" ort LIKE '%$ort%'"; }

 
$query .= " ORDER by status, plz";
 
$result mysql_query($query); 
jetzt läufts und is auch noch ordentlich gecodet, merci beaucoup.

cHris[/php]
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Kein Ergebnis bei SELECT (MySQL 4.1.9) dr.e. Datenbanken 4 15.06.2008 19:54
[Erledigt] Mysql Insert Select + Concat Hu5eL Datenbanken 14 10.06.2008 10:39
[gelöst] SELECT COUNT(*) FROM SUBSELECT braucht ewig! stefanjann Datenbanken 3 25.02.2008 08:44
Variablen in Query automatisch escapen Maho88 PHP Tipps 2007 10 31.07.2007 08:42
SELECT AS geht bei AVG net cyberholic Datenbanken 0 04.05.2006 09:43
[JavaScript] Event Handler in form select - Syntax? winfo_cologne HTML, Usability und Barrierefreiheit 5 29.03.2006 16:47
SELECT Liste aus MySQL verarbeiten jensK PHP Tipps 2006 9 09.02.2006 16:08
Query mit zwei Joins Datenbanken 1 16.01.2006 15:53
[Erledigt] Hartnäckiges SQL Query... Datenbanken 1 05.10.2005 18:23
SQL Klasse: SELECT Query ignoriert ersten Eintrag PHP Tipps 2005-2 4 24.09.2005 17:35
[Erledigt] SELECT in SELECT PHP Tipps 2005 5 06.04.2005 22:30
Select Ausgabe splitten / teilen? tekknotrip PHP Tipps 2005 13 24.03.2005 14:13
[Erledigt] 2 mal select 1 form PHP-Fortgeschrittene 1 01.09.2004 20:13
mysql Fehler - query was empty Anuschka Datenbanken 2 01.09.2004 00:28
[Erledigt] Query läuft nicht Datenbanken 6 13.08.2004 21:13

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql query aufteilen, if anweisung in sql select, select if anweisung, select mit if anweisung, php if in query, query splitten, if anweisung in select, php query splitten, if anweisung in select sql, php query = select, große queries aufteilen php, select * from if anweisung, php $_post in select anweisung, select anweisung splitten, sql select im select statement, if in sql select, sql select mit where aufteilen, sql select if anweisung, $query=select, verschiedene sql abfragen in if anweisungen php

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:29 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.