Autor Zpráva
Volda
Profil
Ahoj chtel bych se zeptat zda-li nekoho napadne jak inteligentne vyhledavat v nasledujici tabulce...
+---------+---------+---------+---------
| field_1 | field_2 | field_3 | atd...
+---------+---------+---------+---------
| 1,2,3   | 21,15   |128,35 | atd...
atd...


Pri cemz cisla jsou oddelene carkou a jsou to jednotlive ID nekterych zaznamu v DB
udelal jsem to kvuli uspore mista, je to celkem dobre ale nekdy potrebuju ulozit vice ID do jednoho sloupecku a to mi pak ztizilo vyhledavani
zkousel jsem na to dat fulltext ale to pri hledani take nepmohlo.... :/

Napadne nekoho jak na to?

(Yo a db je MySql a jazyk PHP)
djlj
Profil
Zkus funkci FIND_IN_SET.
Volda
Profil
Hmm to je dobra funkce dik moc ;)

Bohuzel dopredu nevik kolik zaznamu bude v jednom sloupecku a za kolik zaznamu se bude vyhledavat, tak to zatim resim tak ze vygeneruju dlouhej select a pres LIKE to hledam... dobry by bylo kdyby by se dalo te funkci nacpat pole vyrazu a pole ve keterem ma hledat
neco jako FIND_ID_SET('1,2', field_1); bohuzel to bere jako string...
nenapadne te jeste neco o_O :)
Kajman_
Profil *
Spíš zkuste změnit strukturu. Neukládat id za sebe do stringu, ale dávat je do jiné vazební tabulky, kde k jednomu řádku z nynější tabulky můžete přidat libovolný počet těch id. Také si tam můžete dát ještě sloupeček určující to číslo sloupečku, pokud těch vazeb tam má být víc.
Volda
Profil
Spíš zkuste změnit strukturu. Neukládat id za sebe do stringu, ale dávat je do jiné vazební tabulky, kde k jednomu řádku z nynější tabulky můžete přidat libovolný počet těch id. Také si tam můžete dát ještě sloupeček určující to číslo sloupečku, pokud těch vazeb tam má být víc.

To je prave to co se mi nechce delat... take me to napadlo... je to spatne navrzeny...., ale bohuzel je to tak... :/
Zmena znamena prepat apllikaci a prevest stavajici data.... Bohuzel pri navrhu nebylo pocitano s vyhledavanim...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0