Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wyznaczanie współczynika z tablicy
Forum PHP.pl > Forum > Przedszkole
sowacz
Witam!

Mam pewien dość skomplikowany problem, a z php i mysql do tej pory nie miałem zbyt wiele wspólnego. Potrzebuję zrobić plik który będzie wyznaczać pewien współczynnik na podstawie danych z mysql. Wszystkie dane zapisane są w jednej tabeli. Muszę pobrać z tej bazy ciąg (1 wiersz), a następnie po kolei porównywać odpowiednie wartości z odpowiadającymi im wartościami z pozostałej części tabeli. Jeżeli wartości się zgadzają dostajemy punkty. Ten wiersz który dostanie najwięcej punktów podczas porównania zostaje wyświetlony. Problem jest dość skomplikowany. Specjalnie nie omawiam tutaj całości pliku bo za dużo by to zajęło, a jedynie część z którą mam problem. Wydaje mi się, że będę potrzebować pętle while w pętli while, dużo zapytań if. Mogę ten problem też rozwiązać poprzez zapisywanie wyników porównania do osobnej macierzy, w której potem będę znajdował wartość maksymalną i tak dalej. Problem mam jednak wciąż z ruszeniem. Celowo nie wklejam kodu bo tu nie chodzi o to, ze mi nie działa, tylko nie mam pomysłu jak narazie w wersji prostej to zmontować w całość by miało to ręce i nogi. Gdybyście mogli naprowadzić mnie na dobrą drogę będę wdzięczny. Sam sobie dalej już poradzę.
sowacz
Udało mi się zmusić do działania to co chciałem. Oczywiście należy to jeszcze rozbudować i to dość znacznie, ale chciałem się zapytać jak zrobić, żeby zamiast jednego wyniku wyświetlały się np. 3 o największej sumie $a i $b...

  1. $array=array();
  2. $i=1;
  3. $a=0;
  4. $b=0;
  5. $max=$a+$b;
  6. mysql_connect("localhost", "root", "")or die("Nie można nawiązać połączenia z bazą");
  7. mysql_select_db("project")or die("Wystąpił błąd podczas wybierania bazy danych");
  8. $query=("Select * from dane where login='".$_SESSION["login"]."'");
  9. $swatka=mysql_query($query) or die ('blad query');
  10. $a=mysql_num_rows(mysql_query("SELECT * FROM project.dane where login!='".$_SESSION["login"]."'"));
  11. while($r= mysql_fetch_row($swatka))
  12. {
  13. $query1=("Select * from dane where login!='".$_SESSION["login"]."'");
  14. $swatka1=mysql_query($query1) or die ('blad query1');
  15. while($t = mysql_fetch_row($swatka1))
  16. { $array[$i][1]=$t[1];
  17. $array[$i][2]=$t[2];
  18. $array[$i][3]=$t[3];
  19. $array[$i][4]=$t[4];
  20. $array[$i][5]=$t[5];
  21. $array[$i][6]=$t[6];
  22. $array[$i][7]=$t[7];
  23. $array[$i][8]=$t[8];
  24. if($t[6]==$r[6])
  25. {
  26. $a=1;
  27. }
  28. else
  29. {
  30. $a=0;
  31. }
  32. if($t[5]==$r[5])
  33. {
  34. $b=1;
  35. }
  36. else
  37. {
  38. $b=0;
  39. }
  40. $m[$i]=$a+$b;
  41. if($m[$i]>$max)
  42. {
  43. $max=$m[$i];
  44. $wiersz=$i;
  45. }
  46.  
  47. $i++;
  48. }
  49. echo $max;
  50. echo "<br>";
  51. echo "<table border=3>";
  52. echo "<tr>";
  53. echo "<td>".$array[$wiersz][1]."</td>";
  54. echo "<td>".$array[$wiersz][2]."</td>";
  55. echo "<td>".$array[$wiersz][3]."</td>";
  56. echo "<td>".$array[$wiersz][5]."</td>";
  57. echo "<td>".$array[$wiersz][6]."</td>";
  58. echo "<td>".$array[$wiersz][7]."</td>";
  59. echo "<td>".$array[$wiersz][8]."</td>";
  60. echo "</tr>";
  61. echo "</table>";
  62. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.