Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Tworzenie zapytania ze zmienną pobraną z formularza
art998
post 19.10.2016, 14:18:36
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 14.10.2016

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


Witam. Proszę o pomoc przy tworzeniu zapytania mysqli w kodzie php ...siedzę już nad tym 2 dzień :-(
Celem ma być utworzenie zapytania ze zmienną o nazwie ‘numer’ pobraną z formularza
  1. <?php
  2. <form action="dodaj_numer.php" method="POST">
  3. NUMER: <input type=int name="numer"/><br/>
  4. <input type=submit value="Wyślij"/>
  5. </form>
  6. ?>

Kod PHP umieszczony poniżej na chwilę obecną zachowuje się następująco:
1) Z formularza pobierana jest liczba i wyświetlona w linii:
echo " Wpisano numer : $numer </br>" ;
2) Zapytanie wykonuję się wprowadzając do tabeli o nazwie ‘zamówienie’
wszystkie rekordy z tabeli ‘dane’ ...i OKI, tak ma być,

Jak zmusić zmienną ‘$numer’ aby w kolumnie o nazwie ‘NUMER” tabela ‘zamowienia’
we wszystkich dodanych rekordach była widoczna liczba wpisana w formularzu
(obecnie wartość NULL)
  1. // dodaj_numer.php
  2. <?php
  3. $numer = $_POST['numer'];
  4. echo " Wpisano numer : $numer </br>" ; // wpisano numer wysłany z formularza
  5.  
  6. $wynik = mysqli_query($baza,"INSERT INTO zamowienie (idfirma, numer, miasto, nazwa) SELECT idfirma, numer, miasto, nazwa
  7. FROM dane ") ;
  8. ?>


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
Tomplus
post 19.10.2016, 14:25:39
Post #2





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


dopisz do zapytania WHERE id = $numer
Go to the top of the page
+Quote Post
b4rt3kk
post 19.10.2016, 14:28:07
Post #3





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Musisz zbudować inne zapytanie:

  1. $query = "INSERT INTO zamowienie (idfirma, numer, miasto, nazwa) SELECT idfirma, {$numer}, miasto, nazwa FROM dane"


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
art998
post 19.10.2016, 14:32:52
Post #4





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 14.10.2016

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


jeżeli dodam WHERE id = $numer do zapytania to zapisze mi tylko jeden rekord o id wpisanym w formularzu
a gdy próbuje WHERE numer = $numer to wtedy "błąd zapytania"
Go to the top of the page
+Quote Post
b4rt3kk
post 19.10.2016, 14:38:35
Post #5





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Cytat(art998 @ 19.10.2016, 15:32:52 ) *
jeżeli dodam WHERE id = $numer do zapytania to zapisze mi tylko jeden rekord o id wpisanym w formularzu
a gdy próbuje WHERE numer = $numer to wtedy "błąd zapytania"


Jak rozumiem, Ty chcesz ten nr wprowadzony przez użytkownika zapisać w bazie danych, tak? Spróbuj tak jak pisałem kilka postów wyżej...


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
art998
post 19.10.2016, 14:41:48
Post #6





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 14.10.2016

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


Cytat(b4rt3kk @ 19.10.2016, 15:28:07 ) *
Musisz zbudować inne zapytanie:

  1. $query = "INSERT INTO zamowienie (idfirma, numer, miasto, nazwa) SELECT idfirma, {$numer}, miasto, nazwa FROM dane"


no dalej błąd zapytania

Cytat(b4rt3kk @ 19.10.2016, 15:38:35 ) *
Jak rozumiem, Ty chcesz ten nr wprowadzony przez użytkownika zapisać w bazie danych, tak? Spróbuj tak jak pisałem kilka postów wyżej...

TAK, chcę aby był widoczny we wszystkich dodanych rekordach
Go to the top of the page
+Quote Post
b4rt3kk
post 19.10.2016, 14:43:14
Post #7





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Cytat(art998 @ 19.10.2016, 15:39:45 ) *
no dalej błąd zapytania


A można coś konkretniej? Jaki błąd zapytania?

Kod ma wyglądać tak:

  1. // dodaj_numer.php
  2. <?php
  3. $numer = $_POST['numer'];
  4. echo " Wpisano numer : $numer </br>" ; // wpisano numer wysłany z formularza
  5. $query = "INSERT INTO zamowienie (idfirma, numer, miasto, nazwa) SELECT idfirma, {$numer}, miasto, nazwa FROM dane"
  6.  
  7. if (!empty($numer) OR is_numeric($numer)) {
  8. $wynik = mysqli_query($baza, $query);
  9. }


Jakby się okazało, że całą linijkę wstawiłeś jako zapytanie...

Numer nie może być pusty, bo zapytanie się nie odpali.

Ten post edytował b4rt3kk 19.10.2016, 14:44:39


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
art998
post 19.10.2016, 14:54:32
Post #8





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 14.10.2016

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


Cytat(b4rt3kk @ 19.10.2016, 15:43:14 ) *
A można coś konkretniej? Jaki błąd zapytania?

Kod ma wyglądać tak:

  1. // dodaj_numer.php
  2. <?php
  3. $numer = $_POST['numer'];
  4. echo " Wpisano numer : $numer </br>" ; // wpisano numer wysłany z formularza
  5. $query = "INSERT INTO zamowienie (idfirma, numer, miasto, nazwa) SELECT idfirma, {$numer}, miasto, nazwa FROM dane"
  6.  
  7. if (!empty($numer) OR is_numeric($numer)) {
  8. $wynik = mysqli_query($baza, $query);
  9. }


Jakby się okazało, że całą linijkę wstawiłeś jako zapytanie...

Numer nie może być pusty, bo zapytanie się nie odpali.

zapytanie nie zgłasza błędów ale też i nie dopisuje rekordów do tabeli zamowienia.
Go to the top of the page
+Quote Post
b4rt3kk
post 19.10.2016, 14:57:52
Post #9





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Cytat(art998 @ 19.10.2016, 15:54:32 ) *
zapytanie nie zgłasza błędów ale też i nie dopisuje rekordów do tabeli zamowienia.


A masz cokolwiek w tabeli dane?


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
art998
post 19.10.2016, 16:34:19
Post #10





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 14.10.2016

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


Cytat(b4rt3kk @ 19.10.2016, 15:57:52 ) *
A masz cokolwiek w tabeli dane?

tak mam 44 rekordy :-)
Dzieki za pomoc pomęczę trochę Twój kod ( może jakies apostrofy trzeba gdzieś powkładać)
Dam cynk czy się udało ...I jeszcze raz dzięki :-)

Oki. problem rozwiązany. Kolega @b4rt3kk miał rację. Zapytanie działa jak należy, błąd był po mojej stronie ( brak wiedzy)
  1. $wynik = mysqli_query($baza,"INSERT INTO zamowienie (idfirma, numer, miasto, nazwa, adres) SELECT idfirma, {$numer}, miasto, nazwa, adres FROM dane") or die("Błąd zapytania !") ;
  2.  
  3. while ($row = mysqli_fetch_array($wynik)) {
  4. }
  5. echo "DODANO NOWY NUMER DO BAZY";

Serdeczne pozdrowienia Mr @b4rt3kk
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: 14.08.2025 - 01:13