Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Ciągi obliczanie ilości liczy w ciągu
ghastblood
post
Post #1





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


Witam,

mam taki problem zapisuje do bazy danych ciągi od 0 do 10 dlugość 10 cyfr oddzielona przecinkiem (10,10,9,8,8,9,9,8,8,7)

potrzebuje policzyć ile razy występuje dana cyfra a konkretnie aż do rozstrzgnięcia wyniku

np

zawdonik 1
string(21) "10,10,9,8,8,9,9,8,8,7"
zawodnik 2
string(19) "9,9,9,9,8,9,9,8,8,8"

jedenk i drugi zawonik mają ten sam wynik czyli 86

więc w zasadzie są na tym samy miejscu

aby rozstrzygnąć kto jest lepszy należy policzyć ilość 10 ,9, 8 aż do rozstrzygnięcia czyli zawodnik 1 jest na pierwszym miejscu bo ma 2x10 a zawodnik 2 jest na drugim miejscu bo ma 0x10 jeżeli zawodniczy mają tyle samo 10 to sprawdzana jest kolejna cyfra czyli może być zawodnik 1 2x10, 3x9 4x8 zawodnik 2 2x10, 3x9, 3x8 i takie dane potrzebuje zapisać do bazy danych.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ghastblood
post
Post #2





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


moja struktura baz danych wygląda tak

zawodnik
-zaw_id
-imie
-nazwisko

konkurencje_zawodnika
-kz_id
-id_zawodnika
-id_konkurencji

wyniki
-id_zawodnika
-ciag
-suma
-uwagi1
-uwagi2

wolał bym tego nie zmieniać bo wymagało by to przerobienia praktycznie całego kodu nad którym siedzę już trochę czasu



Na razie mam coś takiego teraz tylko muszę jakoś porównać wartości z tablicy i zwrócić wynik dla zawodnik 1 2x10 a dla zawodnik 2 1x10 żeby te dane zapisać do bazy danych
i jakoś sprawdzić kolejny wyniki z tablicy w przypadku kiedy 10 będzie występowało tyle samo razy

  1. <?php
  2.  
  3.  
  4. $str0 = '10,10,9,9,9,9,8,8,8,7';
  5. $str1 = '10,9,9,9,9,9,8,8,8,8';
  6.  
  7. $resSum0 = "";
  8. $resSum1 = "";
  9.  
  10. $sum0 = explode(',', $str0);
  11. $sum1 = explode(',', $str1);
  12.  
  13. foreach($sum0 as $key=>$value)
  14. {
  15. $resSum0 += $value;
  16. }
  17.  
  18.  
  19. foreach($sum1 as $key=>$value)
  20. {
  21. $resSum1 += $value;
  22. }
  23.  
  24.  
  25. $zawodnik_dodawny = explode(',', $str0);
  26. $zawodnik_istniejący = explode(',', $str1);
  27.  
  28. $res0 = array_count_values($zawodnik_dodawny);
  29. $res1 = array_count_values($zawodnik_istniejący);
  30.  
  31.  
  32. foreach($res0 as $key => $value)
  33. {
  34. $res0 = $value.'x'.$key.'<br>';
  35. $arr0[] = $res0;
  36. }
  37.  
  38. foreach($res1 as $key => $value)
  39. {
  40. $res1 = $value.'x'.$key.'<br>';
  41. $arr1[] = $res1;
  42. }
  43.  
  44. ?>
  45.  
  46. <table style="border:1px solid;" rules="all">
  47. <tr>
  48. <th>Zawodnik 1</th>
  49. <th>Zawodnik 2</th>
  50. </tr><tr>
  51. <td><?php echo $arr0[0]; ?></td>
  52. <td><?php echo $arr1[0]; ?></td>
  53. </tr><tr>
  54. <td><?php echo $arr0[1]; ?></td>
  55. <td><?php echo $arr1[1]; ?></td>
  56. </tr><tr>
  57. <td><?php echo $arr0[2]; ?></td>
  58. <td><?php echo $arr1[2]; ?></td>
  59. </tr><tr>
  60. <td><?php echo $arr0[3]; ?></td>
  61. <td></td>
  62. </tr>
  63. <tr>
  64. <td><?php echo $resSum0; ?></td>
  65. <td><?php echo $resSum1; ?></td>
  66. </tr>
  67. </table>
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: 10.10.2025 - 19:34