Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL][PHP]Status zamówienia - prosty formularz
Petterros
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 21.03.2012

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


Witam wszystkich serdecznie!

Napisałem taki fragment formularza:

  1.  
  2. <?php
  3.  
  4. if(empty($_POST['submit'])) {
  5. ?>
  6. <table>
  7. <form action="" method="post">
  8. <tr>
  9. <td>Nrmer zlecenia</td>
  10. <td><input type="text" name="formNumber"/></td>
  11. </tr>
  12.  
  13. <tr>
  14. <td>Status:</td>
  15. <td><output type="text" name="formStatus"/></td>
  16. </tr>
  17.  
  18.  
  19. <tr>
  20. <td> </td>
  21. <td><input type="submit" name="submit" value="Sprawdź"/></td>
  22. </tr>
  23. </form>
  24. </table>
  25. <?php
  26. } else {
  27.  
  28. //twoje dane
  29. $sql=mysql_connect("localhost", "login", "hasło");
  30. mysql_select_db("zlecenia");
  31.  
  32.  
  33. if(!empty($formNumber) {
  34.  
  35. echo 'Wprowadź numer zlecenia';
  36.  
  37.  
  38. }
  39. ?>
  40.  


Chciałbym aby po wpisaniu nr zlecenia formularz sprawdzał czy istnieje taki w bazie danych, jeśli tak to wyświetlał wartość pola status z bazy w okienku formStatus.
W bazie danych zlecenia jest tabela zlecenia z kolumnami nr zlecenia, status
Nr zlecenia to zawsze ciąg cyfr więc przydało by się również sprawdzanie poprawności wprowadzenia.

Jeśli ktoś może pomóc to bardzo bym prosił smile.gif

Pozdrawiam!

Ten post edytował Petterros 22.03.2012, 12:40:49
Go to the top of the page
+Quote Post
Rysh
post
Post #2





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Kod podajesz w tagach [ PHP ]. Poza tym w czym masz problem?
  1. mysql_query("SELECT status FROM zlecenia WHERE id=". $_POST['id']);

I sprawdzasz ile zwrócił rekordów.


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





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 21.03.2012

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


Nie wiem jak to dokładnie powinno wyglądać, jak mu kazać wyświetlić w polu formstatus, najlepiej zrobić je tak żeby nie było do edycji, jak zrobić sprawdzanie itd.

Ten post edytował Petterros 21.03.2012, 17:43:52
Go to the top of the page
+Quote Post
Rysh
post
Post #4





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


To są podstawy. Zapytanie masz, teraz tylko wstawić w value dla outputa.


--------------------
Go to the top of the page
+Quote Post
Petterros
post
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 21.03.2012

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


Dlatego piszę w przedszkolu.

Nie mam bladego pojęcia jak to zrobić.
Go to the top of the page
+Quote Post
markonix
post
Post #6





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


<input value="TUTAJ ECHO" />
Warto nadać atrybut readonly albo disabled dla tego inputa.


--------------------
Go to the top of the page
+Quote Post
Petterros
post
Post #7





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 21.03.2012

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


Czy ktoś może mi napisać od a do z jak to powinno wyglądać, a nie mi wypisywać pojedyncze funkcje, które nie wiem gdzie i jak mam umieścić?
Go to the top of the page
+Quote Post
markonix
post
Post #8





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


  1. $row = mysql_fetch_row(mysql_query("SELECT `status` FROM `zlecenia` WHERE id=". (int)$_POST['id']));
  2. $status = $row[0];


Powyższy kod pobiera wpisany ID, rzutuje na liczbę w celach bezpieczeństwa oraz przypisuje status do zmiennej $status.
Wystarczy, że wyświetlisz ten status w dowonym miejscu, jako tekst czy wartość inputa (czyli atrybut "value").

Wyświetalać zmienne chyba potrafisz?


--------------------
Go to the top of the page
+Quote Post
Petterros
post
Post #9





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 21.03.2012

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


zrobiłem wyświetlenie zmiennej w ten sposób
  1. <input type="text" name="status" value="<?php echo $status; ?>">


I nie wyświetla się sad.gif
Go to the top of the page
+Quote Post
Rysh
post
Post #10





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Jak już piszesz że wstawiłeś taki kod, to pokaż cały kod. Żaden z nas, nie wie gdzie go wstawiłeś, a to jest dosyć ważne.


--------------------
Go to the top of the page
+Quote Post
Petterros
post
Post #11





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 21.03.2012

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


Proszę, oto cały kod smile.gif

  1. <?php
  2.  
  3. if(empty($_POST['submit'])) {
  4. ?>
  5. <table>
  6. <form action="" method="post">
  7. <tr>
  8. <td>Nrmer zlecenia</td>
  9. <td><input type="text" name="formNumber"/></td>
  10. </tr>
  11. <tr>
  12. <td>&nbsp;</td>
  13. <td><input type="submit" name="submit" value="Sprawdź"/></td>
  14. </tr>
  15. </form>
  16. </table>
  17. <?php
  18. } else {
  19.  
  20. //twoje dane
  21. $sql=mysql_connect("localhost", "klimapro_admin", "nr1klimaproject");
  22.  
  23. $formNumber = $_POST['formNumber'];
  24. $formStatus = $_POST['formStatus'];
  25.  
  26. if(!empty($formNumber) {
  27.  
  28. echo 'Wprowadź numer zlecenia';
  29.  
  30. } else
  31.  
  32. $row = mysql_fetch_row(mysql_query("SELECT `status` FROM `zlecenia` WHERE id=". (int)$_POST['id']));
  33.  
  34. $status = $row[0];
  35.  
  36. ?>
  37. <tr>
  38. <td>Status:</td>
  39. <td> <input type="text" name="status" value="<?=$status?>"/></td>
  40. </tr>
Go to the top of the page
+Quote Post
Rysh
post
Post #12





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Daj:
  1. $row = mysql_fetch_row(mysql_query("SELECT `status` FROM `zlecenia` WHERE id=". (int)$_POST['formNumber']));

Zamiast:
  1. $row = mysql_fetch_row(mysql_query("SELECT `status` FROM `zlecenia` WHERE id=". (int)$_POST['id']));


Poprawiony kod cały:
  1. <?php
  2.  
  3. if(!isset($_POST['submit'])) {
  4. echo '<table>
  5. <form action="" method="post">
  6. <tr>
  7. <td>Nrmer zlecenia</td>
  8. <td><input type="text" name="formNumber"/></td>
  9. </tr>
  10. <tr>
  11. <td> </td>
  12. <td><input type="submit" name="submit" value="Sprawdź"/></td>
  13. </tr>
  14. </form>
  15. </table>';
  16. } else {
  17. mysql_connect("localhost", "klimapro_admin", "nr1klimaproject");
  18. mysql_select_db("test");
  19.  
  20. if(!is_numeric($_POST['formNumber'])) {
  21. echo 'Wprowadź numer zlecenia';
  22. } else {
  23. $row = mysql_fetch_row(mysql_query("SELECT `status` FROM `zlecenia` WHERE id=". (int)$_POST['formNumber']));
  24.  
  25. echo '<tr>
  26. <td>Status:</td>
  27. <td><input type="text" name="status" value="'. $row[0] .'"/></td>
  28. </tr>';
  29. }
  30. }
  31. ?>


Ten post edytował Rysh 22.03.2012, 13:59:47


--------------------
Go to the top of the page
+Quote Post
Petterros
post
Post #13





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 21.03.2012

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


Nie wiem czemu ale wyświetla mi ten fragment kodu

  1. '; } else { mysql_connect("localhost", "klimapro_admin", "nr1klimaproject"); mysql_select_db("test"); if(!is_numeric($_POST['formNumber'])) { echo 'Wprowadź numer zlecenia'; } else $row = mysql_fetch_row(mysql_query("SELECT `status` FROM `zlecenia` WHERE id=". (int)$_POST['formNumber'])); echo ' Status: '; } } ?>

zamiast go wykonać.
Go to the top of the page
+Quote Post
Rysh
post
Post #14





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Nie mam w tej chwili jak sprawdzić tego kodu ponieważ jestem na uczelni, wygląda dobrze (przed chwilą poprawiłem jeszcze jeden błąd - więc sprawdź jeszcze raz w razie czego).


--------------------
Go to the top of the page
+Quote Post
Petterros
post
Post #15





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 21.03.2012

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


Nadal nic, próbowałem sam coś poprawiać ale nic to w zasadzie nie zmieniło i wróciłem do Twojej wersji haha.gif
Go to the top of the page
+Quote Post
Rysh
post
Post #16





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Cytat(Petterros @ 22.03.2012, 14:14:56 ) *
Nadal nic, próbowałem sam coś poprawiać ale nic to w zasadzie nie zmieniło i wróciłem do Twojej wersji haha.gif

No dobra, wróciłem do domu i sprawdziłem ten kod co dałem wcześniej i o dziwo DZIAŁ!
  1. <?php
  2.  
  3. if(!isset($_POST['submit'])) {
  4. echo '<table><form method="post">
  5. <tr><td>Numer zlecenia:</td><td><input type="text" name="formNumber"/></td></tr>
  6. <tr><td> </td><td><input type="submit" name="submit" value="Sprawdź"/></td></tr>
  7. </form></table>';
  8. } else {
  9. mysql_connect("localhost", "klimapro_admin", "nr1klimaproject");
  10. mysql_select_db("test");
  11.  
  12. if(!is_numeric($_POST['formNumber'])) {
  13. echo 'Wprowadź poprawny numer zlecenia.';
  14. } else {
  15. $row = mysql_fetch_row(mysql_query("SELECT `status` FROM `zlecenia` WHERE id=". (int)$_POST['formNumber']));
  16. echo '<tr><td>Status:</td><td><input type="text" name="status" value="'. $row[0] .'"/></td></tr>';
  17. }
  18. }
  19. ?>

Pamiętaj żeby zapisywać w notepad++ w UTF-8 bez BOM.


--------------------
Go to the top of the page
+Quote Post
Petterros
post
Post #17





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 21.03.2012

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


Zapisałem bez bom, wrzuciłem to na serwer i ciągle to samo wacko.gif
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 Aktualny czas: 20.08.2025 - 16:34