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ł (IMG:style_emoticons/default/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ę (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/wacko.gif)
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: 23.08.2025 - 02:23