Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z IFem i zmiennymi oraz 2 pytania
spenalzo
post
Post #1





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Mam takie zapytanko (fragment):
[sql:1:9c6dbbb2b0]SELECT ...
IF(LOCATE('jakis',LOWER(post_text))>1, @licz:=@licz+1,0),
IF(LOCATE('inny',LOWER(post_text))>1, @licz:=@licz+1,0),
@stosunek:=(@licz/LENGTH(post_text)) ...[/sql:1:9c6dbbb2b0]
i to nie działa, ponieważ czasami którykolwiek z tych IFów zwróca NULL :? co mnie dziwi troche..
Pokombinowałem troche i wymyśliłem sobie tak:
[sql:1:9c6dbbb2b0]SELECT ...
IF(LOCATE('jakis',LOWER(post_text))>1, IF(ISNULL(@licz)=1,@licz:=1,@licz:=@licz+1),0),
IF(LOCATE('inny',LOWER(post_text))>1, IF(ISNULL(@licz)=1,@licz:=1,@licz:=@licz+1),0),
@stosunek:=(IF(ISNULL(@licz),0,@licz)/LENGTH(post_text)) ...[/sql:1:9c6dbbb2b0]

Czy to jest poprawne??

Dodatkowe pytania - czy sortowanie po zmiennej jest poprawne?
oraz czy jest coś co pozwala sortować naturalnie - bo teraz wiersze sie ukłądają mniej wiecej tak (przy ORDER BY @stosunek):
3.xx
2.xx
10.xx
0.xx
itd - a bym chciał żeby było naturalnie posortowane... :/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
spenalzo
post
Post #2





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Ok, dzięki za odpowiedzi!

Cytat
Cytat
a bym chciał żeby było naturalnie posortowane

Tzn. jak? Liczbowo czy leksykograficznie?

Mam liczby z sqla posortowane dokładnie tak:
8.030303030303
6.7543859649123
5.0865051903114
3.030303030303
2.1052631578947
11.379310344828
10.085689802913
1.7241379310345
0.93896713615023
itd, a ja bym chciał od największej do najmniejszej czyli: 11,10,8,6 itd..

Cytat
Mozesz sobie skrocic i uczytelnic zapis konstrukca IFNULL(wyr1, wyr2)

Done (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Przy okazji: czy funkcja LOCATE rozróżnia wielkość liter oraz czy jest limit długości zapytania SQL?
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: 14.09.2025 - 20:21