2011-01-07 9 views
0

Ich baue eine Immobilienanwendung, in der die Immobilien gespeichert und danach gesucht werden. Die Immobilie wird verschiedene Kategorien haben (Wohn-, Gewerbe-, Industrie- oder Landwirtschaft). Basierend auf der Kategorie möchte ich jede einzelne Immobilienliste serailisieren. Beispiel: Die Property mit der ID 1 gehört zu Resentialial und hat den Seriencode rs_SOMERANDOMUNIQUENUMBER. und für die kommerzielle kann es cm_SOMERANDOMUNIQUENUMBER und so weiter sein. Dafür sieht meine Datenbanktabelle so aus.Wie serialisiert ich das Produkt mit PHP?

CREATE TABLE IF NOT EXISTS `propSerials` (
`id` bigint(20) NOT NULL auto_increment, 
`serial` varchar(50) NOT NULL, 
`property_id` int(10) UNIQUE NOT NULL, 
PRIMARY KEY  (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

was möglich das beste Format wäre die Serien zu speichern mit dem Präfix Kategorie nach?

danke

+0

ich eine Immobilie App gerade fertig, aber warum Speichern Sie die serailized Daten? Es ist kleinlich unbrauchbar, besonders wenn es anderswo gespeichert ist und man die darin gespeicherten Daten nicht effektiv durchsuchen kann. –

+0

Ich denke, mit "serialisieren" bedeutet er "eine Seriennummer zuweisen" nicht "speichern in serialisierter Form" – Mchl

+0

mein Kunde will es auf diese Weise, weil er etwas einzigartige Referenznummer für jede Eigenschaft aufgerufen haben möchte. –

Antwort

0

Warum nicht Sie eine weitere Spalte hinzufügen, die category_id und in der Kategorie Tabelle hinzufügen Spalte mit Präfixen für diese Kategorie hält.

CREATE TABLE IF NOT EXISTS `propSerials` (
`id` bigint(20) NOT NULL auto_increment, 
`serial` varchar(50) NOT NULL, 
`property_id` int(10) UNIQUE NOT NULL, 
`category_id` int(10) NOT NULL, 
PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

CREATE TABLE IF NOT EXISTS `propCategories` (
`id` bigint(20) NOT NULL auto_increment, 
`category` varchar(50) NOT NULL, 
`property_prefix` char(3) NOT NULL, 
PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

In Abfrage können Sie:

SELECT CONCAT('prefix_', 'serial'); 
+1

Concat kann die Leistung verringern .. Wenn Sie diese Route gehen, kombinieren Sie einfach die Spalten in PHP – CarpeNoctumDC

Verwandte Themen