a.123.45.67.b in mysql ohne punkte abfragen

romu

Mitglied
hallo erstmal und entschuldigung für die recht sinnvolle überschrift (mir ist nichts anderes eingefallen).

zu meinem problem:

ich habe eine mysql datenbank aus einer excel tabelle importiert. soweit hat alles wunderbar geklappt. nur habe ich jetzt das problem, das ich über php die datenbank anspreche und die artikelnummer (z.b "a.123.45.67.b") einzeln anfragen nöchte.

zb. ist a eine bestimmte automarke .
123 ist eine bestimmte ps zahl
45 irgendwas anderes und so weiter und so fort.

ich möchte jetzt zum beispiel dem besucher meiner homepage die möglichkeit geben , nach einer bestimmten automarke zu suchen, oder aber nach einer bestimmten ps zahl.
ist es möglich über mysql und php diese anfragen zu senden
Die artikelnummer a.123.45.67.b ist in der mysql bank leider nur mit deisen punkten vorhanden. möchte diese also nach jedem punkt splitten.

irgendwelche ideen?
oder ist es einfach nicht möglich?

vielen dank im voraus

romu
 
Hallo!

Meine Testumgebung

mysql> use test;
Database changed
mysql> create table tblCars(id varchar(30), value int);
Query OK, 0 rows affected (0.15 sec)

insert into tblCars values ('a.123.45.67.b',1);
insert into tblCars values ('a.100.50.70.b',2);
insert into tblCars values ('u.50.99.56.w',3);
insert into tblCars values ('a.50.100.70.b',4);

mysql> select * from tblCars;
Code:
+---------------+-------+
| id            | value |
+---------------+-------+
| a.123.45.67.b |     1 |
| a.100.50.70.b |     2 |
| u.50.99.56.w  |     3 |
| a.50.100.70.b |     4 |
+---------------+-------+
4 rows in set (0.01 sec)


Alle Autos von Hersteller a suchen:
mysql> select * from tblCars where id like 'a.%';
Code:
+---------------+-------+
| id            | value |
+---------------+-------+
| a.123.45.67.b |     1 |
| a.100.50.70.b |     2 |
| a.50.100.70.b |     4 |
+---------------+-------+
3 rows in set (0.00 sec)

Alle Autos von Hersteller a mit 100 Ps:
mysql> select * from tblCars where id like 'a.100%';
Code:
+---------------+-------+
| id            | value |
+---------------+-------+
| a.100.50.70.b |     2 |
+---------------+-------+
1 row in set (0.00 sec)

Du könntest dir also sämtliche Suchausdrücke mit irgendwelchen Stringfunktionen aufbauen ...
jedoch ist das IMHO nur unnötiger Aufwand. Schriebe dir lieber ein SQL Statement, dass die
einzelnen Werte der id in entsprechende Datenbankfelder aufsplittet, so dass du bequem danach
suchen kannst.

Gruß Tom
 
super

das ging ja richtig fix :)

danke dir im voraus, werde es nachher gleich einmal ausprobieren.

gruß
romu
 
Zurück