Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]Położenie
kill15
post
Post #1





Grupa: Zarejestrowani
Postów: 184
Pomógł: 14
Dołączył: 21.12.2010

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


Witam, mam dość banalne pytanie.


id 1 - 1,1
id 2 - 3,1
id 3 - 1,3
id 4 - 6,1
id 5 - 1,3
id 6 - 1,6
itd
pokazałem tutaj pare id w bazie danych i chciałbym żeby przy tworzeniu nowego id automatycznie było przyporzadkowane położenie(x, y) - nie może sie powtarzać.
no i żeby to sie układało tak jak to pokazałem. Myślę że oczywistością jest fakt że nie mogę automatycznie zrobić tam ileś id, one będą się musiały tworzyć na bieżąco.

Ten post edytował kill15 13.04.2011, 20:59:27
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
IceManSpy
post
Post #2





Grupa: Zarejestrowani
Postów: 1 006
Pomógł: 111
Dołączył: 23.07.2010
Skąd: Kraków

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


A jako co masz zapisane to położenie? Jako znaki (char / varchar)? Jeśli tak, to nałóż na kolumnę atrybut unikalny (unique). To spowoduje, że będziesz mieć unikalność.
Co do losowania. Jeśli są to znaki to zrób tak:
zmienna1 = losuj liczbę w jakimś zakresie
zmienna2 = losuj liczbę w jakimś zakresie
polaczenie_zm = zmienna1 + , + zmienna2
Zapisz do bazy polaczenie_zm.

Nie napisałeś co to jest za położenie, więc losuje tutaj jakiekolwiek liczby.

Ten post edytował IceManSpy 13.04.2011, 21:09:51
Go to the top of the page
+Quote Post
kill15
post
Post #3





Grupa: Zarejestrowani
Postów: 184
Pomógł: 14
Dołączył: 21.12.2010

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


mam kolumny id, osx i osy(mają one int wszystkie i oczywiście AUTO_INCREMENT) - to jest akurat mało ważne.

czyli muszę Rand losować liczbę (IMG:style_emoticons/default/questionmark.gif) to się znowu by wiązało z warunkami dodatkowymi żeby za daleko od siebie liczby nie były.
no i musiał bym zrobić tak jak mówisz łączyć to w varchar a nie int.
Czy nie ma jakiegoś sposobu w którym nie musiałbym robić tych warunków /?
Go to the top of the page
+Quote Post
IceManSpy
post
Post #4





Grupa: Zarejestrowani
Postów: 1 006
Pomógł: 111
Dołączył: 23.07.2010
Skąd: Kraków

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


osx i osy też jest autoincrement?Jak tak, no to chyba źle to jest zrobione. ID może być autoincrement.
No niestety musisz jakoś losować liczby. Możesz zostawić inty, ale wtedy losujesz dla X i dla Y, a potem sprawdzasz, czy nie ma rekordu o takiej parze. Jak nie, to wrzucasz do bazy, jak jest to losujesz od nowa.
Go to the top of the page
+Quote Post
kill15
post
Post #5





Grupa: Zarejestrowani
Postów: 184
Pomógł: 14
Dołączył: 21.12.2010

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


nie. tam miałem napisać że id jest oczywiście AUTO_INCREMENT
Go to the top of the page
+Quote Post
IceManSpy
post
Post #6





Grupa: Zarejestrowani
Postów: 1 006
Pomógł: 111
Dołączył: 23.07.2010
Skąd: Kraków

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


To podałem CI możliwości, jak to zrobić. Co wybierzesz i jak to zoptymalizujesz, to już Twoja decyzja (IMG:style_emoticons/default/smile.gif)
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: 21.09.2025 - 10:53