php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.08.2004, 07:22  
Benutzer
 
Registriert seit: 10.12.2003
Beiträge: 52
dazerglovic
Standard wie gebe ich den $query mit ?

möchte den $string richtig hinbekommen aber komme nicht drauf
Die verfluchsten AND machen mir probleme zwischen den einzelnen variablen.

1kategorie
2bundesland
3stadt
4suchstring

bei diesen 4 variablen ist alles möglich. soll gesucht werden mit.
kategorie mit bundesland mit stadt und mit suchtextstring.

der suchtextstring funzt.

Das problem ist das AND?




1kategorie
2bundesland
3stadt
4suchstring


$query = "SELECT id,name FROM TABLE where $string GROUP BY date";

so wahrscheinlich nicht. wie hier unten
$AND3 = "AND3";
if ( $such == "") $AND3 ="";
$AND2 = "AND2";
if ( $stad == 0) $AND2 ="";
$AND1 = "AND1";
if ( $bund == 0) $AND1 ="";

$string = $kategorie.$AND1.$bundesland.$AND2.$stadt.$AND3.$s uchstring;

(naja $kategorie braucht keinen string weil er am anfang steht)
dazerglovic ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 29.08.2004, 09:52  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 643
kid01 befindet sich auf einem aufstrebenden Ast
kid01 eine Nachricht über Skype™ schicken
Standard

1. was steht denn in $AND???

and ist eigentlich ein Reserviertes Wort. Versuch mal eine andere Variablenbezeichnung!

So richtig hab ich dein Problem noch nicht verstanden Versuch es bitte noch mal anders zu schildern. Danke
kid01 ist offline  
Alt 29.08.2004, 10:56  
Benutzer
 
Registriert seit: 10.12.2003
Beiträge: 52
dazerglovic
Standard

ich kriege 4 werte per formular übermittelt.

kategorie, bundesland, stadt, suchtext

werden angenommen alle 4 Werte gewählt.
aus diesen allen vier dinger muß eine $string für die sql entstehen.

beispiel:
kategorie = 1, bundesland = 1, stadt = 1, suchtext == "such blabla"

so müßte der $string so heißen:
"kate = 1 AND bund = 1 AND stadt = 1 AND (name like '%such blabla% ')"

mein problem sind die AND dinger:

es kann auch mal nur die kategorie gewählt werden:
dann heißt es:
"kate = 3"

oder kategorie mit suchstring:
"kate = 5 AND (name like '%such blubla%)"

oder kategorie stadt und mit suchstring:
"kate = 5 AND stadt = 1 AND (name like '%such blubla%)"

oder nur auch stadt und suchstring oder so und so.
bei diesen vielen kombinationen. suche ich eine möglichkeit dieses AND eingrenzung richtig hinzubekommen. Das problem ist das das AND vor der nächsten variable stehen muß damit es eingegrenzt werden kann.

der string mit den richtigen AND'S kommt dann hier rein:
$query = "SELECT id,name FROM TABLE where $string GROUP BY date";

grüße
dazerglovic ist offline  
Alt 29.08.2004, 11:36  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 643
kid01 befindet sich auf einem aufstrebenden Ast
kid01 eine Nachricht über Skype™ schicken
Standard

warum hängst du die ands hinten an den string??

Häng sie doch vorn ran! Beim 1. lässt du es eben einfach weg.
kid01 ist offline  
Alt 29.08.2004, 11:37  
Gast
 
Beiträge: n/a
Standard

mach ne abfrage auf kategorie, bundesland, stadt und suchtext. jeweils
einzeln. if( .. ) .. if (... ). ... usw.

wenn die abfrage true ist, dann schreibste deinen suchbegriff in nen array.
dieses array fügst du nachher mit implode() bzw join() zusammen. dann
kriegste genau das was du haben möchtest.
 
Alt 29.08.2004, 11:42  
Benutzer
 
Registriert seit: 10.12.2003
Beiträge: 52
dazerglovic
Standard

also es gibt dann theoretisch 16 möglichkeiten.

1111
1110
1101
1100
1001
1010
1001
1000
0111
0110
0101
0100
0011
0010
0001
0000

überall wo eine 1 und 1 steht setze ich AND dann funtzt es auch. jemand eine besseres idee?
dazerglovic ist offline  
Alt 29.08.2004, 11:44  
Benutzer
 
Registriert seit: 10.12.2003
Beiträge: 52
dazerglovic
Standard

if( .. ) .. if (... ). ... usw.

wenn die abfrage true ist, dann schreibste deinen suchbegriff in nen array.
dieses array fügst du nachher mit implode() bzw join() ??

z.B. ?

aber thanx ich beiße mich da schon durch
dazerglovic ist offline  
Alt 29.08.2004, 11:46  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
$where = array();

if( !empty(
$variable1) )
  
$where[] = "variable1 = 1";

if( !empty(
$variable2) )
  
$where[] = "variable2 = 1";

$where implode' AND '$where ); 
 
Alt 29.08.2004, 12:00  
Benutzer
 
Registriert seit: 10.12.2003
Beiträge: 52
dazerglovic
Standard

@stef

der Code war so gut das es mich richtig umgehauen hat.

hätte nie gedacht das es so kurz geht. Das sprengt meine wahre Vorstellungskraft.

gruß
dazerglovic ist offline  
Alt 29.08.2004, 12:03  
Gast
 
Beiträge: n/a
Standard

es geht auch noch kürzer je nachdem wie sich deine abfragen und variablen-
namen gruppieren lassen. aber das ist auf jeden fall mal der ansatz.
 
 


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
Hilfe, Datenbank nimmt keine neuen Daten und alte nicht löschen! XTC PHP Tipps 2008 32 11.06.2008 14:15
Alle Variablen in der URL auslesen und übergeben Plague PHP Tipps 2007 6 24.02.2007 13:36
Var außerhalb einer Funktion zur Verfügung stellen tinchen PHP Tipps 2006 6 13.08.2006 23:38
verschachtelte query für Cronjob tinchen PHP Tipps 2006 8 07.08.2006 01:23
Bestimmte ID in mehreren Tabellen suchen Dummy2006 PHP Tipps 2006 10 01.06.2006 21:54
Update Query wird zwar ausgeführt aber... JDF1976 Datenbanken 8 22.03.2006 11:56
MySql abfragen durcheinander? MrCavity Datenbanken 19 16.11.2005 16:18
mysql update query mit mehreren Tabellen funktioniert nicht PHP-Fortgeschrittene 5 08.01.2005 16:29
Sitzplanscript PHP Tipps 2004-2 10 16.12.2004 20:19
mysql update nr.2 PHP Tipps 2004-2 2 12.12.2004 19:53
[Erledigt] Hilfe - Problem mit Warenkorb PHP Tipps 2004 1 26.11.2004 11:32
[Erledigt] Abstraktionsklassendilemma PHP-Fortgeschrittene 5 06.10.2004 14:38
über PHP Daten in MySQL Tabellen updaten -- Problem PHP Tipps 2004 4 27.09.2004 21:34
select query durch if anweisungen splitten Datenbanken 6 06.09.2004 13:46
post reihenfolge im apboard ew2 (v2.02) PHP Tipps 2004 2 01.07.2004 09:05

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
$query

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:41 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.