Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]UPDATE do bazy danych z formularza tabeli
damiandamian
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 18.11.2016

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


Elo 420
Chciałbym żeby można było edytować wartości ocen w tabeli wyświetlającej oceny wszystkich uczniów danej klasy .

klasa.php
  1. <table width="100%" align="center" border="1" bordercolor="#d5d5d5" cellpadding="0" cellspacing="0">
  2. <tr>
  3. <?php
  4.  
  5.  
  6. if ($_SESSION['nauczyciel'] = false)
  7. {
  8. header('Location: logout.php');
  9. exit();
  10. }
  11.  
  12.  
  13. echo "<p>Witaj ".$_SESSION['user'].'! [ <a href="logout.php">Wyloguj się!</a> ] </p>';
  14.  
  15.  
  16.  
  17. ini_set("display_errors", 0);
  18. require_once "connect.php";
  19. $polaczenie = mysqli_connect($db_host, $db_user, $db_password, $db_name);
  20. mysqli_query($polaczenie, "SET CHARSET utf8");
  21. mysqli_query($polaczenie, "SET NAMES 'utf8' COLLATE 'utf8_polish_ci'");
  22. mysqli_select_db($polaczenie, $database);
  23.  
  24. $class = $_SESSION['class'] ;
  25. echo $class ;
  26.  
  27. $rezultat = mysqli_query($polaczenie, ("SELECT uczniowie.id, uczniowie.klasa, uczniowie.nr, oceny.id_ucznia, oceny.polski, oceny.matematyka, oceny.niemiecki, oceny.angielski, oceny.wf, oceny.informatyka, oceny.fizyka, oceny.biologia, oceny.fizyka, oceny.biologia, oceny.historia, oceny.religia, oceny.technika, oceny.chemia, oceny.geografia FROM oceny, uczniowie WHERE uczniowie.id = oceny.id_ucznia AND uczniowie.klasa = '$class' ORDER BY uczniowie.nr ASC"));
  28. $ile = mysqli_num_rows($rezultat);
  29.  
  30.  
  31.  
  32.  
  33. if ($ile>=1)
  34. {
  35. echo<<<END
  36. <td width="50" align="center" bgcolor="e5e5e5">Nr</td>
  37. <td width="100" align="center" bgcolor="e5e5e5">Polski</td>
  38. <td width="100" align="center" bgcolor="e5e5e5">Matematyka</td>
  39. <td width="100" align="center" bgcolor="e5e5e5">Angielski</td>
  40. <td width="100" align="center" bgcolor="e5e5e5">Niemiecki</td>
  41. <td width="100" align="center" bgcolor="e5e5e5">WF</td>
  42. <td width="100" align="center" bgcolor="e5e5e5">Informatyka</td>
  43. <td width="100" align="center" bgcolor="e5e5e5">Fizyka</td>
  44. <td width="100" align="center" bgcolor="e5e5e5">Biologia</td>
  45. <td width="100" align="center" bgcolor="e5e5e5">Historia</td>
  46. <td width="100" align="center" bgcolor="e5e5e5">Religia</td>
  47. <td width="100" align="center" bgcolor="e5e5e5">Technika</td>
  48. <td width="100" align="center" bgcolor="e5e5e5">Chemia</td>
  49. <td width="100" align="center" bgcolor="e5e5e5">Geografia</td>
  50.  
  51. </tr><tr >
  52. END;
  53. }
  54.  
  55. for ($i = 1; $i <= $ile; $i++)
  56. {
  57.  
  58. $row = mysqli_fetch_assoc($rezultat);
  59. $a1 = $row['nr'];
  60. $a2 = $row['polski'];
  61. $a3 = $row['matematyka'];
  62. $a4 = $row['angielski'];
  63. $a5 = $row['niemiecki'];
  64. $a6 = $row['wf'];
  65. $a7 = $row['informatyka'];
  66. $a8 = $row['fizyka'];
  67. $a9 = $row['biologia'];
  68. $a10 = $row['historia'];
  69. $a11 = $row['religia'];
  70. $a12 = $row['technika'];
  71. $a13 = $row['chemia'];
  72. $a14 = $row['geografia'];
  73.  
  74.  
  75. echo<<<END
  76. <form action="edytuj.php" name="edytuj" method="post">
  77. <td width="10" align="center">$a1</td>
  78. <td width="100" align="center"><input type="text" name="$a2" value="$a2"></td>
  79. <td width="100" align="center"><input type="text" name="$a3" value="$a3"></td>
  80. <td width="100" align="center"><input type="text" name="$a4" value="$a4"></td>
  81. <td width="100" align="center"><input type="text" name="$a5" value="$a5"></td>
  82. <td width="100" align="center"><input type="text" name="$a6" value="$a6"></td>
  83. <td width="100" align="center"><input type="text" name="$a7" value="$a7"></td>
  84. <td width="100" align="center"><input type="text" name="$a8" value="$a8"></td>
  85. <td width="100" align="center"><input type="text" name="$a9" value="$a9"></td>
  86. <td width="100" align="center"><input type="text" name="$a10" value="$a10"></td>
  87. <td width="100" align="center"><input type="text" name="$a11" value="$a11"></td>
  88. <td width="100" align="center"><input type="text" name="$a12" value="$a12"></td>
  89. <td width="100" align="center"><input type="text" name="$a13" value="$a13"></td>
  90. <td width="100" align="center"><input type="text" name="$a14" value="$a14"></td>
  91. </tr>
  92.  
  93. <tr>
  94. </form>
  95. END;
  96. }
  97. echo '<form action="edytuj.php" name="edytuj" method="post">
  98. <input type="submit" name"edytuj" method="post"></form>' ;
  99.  
  100.  
  101.  
  102.  
  103. $polaczenie->close();
  104.  
  105.  
  106. ?>
  107. </tr></table>




Tabela wyświetla się prawidłowo. Wysyłam wartości do pliku edytuj.php ale to nie działa . Zaznaczam że chciałbym aby można było edytować oceny różnych uczniów z różnych przedmiotów na raz

edytuj.php

  1. <?php
  2.  
  3.  
  4.  
  5.  
  6. ini_set("display_errors",0);
  7. require_once "connect.php";
  8. $polaczenie = mysqli_connect($db_user, $db_password, $db_name, $db_host);
  9. mysqli_select_db($polaczenie, $database); ///połączenie z bazą
  10.  
  11. $a1 = $_POST['$a1'];
  12. $a2 = $_POST['$a2'];
  13. $a3 = $_POST['$a3'];
  14. $a4 = $_POST['$a4'];
  15. $a5 = $_POST['$a5'];
  16. $a6 = $_POST['$a6'];
  17. $a7 = $_POST['$a7'];
  18. $a8 = $_POST['$a8'];
  19. $a9 = $_POST['$a9'];
  20. $a10 = $_POST['$a10'];
  21. $a11 = $_POST['$a11']; ///zmienne z klasa.php
  22. $a12 = $_POST['$a12'];
  23. $a13 = $_POST['$a13'];
  24. $a14 = $_POST['$a14'];
  25.  
  26.  
  27.  
  28.  
  29. $rezultat = mysqli_query($polacznie, ("UPDATE oceny SET oceny.polski = '$a2', oceny.matematyka = '$a3', oceny.angielski = '$a4', oceny.niemiecki = '$a5', oceny.wf = '$a6', oceny.informatyka = '$a7', oceny.fizyka = '$a8', oceny.biologia = '$a9', oceny.historia = '$a10', oceny.religia = '$a11', oceny.technika = '$a12', oceny.chemia = '$a13', oceny.geografia = '$a14' WHERE id_ucznia = $a1 "));
  30.  
  31. $polaczenie->close;
  32. header('Location: klasa.php');
  33.  
  34.  
  35.  
  36.  
  37.  
  38. ?>



budowa bazy danych :

oceny
  1. CREATE TABLE `oceny` (
  2. `id_ucznia` int(11) NOT NULL,
  3. `polski` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
  4. `matematyka` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
  5. `angielski` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
  6. `niemiecki` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
  7. `wf` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
  8. `informatyka` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
  9. `fizyka` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
  10. `biologia` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
  11. `historia` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
  12. `religia` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
  13. `technika` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
  14. `chemia` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
  15. `geografia` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL
  16. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_polish_ci;




uczniowie


  1. CREATE TABLE `uczniowie` (
  2. `id` int(11) NOT NULL,
  3. `user` varchar(30) CHARACTER SET latin1 NOT NULL,
  4. `pass` varchar(30) CHARACTER SET latin1 NOT NULL,
  5. `nr` tinyint(4) NOT NULL,
  6. `klasa` varchar(30) CHARACTER SET latin1 NOT NULL
  7. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_polish_ci;



Zastanwiam się nad użyciem tablicy asocjacyjnej ale nie bardzo wiem jakby miała wyglądać :/

Ten post edytował damiandamian 6.12.2016, 19:23:03
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$a1 = $_POST['$a1'];

1) w pliku edit.php nie istnieja zmienne $a1
2) Jak juz cos to:
$a1 = $_POST[$a1];
Ale podkreslam ponownie: zmienne $a1 nie istnieja w pliku edit.php






Go to the top of the page
+Quote Post
damiandamian
post
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 18.11.2016

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


Chodzi Ci o to że nie jest wysyłana z <form> ? Musze użyć input ? Bo korzystając z SESSION nie wiem czy będzie wiedziało dla którego usera zmienic oceny :/ Co sadzisz o reszcie kodu bo tak w sumie to jest najważniejsze (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Chodzi o to, ze korzystaz ze zmiennych $a1 itp a one nie istnieja w srkypcie edtyuj.php.

Twoj form jest w POST
zrob sobie
print_r($_POST);
i zobacz co tam masz

Co do reszty kodu to jest fatalny.
Odpalasz sesje po tym jak juz slesz cos do przegladarki, to pewnie w ogole ci sie nie odpala

NIe rozroznasz przypisania od porownania, chocby o tu:
if ($_SESSION['nauczyciel'] = false)

Struktura twojej bazy wola o pomste do nieba

Sposob laczenia sie do bazu i operacji na niej tez taki sobie.

Co tu duzo gadac: widac ze dopiero zaczynasz i dluga droga przed toba (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
viking
post
Post #5





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


if ($_SESSION['nauczyciel'] = false) Nie = a ==. Poczytaj czym się różni przypisanie od porównania.
Dostajesz zapewne warning headers already sent.
Kodowanie ustawia się przez http://php.net/manual/pl/mysqli.set-charset.php
Czy mnie się zdaje, czy podawałem strukturę poprawną bazy a i jak to zignorowałeś?
Zamiast klepać przestarzałe atrybuty w html (np bgcolor) użyj CSS.
Na koncu obiektowe $polaczenie->close(); chociaż wcześniej nie był tworzony obiekt.
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Czy mnie się zdaje, czy podawałem strukturę poprawną bazy a i jak to zignorowałeś?
A faktycznie zignorowal. Ze tez ci sie chcialo teraz ponownie strzepic jezyk skoro i tak nie slucha...
Go to the top of the page
+Quote Post
viking
post
Post #7





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Jak już powiedziałem a to niech będzie b też. Chociaż ostatnimi czasy poziom przedszkola to bardziej kołyska.
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Jak już powiedziałem a to niech będzie b też. Chociaż ostatnimi czasy poziom przedszkola to bardziej kołyska.
Skoro lubisz gadac alfabet sam do siebie.... (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
viking
post
Post #9





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Na dobranoc wymieniam alfabetycznie wszystkie funkcje PHP (IMG:style_emoticons/default/wacko.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Sado maso.. (IMG:style_emoticons/default/wink.gif)
Ja tam licze bledy PARSE ERROR...1 PARSE ERROR, 2 PARSE ERROR.....101 PARSE ERROR...... hrrrrrrrrr (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
damiandamian
post
Post #11





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 18.11.2016

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


Nie zignorowałem tylko zrobiłem to po swojemu i zaczeło działać (IMG:style_emoticons/default/smile.gif) Jutro spróbuje to ogarnąć i dam znać. Nie zamierzam wiązać przyszłości z programowaniem więc wcale nie tak dużo tej pracy (IMG:style_emoticons/default/smile.gif) Został ostatni element układanki i koniec. Nie ja w tym projekcie zajmuje sie stylami i oprawą graficzną (IMG:style_emoticons/default/wink.gif)

Ogarnełem porównywanie i przyrównywanie i pouzmieniałem , dodałem kodowanie znaków . Wpadłem na pomysł żeby użyć tablicy asocjacyjnej. Tylko że chce przypisać do id wszystkie przedmioty , a w tablicy da sie chyba tylko z tego co czytałem jedna wartość jednemu kluczowi przypisać więc

  1. echo<<<END
  2. <form action="klasa.php" name="edytuj" method="post">
  3. <td width="10" align="center">$a1</td>
  4. <td width="100" align="center"><input type="text" name="$b2" value="$a2"></td>
  5. <td width="100" align="center"><input type="text" name="$b3" value="$a3"></td>
  6. <td width="100" align="center"><input type="text" name="$b4" value="$a4"></td>
  7. <td width="100" align="center"><input type="text" name="$b5" value="$a5"></td>
  8. <td width="100" align="center"><input type="text" name="$b6" value="$a6"></td>
  9. <td width="100" align="center"><input type="text" name="$b7" value="$a7"></td>
  10. <td width="100" align="center"><input type="text" name="$b8" value="$a8"></td>
  11. <td width="100" align="center"><input type="text" name="$b9" value="$a9"></td>
  12. <td width="100" align="center"><input type="text" name="$b10" value="$a10"></td>
  13. <td width="100" align="center"><input type="text" name="$b11" value="$a11"></td>
  14. <td width="100" align="center"><input type="text" name="$b12" value="$a12"></td>
  15. <td width="100" align="center"><input type="text" name="$b13" value="$a13"></td>
  16. <td width="100" align="center"><input type="text" name="$b14" value="$a14"></td>
  17. </tr>
  18.  
  19. <tr>
  20.  
  21. END;
  22. }
  23. echo '<input type="submit" name"edytuj" ></form>' ;
  24.  
  25.  
  26.  
  27. $b1 = $a1;
  28. $b2 = $_POST['$b2'];
  29. $b3 = $_POST['$b3'];
  30. $b4 = $_POST['$b4'];
  31. $b5 = $_POST['$b5'];
  32. $b6 = $_POST['$b6'];
  33. $b7 = $_POST['$b7'];
  34. $b8 = $_POST['$b8'];
  35. $b9 = $_POST['$b9'];
  36. $b10 = $_POST['$b10'];
  37. $b11 = $_POST['$b11'];
  38. $b12 = $_POST['$b12'];
  39. $b13 = $_POST['$b13'];
  40. $b14 = $_POST['$b14'];
  41.  
  42. $zmien = array('$b1' => '$b1',
  43. '$b1' => '$b2',
  44. '$b1' => '$b3',
  45. '$b1' => '$b4',
  46. '$b1' => '$b5',
  47. '$b1' => '$b6',
  48. '$b1' => '$b7',
  49. '$b1' => '$b8',
  50. '$b1' => '$b9',
  51. '$b1' => '$b10',
  52. '$b1' => '$b11',
  53. '$b1' => '$b12',
  54. '$b1' => '$b13',
  55. '$b1' => '$b14' );
  56.  
  57.  
  58.  
  59. $_SESSION['zmien'] = $zmien ;
  60.  
  61. $polaczenie->close();
  62.  
  63. header('Location: edytuj.php');





  1. ini_set("display_errors",0);
  2. require_once "connect.php";
  3. $polaczenie = mysqli_connect($db_user, $db_password, $db_name, $db_host);
  4. mysqli_query($polaczenie, "SET CHARSET utf8");
  5. mysqli_query($polaczenie, "SET NAMES 'utf8' COLLATE 'utf8_polish_ci'");
  6. mysqli_select_db($polaczenie, $database);
  7.  
  8.  
  9.  
  10.  
  11. $zmien = $_SESSION['zmien'];
  12.  
  13.  
  14. $b1 = $zmien['$b1'];
  15. $b2 = $zmien['$b2'];
  16. $b3 = $zmien['$b3'];
  17. $b4 = $zmien['$b4'];
  18. $b5 = $zmien['$b5'];
  19. $b6 = $zmien['$b6'];
  20. $b7 = $zmien['$b7'];
  21. $b8 = $zmien['$b8'];
  22. $b9 = $zmien['$b9'];
  23. $b10 = $zmien['$b10'];
  24. $b11 = $zmien['$b11'];
  25. $b12 = $zmien['$b12'];
  26. $b13 = $zmien['$b13'];
  27. $b14 = $zmien['$b14'];
  28.  
  29.  
  30. $rezultat = mysqli_query($polacznie, ("UPDATE oceny SET polski = '$b2', matematyka = '$b3', angielski = '$b4', niemiecki = '$b5', wf = '$b6', informatyka = '$b7', fizyka = '$b8', biologia = '$b9', historia = '$b10', religia = '$b11', technika = '$b12', chemia = '$b13', geografia = '$b14' WHERE id_ucznia = $a1 "));
  31.  
  32. $polaczenie->close;
  33. header ('Location: klasa.php');




Jakieś pomysły jakiej funkcji użyć ? :/ Nie chce zmieniać bazy danych bo cała strona już działa na tej tylko ten jeden elemencik pozostał (IMG:style_emoticons/default/biggrin.gif)

Ten post edytował damiandamian 7.12.2016, 14:02:53
Go to the top of the page
+Quote Post
nospor
post
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$b2 = $_POST['$b2'];
Widze w zaparte idziesz w ignorowaniu tego co ci ludzie pisza. No nic, co kraj to obyczaj (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
damiandamian
post
Post #13





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 18.11.2016

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


to nie tak że ide w zaparte tylko po prostu nie rozumiem tego co mówicie :/ jakbyście mogli to troche bardziej "łopatologicznie" wytłumaczyć (IMG:style_emoticons/default/smile.gif)
mówiłeś że w plik edytuj.php nie dostaje zmiennej $_POST
Teraz jest w pliku klasa.php i z tych zmiennych tworzę tablice asocjacyjną.
Którą z kolei wysyłam sesją do edytuj.php

  1. $zmien = array('$b1' => '$b1', '$b2', '$b3', '$b5', '$b6', '$b7', '$b8', '$b9', '$b11', '$b12', '$b13', '$b14' );


takie rozwiązanie tej tablicy jest chyba lepsze

Więc jeśli nie $_POST to jak mam wysłać zmienione wartości tabeli? $_GET ?


Spizgam sie i za godzinke będe (IMG:style_emoticons/default/smile.gif) To zawsze pomagało. Bo bez tego nie rozumiem jak to ma działać więc nie rozumiem czemu nie działa. Po buchu też nie wiem jak to działa ale zaczyna działać zawsze (IMG:style_emoticons/default/biggrin.gif)

Ten post edytował damiandamian 7.12.2016, 14:12:00
Go to the top of the page
+Quote Post
viking
post
Post #14





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Poczytaj czym się różni w php ' od " oraz odwoływać się do elementów tablicy.
Go to the top of the page
+Quote Post
nospor
post
Post #15





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
mówiłeś że w plik edytuj.php nie dostaje zmiennej $_POST
Nigdzie nie pisalem ze nie ma $_POST. Pisalem ze nie ma $a1 - a to zasadnicza roznica
Pisalem tez jak poprawnie sie dobierac do $_POST a ty nadal walisz
$b2 = $_POST['$b2'];
Go to the top of the page
+Quote Post
damiandamian
post
Post #16





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 18.11.2016

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


Dobra


EDIT : Zrobiłem coś takiego wszystko działa, tylko gdzieś w drugiej tabeli w poleceniu INSERT INTO jest chyba błąd (nie moge sprawdzić w SQL bo nie mam tam zmiennych ). Chciałem użyć do tego tablicy asc. ale też nie daje efektów :/


  1. <?php
  2.  
  3.  
  4. if ($_SESSION['nauczyciel'] == false)
  5. {
  6. header('Location: logout.php');
  7. exit();
  8. }
  9.  
  10.  
  11. echo "<p>Witaj ".$_SESSION['user'].'! [ <a href="logout.php">Wyloguj się!</a> ] </p>';
  12.  
  13.  
  14.  
  15. ini_set("display_errors", 0);
  16. require_once "connect.php";
  17. $polaczenie = mysqli_connect($db_host, $db_user, $db_password, $db_name);
  18. mysqli_query($polaczenie, "SET CHARSET utf8");
  19. mysqli_query($polaczenie, "SET NAMES 'utf8' COLLATE 'utf8_polish_ci'");
  20. mysqli_select_db($polaczenie, $database);
  21.  
  22. $class = $_SESSION['class'] ;
  23. echo $class ;
  24.  
  25. $rezultat = mysqli_query($polaczenie, ("SELECT uczniowie.id, uczniowie.klasa, uczniowie.nr, oceny.id_ucznia, oceny.polski, oceny.matematyka, oceny.niemiecki, oceny.angielski, oceny.wf, oceny.informatyka, oceny.fizyka, oceny.biologia, oceny.fizyka, oceny.biologia, oceny.historia, oceny.religia, oceny.technika, oceny.chemia, oceny.geografia FROM oceny, uczniowie WHERE uczniowie.id = oceny.id_ucznia AND uczniowie.klasa = '$class' ORDER BY uczniowie.nr ASC"));
  26. $ile = mysqli_num_rows($rezultat);
  27. $_SESSION['ile'] = $ile;
  28.  
  29.  
  30.  
  31. if ($ile>=1)
  32. {
  33. echo<<<END
  34. <td width="50" align="center" bgcolor="e5e5e5">Nr</td>
  35. <td width="100" align="center" bgcolor="e5e5e5">Polski</td>
  36. <td width="100" align="center" bgcolor="e5e5e5">Matematyka</td>
  37. <td width="100" align="center" bgcolor="e5e5e5">Angielski</td>
  38. <td width="100" align="center" bgcolor="e5e5e5">Niemiecki</td>
  39. <td width="100" align="center" bgcolor="e5e5e5">WF</td>
  40. <td width="100" align="center" bgcolor="e5e5e5">Informatyka</td>
  41. <td width="100" align="center" bgcolor="e5e5e5">Fizyka</td>
  42. <td width="100" align="center" bgcolor="e5e5e5">Biologia</td>
  43. <td width="100" align="center" bgcolor="e5e5e5">Historia</td>
  44. <td width="100" align="center" bgcolor="e5e5e5">Religia</td>
  45. <td width="100" align="center" bgcolor="e5e5e5">Technika</td>
  46. <td width="100" align="center" bgcolor="e5e5e5">Chemia</td>
  47. <td width="100" align="center" bgcolor="e5e5e5">Geografia</td>
  48.  
  49. </tr><tr >
  50. END;
  51. }
  52.  
  53. for ($i = 1; $i <= $ile; $i++)
  54. {
  55.  
  56. $row = mysqli_fetch_assoc($rezultat);
  57. $a1 = $row['nr'];
  58. $a2 = $row['polski'];
  59. $a3 = $row['matematyka'];
  60. $a4 = $row['angielski'];
  61. $a5 = $row['niemiecki'];
  62. $a6 = $row['wf'];
  63. $a7 = $row['informatyka'];
  64. $a8 = $row['fizyka'];
  65. $a9 = $row['biologia'];
  66. $a10 = $row['historia'];
  67. $a11 = $row['religia'];
  68. $a12 = $row['technika'];
  69. $a13 = $row['chemia'];
  70. $a14 = $row['geografia'];
  71.  
  72.  
  73. echo<<<END
  74. <td width="50" align="center">$a1</td>
  75. <td width="100" align="center">$a2</td>
  76. <td width="100" align="center">$a3</td>
  77. <td width="100" align="center">$a4</td>
  78. <td width="100" align="center">$a5</td>
  79. <td width="100" align="center">$a6</td>
  80. <td width="100" align="center">$a7</td>
  81. <td width="100" align="center">$a8</td>
  82. <td width="100" align="center">$a9</td>
  83. <td width="100" align="center">$a10</td>
  84. <td width="100" align="center">$a11</td>
  85. <td width="100" align="center">$a12</td>
  86. <td width="100" align="center">$a13</td>
  87. <td width="100" align="center">$a14</td>
  88. </tr><tr>
  89. END;
  90.  
  91. }
  92.  
  93.  
  94.  
  95.  
  96. echo '<table width="100%" align="center" border="1" bordercolor="#d5d5d5" cellpadding="0" cellspacing="0"><tr>';
  97.  
  98.  
  99.  
  100.  
  101.  
  102. $i = 1;
  103. echo '<form action="klasa.php" method="post" name="edit"> <input type="submit" value="Submit" ></form>' ;
  104. if ($ile>=1)
  105. {
  106. echo<<<END
  107. <td width="50" align="center" bgcolor="e5e5e5">Nr</td>
  108. <td width="100" align="center" bgcolor="e5e5e5">Polski</td>
  109. <td width="100" align="center" bgcolor="e5e5e5">Matematyka</td>
  110. <td width="100" align="center" bgcolor="e5e5e5">Angielski</td>
  111. <td width="100" align="center" bgcolor="e5e5e5">Niemiecki</td>
  112. <td width="100" align="center" bgcolor="e5e5e5">WF</td>
  113. <td width="100" align="center" bgcolor="e5e5e5">Informatyka</td>
  114. <td width="100" align="center" bgcolor="e5e5e5">Fizyka</td>
  115. <td width="100" align="center" bgcolor="e5e5e5">Biologia</td>
  116. <td width="100" align="center" bgcolor="e5e5e5">Historia</td>
  117. <td width="100" align="center" bgcolor="e5e5e5">Religia</td>
  118. <td width="100" align="center" bgcolor="e5e5e5">Technika</td>
  119. <td width="100" align="center" bgcolor="e5e5e5">Chemia</td>
  120. <td width="100" align="center" bgcolor="e5e5e5">Geografia</td>
  121.  
  122. </tr><tr >
  123. END;
  124. }
  125.  
  126. for ($i = 1; $i <= $ile; $i++)
  127. {
  128.  
  129.  
  130.  
  131. echo<<<END
  132.  
  133. <td width="10" align="center"><input type="hidden" name="$b1" value="$i"></td>
  134. <td width="100" align="center"><input type="text" name="$b2" ></td>
  135. <td width="100" align="center"><input type="text" name="$b3" ></td>
  136. <td width="100" align="center"><input type="text" name="$b4" ></td>
  137. <td width="100" align="center"><input type="text" name="$b5" ></td>
  138. <td width="100" align="center"><input type="text" name="$b6" ></td>
  139. <td width="100" align="center"><input type="text" name="$b7" ></td>
  140. <td width="100" align="center"><input type="text" name="$b8" ></td>
  141. <td width="100" align="center"><input type="text" name="$b9" ></td>
  142. <td width="100" align="center"><input type="text" name="$b10" ></td>
  143. <td width="100" align="center"><input type="text" name="$b11" ></td>
  144. <td width="100" align="center"><input type="text" name="$b12" ></td>
  145. <td width="100" align="center"><input type="text" name="$b13" ></td>
  146. <td width="100" align="center"><input type="text" name="$b14" ></td>
  147. </tr><tr></form>
  148. END;
  149.  
  150.  
  151.  
  152. if(isset($_POST['submit']))
  153. { $b1 = $_POST['b1'];
  154. $b2 = $_POST['b2'];
  155. $b3 = $_POST['b3'];
  156. $b4 = $_POST['b4'];
  157. $b5 = $_POST['b5'];
  158. $b6 = $_POST['b6'];
  159. $b7 = $_POST['b7'];
  160. $b8 = $_POST['b8'];
  161. $b9 = $_POST['b9'];
  162. $b10 = $_POST['b10'];
  163. $b11 = $_POST['b11'];
  164. $b12 = $_POST['b12'];
  165. $b13 = $_POST['b13'];
  166. $b14 = $_POST['b14'];
  167.  
  168. $oceny = array("id_ucznia" => $i, "polski" => $b2,"matematyka" => $b3, "angielski" => $b4, "niemiecki" => $b5, "wf" => $b6, "informatyka" => $b7, "fizyka" => $b8, "biologia" => $b9, "historia" => $b10, "religia" => $b11, "technika" => $b12, "chemia" => $b13, "geografia" => $b14,);
  169.  
  170. $oceny['id_ucznia'] = $b1;
  171. $oceny['polski'] = $b2;
  172. $oceny['matematyka'] = $b3;
  173. $oceny['angielski'] = $b4;
  174. $oceny['niemiecki'] = $b5;
  175. $oceny['wf'] = $b6;
  176. $oceny['informatyka'] = $b7;
  177. $oceny['fizyka'] = $b8;
  178. $oceny['biologia'] = $b9;
  179. $oceny['historia'] = $b10;
  180. $oceny['religia'] = $b11;
  181. $oceny['technika'] = $b12;
  182. $oceny['chemia'] = $b13;
  183. $oceny['geografia'] = $b14;
  184.  
  185. $key = array_keys($oceny);
  186. echo ($oceny['id']);
  187.  
  188.  
  189. print_r($oceny);
  190.  
  191. $edit = mysqli_query($link, ("INSTERT INTO oceny ( polski, matematyka, angielski, niemiecki, wf, informatyka, fizyka, biologia, historia, religia, technika, chemia, geografia) VALUES ('$b2', '$b3', '$b4', '$b5', '$b6', '$b7', '$b8', '$b9', '$b10', '$b11', '$b12', '$b13', '$b14') WHERE id_ucznia LIKE".$i));
  192.  
  193.  
  194. mysqli_free_result($edit);
  195. }
  196.  
  197. /* close connection */
  198. mysqli_close($link);
  199.  
  200. }
  201.  
  202. ?>





EDIT błędy znikneły ale dalej nie działa ...

  1. <td width="10" align="center"><input type="hidden" name="b1" value="$i"></td>
  2. <td width="100" align="center"><input type="text" name="b2" ></td>
  3. <td width="100" align="center"><input type="text" name="b3" ></td>
  4. <td width="100" align="center"><input type="text" name="b4" ></td>
  5. <td width="100" align="center"><input type="text" name="b5" ></td>
  6. <td width="100" align="center"><input type="text" name="b6" ></td>
  7. <td width="100" align="center"><input type="text" name="b7" ></td>
  8. <td width="100" align="center"><input type="text" name="b8" ></td>
  9. <td width="100" align="center"><input type="text" name="b9" ></td>
  10. <td width="100" align="center"><input type="text" name="b10" ></td>
  11. <td width="100" align="center"><input type="text" name="b11" ></td>
  12. <td width="100" align="center"><input type="text" name="b12" ></td>
  13. <td width="100" align="center"><input type="text" name="b13" ></td>
  14. <td width="100" align="center"><input type="text" name="b14" ></td>
  15. </tr><tr></form>
  16.  
  17.  
  18.  
  19. if(isset($_POST['submit']))
  20. { $b1 = $_POST['b1'];
  21. $b2 = $_POST['b2'];
  22. $b3 = $_POST['b3'];
  23. $b4 = $_POST['b4'];
  24. $b5 = $_POST['b5'];
  25. $b6 = $_POST['b6'];
  26. $b7 = $_POST['b7'];
  27. $b8 = $_POST['b8'];
  28. $b9 = $_POST['b9'];
  29. $b10 = $_POST['b10'];
  30. $b11 = $_POST['b11'];
  31. $b12 = $_POST['b12'];
  32. $b13 = $_POST['b13'];
  33. $b14 = $_POST['b14'];


Kod
Static analysis:

4 errors were found during analysis.

Unexpected character. (near "$" at position 154)
Unexpected character. (near "$" at position 270)
Unexpected beginning of statement. (near "INSTERT" at position 0)
Unrecognized statement type. (near "INTO" at position 8)
Zapytanie SQL:

INSTERT INTO oceny ( polski, matematyka, angielski, niemiecki, wf, informatyka, fizyka, biologia, historia, religia, technika, chemia, geografia) VALUES ($b2, '$b3', '$b4', '$b5', '$b6', '$b7', '$b8', '$b9', '$b10', '$b11', '$b12', '$b13', '$b14') WHERE id_ucznia LIKE.$i

MySQL zwrócił komunikat: Dokumentacja

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'INSTERT INTO oceny ( polski, matematyka, angielski, niemiecki, wf, informatyka, ' at line 1


Ten post edytował damiandamian 8.12.2016, 20:29:47
Go to the top of the page
+Quote Post
arturpiotrowski
post
Post #17





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 6.12.2016

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


czy insert into robi się z WHERE ?
co jest pod zmienną $link?
jak chcesz edytować to zrób update a nie insert
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: 24.08.2025 - 00:53