Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> if while ?
homer1981
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 15.07.2008

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


Mam taką baze danych :
kierowca | GP1miejsce | GP2miejsce | GP3miejsce .....
Nazwisko1 | 02 | 05 | 01 .....
Nazwisko2 | 01 | 03 | 02 .....
Nazwisko3 | 12 | 01 | 03 .....

Chciałbym zbobić takie coś żeby w zależnosci od miejsce przypisywało mi punkty
tzn
dla miejsca 01 =10 punktów, dla 02 =8 , dla 03 = 6 , dla 04 = 4 dla miejsc powyżej 8 miejsca po 0 punktów i dodatkowo zliczało liczbę punktów dla danego zawodnika (Nazwisko1)

Próbowałem wielu sposobów ,ale już sie w tym pogubiłem :/


Mój skrypt jest już dość nieczytelny ale może ktoś coś pomoże :


  1. <?php
  2. $result = mysql_query($query) or die("błąd zapytania");
  3. while($row = mysql_fetch_array($result)){
  4.  
  5. $id_kierowcy=$row['id_kierowcy'];
  6. $kierowca_i=$row['kierowca_i'];
  7. $kierowca_n=$row['kierowca_n'];
  8. $obrazek=$row['obrazek'];
  9. $kraj=$row['kraj'];
  10. $team=$row['team'];
  11.  
  12. $liczba=$i;
  13. for ($i=0; $i<3;$i++){
  14. //$i='1';
  15. //$j=1;
  16. //$GP1miejsce =$row['GP1miejsce'];
  17. $GP.$j.$miejsce=$row['GP'.$i.'miejsce'];
  18. //$j='2';
  19. //$GP2miejsce=$row['GP'.$j.'miejsce'];
  20.  
  21. //$k='1';
  22. //$Grand=$row['GP'.$k.'miejsce'];
  23.  
  24. //$x=1;
  25. //while($x <= 22){
  26. //echo $GP1miejsce;
  27. //echo $x.$GP1miejsce."<br>";
  28. //$x++;
  29.  
  30. //$suma=$GP1miejsce + $GP1miejsce;
  31.  
  32.  
  33.  
  34. //$suma=$GP1miejsce; <-nie pokazuje sie nic poza nazwiskami kierowców
  35. }
  36. //echo $suma.$kierowca_n.'<br>'.
  37. echo '<br>'.$i;
  38. ?>


Ten post edytował homer1981 15.11.2008, 16:19:06
Go to the top of the page
+Quote Post
ayeo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


Witam!

Proszę dodać znacznik BBcode.

// byłeś szybszy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Pozdrawiam!
Go to the top of the page
+Quote Post
kefirek
post
Post #3





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


Ja bym zrobiłem w bazie danych utworzył dodatkową kulumnę z pktami i przy dodawaniu sprawdzał miejsce a potem dodawał do tabeli zmieną pkt


  1. <?php
  2. if(01) {
  3. $pkt=10;}
  4. elseif (02)
  5. {$pkt=8;
  6. } elseif (03)
  7. {$pkt=6;} elseif(04)
  8. {$pkt=4;}else {$pkt=0;}
  9. ?>


Ten post edytował kefirek 15.11.2008, 16:38:15
Go to the top of the page
+Quote Post
zegarek84
post
Post #4





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


Cytat(homer1981 @ 15.11.2008, 16:18:06 ) *
Mam taką baze danych :
kierowca | GP1miejsce | GP2miejsce | GP3miejsce .....
Nazwisko1 | 02 | 05 | 01 .....
Nazwisko2 | 01 | 03 | 02 .....
Nazwisko3 | 12 | 01 | 03 .....

Chciałbym zbobić takie coś żeby w zależnosci od miejsce przypisywało mi punkty
tzn
dla miejsca 01 =10 punktów, dla 02 =8 , dla 03 = 6 , dla 04 = 4 dla miejsc powyżej 8 miejsca po 0 punktów i dodatkowo zliczało liczbę punktów dla danego zawodnika (Nazwisko1)

dla takiej tabelki:
(IMG:http://img231.imageshack.us/img231/4117/tabelkasql1gr0.png)
zapytanie:
  1. SELECT kierowca, max(12-GP1*2,0) AS pkt1, max(12-GP2*2,0) AS pkt2, max(12-GP3*2,0) AS pkt3 FROM pkt

zwróci wyniki:
(IMG:http://img392.imageshack.us/img392/2664/tabelkasql4fo6.png)
akurat tak się składa że do Twojej punktacji pasuje wzór 12-miejsce*2... - zsumować pkt już nie problem - ale jeśli chcesz gotowca to te wyniki wystarczy umieścić w podzapytaniu i można też zsumować wszystko w zapytaniu:
  1. SELECT kierowca, pkt1, pkt2, pkt3, (pkt1+pkt2+pkt3) AS suma FROM (SELECT kierowca, max(12-GP1*2,0) AS pkt1, max(12-GP2*2,0) AS pkt2, max(12-GP3*2,0) AS pkt3 FROM pkt)

co da wyniki:
(IMG:http://img231.imageshack.us/img231/5914/tabelkasql5uq6.png)

pozdro i żeby na zaś nie przyklepywać tabelki to jest taki dodatek do Mozilli jak sqlite manager - mógłbys fragment bazy zamieszczać w załączniku w pliku sqlite....

co do poćwiczenia operacji matematycznych na danych i ich obróbce to zapraszam na Excelforum.pl - inaczej się pisze i liczy w excelu ale tam możesz znaleść wiele nietypowych rozwiązań matematycznych - włącznie z aktywnymi filtrami opartymi o formułki, o formułki a nie pisane w makrach językiem VBA - choć i takie rozwiązania tam też są

Ten post edytował zegarek84 15.11.2008, 18:46:04
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.12.2025 - 10:42