Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak wyciągąć z bazy przyjazny url
piotr485
post
Post #1





Grupa: Zarejestrowani
Postów: 292
Pomógł: 0
Dołączył: 10.07.2009

Ostrzeżenie: (0%)
-----


Witam.

Mam w bazie danych rekordy - każdy z nich ma nazwę. Aktualnie jest ich tylko 3tys. ,ale przewiduję liczbę ok. 2 mln.

i mam adres url mojej strony: www.mojastrona/mojanazwazbazy/

i teraz mam zmienna w php $zmienna = 'mojanazwazbazy';

tworzę w pętli tablice[$id] = $nazwa_z_bazy;

i wyszukuję wartość $zmienna w $tablicy.

Tyle, że tym sposobem muszę pobrać i przeczesać 2 mln rekordów.

Bardziej wydajnie było by wyciągnąć id rekordu w sposób WHERE nazwa = "'.$zmienna.'" (IMG:style_emoticons/default/questionmark.gif)

Jak to się powinno robić w tabelach z dużą zawartością rekordów?

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
markuz
post
Post #2





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


WHERE nazwa = "'.$zmienna.'" + założenie indeksu na pole `nazwa` w bazie.
Go to the top of the page
+Quote Post
com
post
Post #3





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


oczywiście jako binda (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
piotr485
post
Post #4





Grupa: Zarejestrowani
Postów: 292
Pomógł: 0
Dołączył: 10.07.2009

Ostrzeżenie: (0%)
-----


co znaczy jako binda?

i co w przypadku gdy chcę wyciągnąć po polu nazwa w którym jest "Nazwa Kategorii", a wartość którą mam w zmiennej = "nazwa-kategorii"

nazwy te zmieniam swoją funkcją url(), więc co powinienem w bazie trzymać też pole nazwa_kategorii_url czy może użyć tej funkcji jakoś przy tworzeniu zapytania ?

teraz trzymać dodatkowo pole z 1mln. rekordów nazwa_url to trochę słabo, ale to najlepsze wyjście ?

Mysql nie ma żadnej funkcji która zamieniała by duże litery na małe i spacje na myślniki ?

Ten post edytował piotr485 16.06.2016, 19:13:12
Go to the top of the page
+Quote Post
Pyton_000
post
Post #5





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Musisz trzymać w BD wynik z url('some text'); inaczej zajeździsz bazę a dodatkowo będziesz miał mnustwo kłopotów przez to.
Go to the top of the page
+Quote Post
viking
post
Post #6





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


A co do bindowania http://php.net/manual/pl/pdostatement.bindparam.php
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 03:40