Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodawanie ocen-ograniczenie
Forum PHP.pl > Forum > Bazy danych > MySQL
kuba_pilach
Witam,
Mam tabele, które potrzebne tzn. "Oceny", "Przedmiot","Oceny_wybieranie"
I mam następujący kod przetwarzający:
  1. <?php
  2.  
  3. // dołączenie plików funkcji tej aplikacji
  4. require_once('funkcje_wyswietl.php');
  5. // początek wywietlania HTML
  6. $urldwa = "index.php";
  7. $url = "glowna.php";
  8. $urltrzy = "noweoceny_formularz.php";
  9. tworz_naglowek_html('Dodawanie nowych ocen');
  10. if (isset($_SESSION['login'])) { // dostęp dla zalogowanego użytkownika
  11. $session = $_SESSION['login'];
  12.  
  13. $wybranyprzedmiot = $_POST['wybranyprzedmiot'];
  14. $data = $_POST['data'];
  15. $oceny = explode(',', trim($_POST['oceny']));
  16. if ($wybranyprzedmiot and $oceny and $data) {
  17. // laczymy sie z baza danych
  18. $connection = mysql_connect('localhost', 'kuba', 'ku2010ba')
  19. or die('Brak polaczenia z serwerem MySQL');
  20. $db = mysql_select_db('dzienniczek', $connection)
  21. or die('Nie moge polaczyc sie z baza danych');
  22.  
  23. $zapytanie = mysql_query("SELECT Przedmiot.ID FROM Przedmiot WHERE NAZWA = '$wybranyprzedmiot'")
  24. or die('Błąd zapytania: '.mysql_error());
  25.  
  26. $r = mysql_fetch_assoc($zapytanie);
  27. $zapytaniedwa = mysql_query("SELECT ID FROM uzytkownik WHERE login='$session'")
  28. or die('Błąd zapytania: '.mysql_error());
  29.  
  30. $d = mysql_fetch_assoc($zapytaniedwa);
  31. $user = $d['ID'];
  32. $przedmiot = $r['ID'];
  33.  
  34. $mozliwe = mysql_query("SELECT OCENA FROM Oceny_wybieranie");
  35. $m = mysql_fetch_assoc($mozliwe);
  36. $sprawdzenie = $m['OCENA'];
  37. foreach($oceny as $v ) /* i tu mam problem */ ($sprawdzenie as $s) {
  38.  
  39. if ($v == $s ) {
  40. $wynik = mysql_query("INSERT INTO Oceny VALUES('$user', '$data' ,'$przedmiot', '$v' )");
  41. } else {
  42.  
  43. echo "Nie ma takiej oceny!!! Za chwilę nastąpi automatyczne przekierowanie";
  44. ?>
  45. <script type="text/javascript">
  46. window.location.href='<?=$urltrzy?>';
  47. </script>
  48. <?php
  49. }
  50.  
  51. }
  52. if ($wynik) echo "Oceny zostały dodane poprawnie";
  53. else echo "Oceny nie zostały poprawnie dodane";
  54. wyswietl_menu_uzyt();
  55. tworz_stopke_html();
  56. } else {
  57. ?>
  58. <script type="text/javascript">
  59. window.location.href='<?=$url?>';
  60. </script>
  61. <?php
  62. }
  63. } else {
  64. ?>
  65. <script type="text/javascript">
  66. window.location.href='<?=$urldwa?>';
  67. </script>
  68. <?php
  69. }
  70.  
  71.  
  72. ?>

Chciałbym zrobić by oceny wymieniane po przecinku były sprawdzane, czy każda z nich jest w tabeli "Oceny_wybieranie"... Proszę o pomoc
lejs
Kod
$t = false;
foreach(oceny_po_przecinku as $p)
{
$t = false;
foreach(oceny_wybierane as $ow)
{
if($p == $ow)$t =true;
}
if(!$t)break;
}
if(!$t)...//jakaś ocena się nie zgadzała
kuba_pilach
Dzięki, rozumiem, że w miejscu "oceny_po_przecinku" dać zmienną '$oceny'...
A mogę to zrobić pytaniem mysql?
  1. $mozliwe = mysql_query("SELECT OCENA FROM Oceny_wybieranie");
  2. $m = mysql_fetch_assoc($mozliwe);


I potem dać w miejsce ocen po przecinku zmienną "$m".
Jest to możliwe?

odświerzam.... Nikt nie wie co zrobićquestionmark.gif?
A jeśli już to powiedziano, to nie bardzo skumałem...

Proszę o bardziej szczegółowe wyjaśnienie... bo oceny_po_przecinku zależą od użytkownika dodającego oceny...
Odpowiedz ktoś! Lkingsmiley.png
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.