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
lord2105
post
Post #2





Grupa: Zarejestrowani
Postów: 380
Pomógł: 59
Dołączył: 24.04.2010
Skąd: London

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


Proszę zapytanie, które wskaże Ci pierwszy wolny rekord wystarczy troszkę dopisać w PHP i gotowe (IMG:style_emoticons/default/smile.gif)

  1. SELECT t1.id + 1 AS id FROM tabela t1 LEFT JOIN tabela t2 ON t1.id = t2.id + 1 WHERE t2.id IS NULL ORDER BY t1.id LIMIT 1
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: 8.10.2025 - 18:55