phpbar.de logo

Mailinglisten-Archive

% ??

% ??

Johannes G. Arlt technik at part2part.com
Mit Mar 12 15:46:20 CET 2003


Hi all,

ich habe eine Tabelle etwa so

test_table:
| Nutdaten | Condition1 | Condition2 |

aus einer Datenquelle generiere ich ein SELECT-Statement wie folgt:

SELECT Nutzdaten FROM test_table WHERE Condition1 = '$qdata1' AND Condition = 
'$qdata2';
In $qdata1 und $qdata2 gibt es immer Werte.

OK - jetzt das Problem:

In einer ganzen Reihe von Fällen ist es völlig egal was in $qdata2 steht, es 
reicht schon $qdata1 zur eindeutigen Bestimmung aus. Da sich immer mal die 
Condition1 oder Condition2 ändern können, will ich das nicht jedes mal das 
Script umschreiben, sondern mit einer Datenbank machen, außerdem ist mit 
unbekannten Condition2 zu rechnen, die mit abgefangen werden sollen. 

Wie es mysql in der Benutzerverwaltung auch macht, möchte ich, das ein '%'
in Spalte Condition2 alle Fälle matcht, egal was aktuell in $qdata2 steht.

Beispiel:
| Nutdaten | Condition1 | Condition2 |
|---------------|-----------------|-----------------|
| Hallo       |   www       |   xxx         |
| super      |   qwq        |  %            |

$qdata1 = "qwq";
$qdata2 = "irgendetwas";
SELECT Nutzdaten FROM test_table {???GESUCHTE BEDINGUNG mit $qdata1 AND 
$qdata2 ??? };
gibt "super" zurück.

$qdata1 = "www";
$qdata2 = "irgendetwas";
SELECT Nutzdaten FROM test_table {???GESUCHTE BEDINGUNG mit $qdata1 AND 
$qdata2 ??? };
gibt "" zurück.

$qdata1 = "ww";
$qdata2 = "xxx";
SELECT Nutzdaten FROM test_table {???GESUCHTE BEDINGUNG mit $qdata1 AND 
$qdata2 ??? };
gibt "Hallo" zurück.


Im Prinzip ist es ein umgekehrtes LIKE %, nicht auf Abfrage, sondern auf 
Datenbankseite. Die Benutzerverwaltung von mysql machts ja auch, also sollte 
es möglich sein.

Meine Lösung bisher ist  ... HAVING Condition2 IN('$qdata2', '%' )

geht, aber ich hab so ein ungutes Gefühl dabei.


-- 
Einen erfolgreichen Tag

Johannes G.  Arlt
technik at part2part.com

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive