Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP, MySQL] Wybranie odpowiedniego rekordu [SELECT], Funkcja z dwoma warunkami
Aryman
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 12.12.2010

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


Witam,
Od razu chciałbym zaznaczyć że dopiero zaczynam z językami PHP i MySQL, traktuje to bardziej jako hobby oraz naprawdę coś przyjemnego (IMG:style_emoticons/default/biggrin.gif) .

Nie mogę nigdzie znaleźć odpowiedzi na swoje pytanie. Chciałbym uzyskać funkcję która obliczy mi z przedziału licz najmniejsze puste miejsce.

Chodzi o to że wyobraźcie sobie tabliczkę czekolady, posiada załóżmy 40 kawałków. Nagle ktoś wyciąga ze środka jeden kawałek i z końca drugi kawałek.
Funkcja miała by polegać na obliczeniu pierwszego pustego miejsca, nie tego drugiego, nie ostatniego lecz pierwszego.

Dokładniej mój problem wygląda tak:

Potrzebuje uzupełniać pewien program kawałek po kawałku. Takich kawałków jest aż 45. Liczymy od 0 do 44!. Więc zakres 0 - 44.
Gdyby chodziło o tylko wypełnianie pustych 45 kwadratów kawałkami, nie było by problemu. Lecz jest możliwość wyjęcia w dowolnej chwili dowolnego kawałka, kwadracika (IMG:style_emoticons/default/haha.gif) .

Załóżmy mamy takie rekordy:


Kod
0    
1    
2    
3    
5    
7    
10    
13    
15    
16    
19    
20    
21    
22    
37    
38    
40    
41    
42    
44    
45



Widzimy ile posiada pustych pól po segregacji, no i problem w tym że chciałbym automatycznie zmienną po wpisaniu np. numeru ID grupy tych rekordów, aby dodał PIERW najmniejszy brakujący element. Czyli w tym wypadku 4. Gdy 4 dopisze, miałby uzupełnić "6" itd. W wypadku gdy znowu wyciągniemy, on wraca i uzupełnia pierwszy brakujący.

Nie wiem, nie mam zielonego pojęcia jak ustawić "SELECT" z jakim atrybutem (IMG:style_emoticons/default/sad.gif) dopiero zaczynam z tymi językami, Wiem że są łatwe, ale bez pomocy jednak ciężko.
Gdyby ktoś byłby tak miły i pomógł mi w ustaleniu tej funkcji zmiennej.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
lukaskolista
post
Post #2





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

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


Nie wiem, czy dobrze Cie zrozumialem, wiec moge nie rozwiazac Twojego problemu. Moze po prostu pobierz identyfikatory wszystkich "kawalkow" (rekordow) i przelec je petla po kolei sprawdzajac, czy identyfikator kolejnego rekordu jest o 1 wiekszy od poprzedniego. Jezeli jest wiekszy, niz o 1 to znaczy, ze czegos brakuje i trzeba to uzupelnic. Zapytania insert (te ktore dodaje brakujace kawalki) zapisuj do zmiennej i wykonaj za petla (zamiast przykladowo 10 zapytan wykonasz 1 zapytanie dodajace brakujace kawalki)
Go to the top of the page
+Quote Post
Aryman
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 12.12.2010

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


Cytat(lukaskolista @ 12.12.2010, 07:10:59 ) *
Nie wiem, czy dobrze Cie zrozumialem, wiec moge nie rozwiazac Twojego problemu. Moze po prostu pobierz identyfikatory wszystkich "kawalkow" (rekordow) i przelec je petla po kolei sprawdzajac, czy identyfikator kolejnego rekordu jest o 1 wiekszy od poprzedniego. Jezeli jest wiekszy, niz o 1 to znaczy, ze czegos brakuje i trzeba to uzupelnic. Zapytania insert (te ktore dodaje brakujace kawalki) zapisuj do zmiennej i wykonaj za petla (zamiast przykladowo 10 zapytan wykonasz 1 zapytanie dodajace brakujace kawalki)



O Właśnie, dobrze to opisałeś, jak zrobić pętle sprawdzającą? Mógłbyś pomóc?(IMG:style_emoticons/default/smile.gif)
Pozdrawiam ;D
Go to the top of the page
+Quote Post

Posty w temacie


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: 7.10.2025 - 22:38