Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Dodawanie pola rekordu w tabeli
wisiek21
post 25.12.2015, 13:17:07
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 25.12.2015

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


  1. <?php
  2.  
  3. if ((!isset($_POST['login'])) || (!isset($_POST['haslo'])))
  4. {
  5. header('Location: logowanie-bibliotekarza.php');
  6. exit();
  7. }
  8.  
  9. require_once "connect.php";
  10.  
  11. $polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
  12.  
  13. if ($polaczenie->connect_errno!=0)
  14. {
  15. echo "Error: ".$polaczenie->connect_errno;
  16. }
  17. else
  18. {
  19. $nazwa = $_POST['nazwa'];
  20.  
  21. $nazwa = htmlentities($nazwa, ENT_QUOTES, "UTF-8");
  22.  
  23. if ($rezultat = @$polaczenie->query(
  24. sprintf("SELECT * FROM kategoria WHERE nazwa='%s'",
  25. mysqli_real_escape_string($polaczenie,$nazwa))))
  26. {
  27. $ilu_kategorii = $rezultat->num_rows;
  28. if($ilu_kategorii>0)
  29. {
  30. $_SESSION['blad'] = '<span style="color:red">Nieprawidłowa nazwa kategorii!</span>';
  31. header('Location: kategoria.php');
  32.  
  33. } else {
  34.  
  35. sprintf("INSERT INTO $db_name.kategoria VALUES(null, '%s')",
  36. mysqli_real_escape_string($polaczenie,$nazwa))
  37.  
  38.  
  39. unset($_SESSION['blad']);
  40. $rezultat->free_result();
  41.  
  42.  
  43. }
  44.  
  45. }
  46.  
  47. $polaczenie->close();
  48. }
  49. ?>


Kod ma pobrać wartość imputa połączyć się do bazy, sprawdzić czy nie ma w tabeli już takiej nazwy jeśli jej nie ma dodać nowy rekord. Coś pokopałem podpowiecie proszę co.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 15)
nospor
post 25.12.2015, 16:16:52
Post #2





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




1) Jak cos nie dziala, to trzeba napisac czym sie objawia niedzialanie a nie kazac nam wrozyc....
2) Nigdzie nie widze bys wykonywal zapytanie. Utworzenie zapytania a jego wykonanie to dwie rozne rzeczy


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
wisiek21
post 2.01.2016, 16:02:27
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 25.12.2015

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


od poprzednią sprawę już ogarnąłem ale mam kłopot z innym elementem a mianowicie mam problem z napisaniem generującej się z bazy listy rozwijanej "<select>" napisałem coś takiego oczywiście w pętli. Niestety pomyliłem coś z cudzysłowami, apostrofami lub konkatenacją

  1. echo "<option value='$i["id_kategoria"]'>.$i["nazwa"].</option>";
Go to the top of the page
+Quote Post
rad11
post 2.01.2016, 16:34:33
Post #4





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


  1. echo "<option value='{$i["id_kategoria"]}'>{$i["nazwa"]}</option>";


  1. echo "<option value='".$i["id_kategoria"]."'>".$i["nazwa"]."</option>";


Nie używasz żadnego IDE ?

Ten post edytował rad11 2.01.2016, 16:43:55
Go to the top of the page
+Quote Post
wisiek21
post 6.01.2016, 14:00:12
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 25.12.2015

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


  1. "SELECT tytul, autor, wydawnictwo, rok_wydania FROM ksiazka WHERE id_kategoria="$_POST['kategoria']""


Formularz wysyłany metodą post. kategoria to wartość atrybutu name pola select. Kod mający filtrować i wyświetlać zawartości z poszczególnych kategorii jest zaraz za formularzem z polem select w tym samym pliku.

I tak jeszcze z innej beczki zastanawiam się jak można fanie oprogramować wybór użytkownika np. Zwracamy mu 20 produktów z bazy on z nich wybiera np 2 a my pobieramy odpowiednie dane i dodajemy nowy wpis w tabeli z zamówieniami. Dane klienta oczywiście pobieram z bazy podczas logowania i mam w zmienianych sesyjnych

Panowie co tu poknociłem z konkatenacja albo czymś podobnym bo patrze i nie widzę

  1. $rezultat=@$polaczenie->query("SELECT id_".$table_name." FROM ".$table_name." WHERE id_".$table_name." = '$id' AND haslo='$old_password'";);


  1. $rezultat=@$polaczenie->query("UPDATE ".$table_name." SET "."haslo = '$new_password' WHERE id_".$table_name." = '$id'";);

Go to the top of the page
+Quote Post
nospor
post 6.01.2016, 14:02:16
Post #6





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




i znowu trzeba ci pisac:
a czym sie objawia blad?

Ile jeszcze razy trzeba ci to napisac, bys sam z siebie zaczal opisywac problem?!


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
wisiek21
post 6.01.2016, 14:09:13
Post #7





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 25.12.2015

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


Parse error: syntax error, unexpected ';' dotyczy właśnie linij z zapytaniami
Go to the top of the page
+Quote Post
nospor
post 6.01.2016, 14:14:03
Post #8





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




No bo niby po co srednik miedzy " a ) questionmark.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
wisiek21
post 6.01.2016, 14:20:14
Post #9





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 25.12.2015

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


co do zapytań poszło teraz wywala Parse error: syntax error, unexpected end of file in /home/u132734871/public_html/uppassczyt.php on line 49. 49 to tag zamykający php

  1. <?php
  2.  
  3. if ((!isset($_SESION['id'])) || (!isset($_SESION['oldpass'])))
  4. {
  5. header('Location: logowanie-uzytkownika.php');
  6. exit();
  7. }
  8.  
  9. require_once "connect.php";
  10.  
  11. $polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
  12.  
  13.  
  14.  
  15. if($polaczenie->connect_errno!=0){
  16.  
  17.  
  18.  
  19. echo "Error: ".$polaczenie->connect_errno;
  20.  
  21. echo "<P align='center'><font color='red'> Coś poszło nie tak:(<br /> Spróbuj ponownie...</font></p>";
  22.  
  23. }
  24.  
  25. else{
  26.  
  27. $id =$_SESSION['id'];
  28. $old_password = $_POST['oldpass'];
  29. $new_password =$_POST['newpass'];
  30. $table_name ='czytelnik';
  31.  
  32. echo "SELECT id_".$table_name." FROM ".$table_name." WHERE id_".$table_name." = '$id' AND haslo='$old_password'";
  33.  
  34. $rezultat=@$polaczenie->query("SELECT id_".$table_name." FROM ".$table_name." WHERE id_".$table_name." = '$id' AND haslo='$old_password'");
  35. {
  36. if (! ($rezultat && mysqli_num_rows($rezultat))) {
  37. echo "<P align='center'><font color='red'> Nieprawidłowe aktualne hasło(<br /> Spróbuj ponownie...</font></p>";
  38. }
  39. else {
  40. $rezultat=@$polaczenie->query("UPDATE ".$table_name." SET "."haslo = '$new_password' WHERE id_".$table_name." = '$id'");
  41.  
  42. if (!$rezultat)
  43. echo "<P align='center'><font color='red'> Coś poszło nie tak(<br /> Spróbuj ponownie...</font></p>";
  44.  
  45. echo "<P align='center'><font color='red'> Hasło zostało zmienione...</font></p>";
  46. }
  47. }
  48. ?>
Go to the top of the page
+Quote Post
nospor
post 6.01.2016, 14:23:43
Post #10





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




$rezultat=@$polaczenie->query("SELECT id_".$table_name." FROM ".$table_name." WHERE id_".$table_name." = '$id' AND haslo='$old_password'");
{
A po co tam ten { questionmark.gif
Poza tym chyba nie zamykasz jednego else...

Zacznij pisac w koncu ze wcieciami, to nie bedziesz robil tak glupich bledow i od razu bedziesz widzial czego ci brakuje


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
wisiek21
post 7.01.2016, 19:13:42
Post #11





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 25.12.2015

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


Poprzednie kłopoty opanowane. Teraz znów banał ale nie mogę się dopatrzeć gdzie jest kłopot.

Parse error: syntax error, unexpected '$_POST' (T_VARIABLE) in /home/u132734871/public_html/zamawiaj.php on line 30

  1. $rezultat=@$polaczenie->query("SELECT data_zwrotu FROM zamowienie WHERE id_ksiazka="$_POST['wybor']" ORDER BY id_zamowienie DESC;")
Go to the top of the page
+Quote Post
KsaR
post 7.01.2016, 19:27:33
Post #12





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


  1. $rezultat=$polaczenie->query("SELECT `data_zwrotu` FROM `zamowienie` WHERE `id_ksiazka`=".$_POST['wybor'].' ORDER BY `id_zamowienie` DESC;');

Ps. Nie czytalem reszty tematu.
Musisz uzyc operatora laczenia (kropki) ktory laczy w 1 string, zmienne / string-i.

Ten post edytował KsaR 7.01.2016, 19:30:13


--------------------
Go to the top of the page
+Quote Post
rad11
post 7.01.2016, 19:37:50
Post #13





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


Albo:

  1. {$_POST['wybor']}

Go to the top of the page
+Quote Post
wisiek21
post 7.01.2016, 19:40:54
Post #14





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 25.12.2015

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


Nasuwa mi się jedno pytanie skrypt mam manipulować datami pod spodem całość skryptu.
  1. <?php
  2.  
  3. if (!isset($_SESSION['zalogowany']) && !isset($_POST['wybor']))
  4. {
  5.  
  6. header('Location: addzamowienie.php');
  7.  
  8. exit();
  9. }
  10.  
  11. require_once "connect.php";
  12.  
  13. $polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
  14.  
  15.  
  16.  
  17. if($polaczenie->connect_errno!=0){
  18.  
  19.  
  20.  
  21. echo "Error: ".$polaczenie->connect_errno;
  22.  
  23. echo "<P align='center'><font color='red'> Coś poszło nie tak:(<br /> Spróbuj ponownie...</font></p>";
  24.  
  25. }
  26.  
  27. else{
  28. $dzis = date("d.m.y");
  29. if ( $rezultat=$polaczenie->query("SELECT `data_zwrotu` FROM `zamowienie` WHERE `id_ksiazka`=".$_POST['wybor'].' ORDER BY `id_zamowienie` DESC;'))
  30.  
  31. {
  32. $ileZam = $rezultat->num_rows;
  33.  
  34. if($ileZam>0){
  35. $rekord = $i = $rezultat->fetch_assoc();
  36. if ($dzis>$rekord['data_zwrotu']){
  37.  
  38. $odbior=$dzis;
  39. $zwrot=$dzis+14;
  40. }
  41. else{
  42. $odbior=$rekord['data_zwrotu']+1;
  43. $zwrot=$odbior+14;
  44. }
  45. }
  46.  
  47.  
  48.  
  49. mysqli_query($polaczenie,"INSERT INTO zamownienie (id_zamowienie, id_czytelnik, id_ksiazka, data_zamowienia, data_odbioru, data_zwrotu) VALUES ('null','$_SESSION['id']','$_POST['wybor']','$dzis','$odbior','$zwrot')");
  50. }
  51. }
  52.  
  53. ?>


Czy da sie manipulować w ten sposób datami. Przyzwyczajenia z innego języka czy trzeba będzie dzielić datę na kawałki i bawić się z timestamp?
Zerknijcie na zapytanie w wierszu 50 (to drugie).

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in /home/u132734871/public_html/zamawiaj.php on line 50
wiem że to banały ale trudno mi się połapać w tych konkatenacjach itp.
Go to the top of the page
+Quote Post
rad11
post 7.01.2016, 19:53:25
Post #15





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


Zrób dla zmiennych post to samo co zrobiłeś dla zmiennej post wybór albo skorzystaj z mojej podpowiedzi
Go to the top of the page
+Quote Post
wisiek21
post 8.01.2016, 10:44:08
Post #16





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 25.12.2015

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


OK jak wrócę to pobawię się z tymi kropkami. a jak sprawa się ma co do manipulacji datami?

Panowie nadal nie mogę ogarnąć konkatenacji w tym zapytaniu.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 11:51