Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] Mały Problem
Cevo125
post 17.09.2012, 20:42:49
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 16.09.2012

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


  1. <?php
  2.  
  3. if(!isset($_POST['submit'])) {
  4. echo '<table><form method="post">
  5. <tr><td>Numer Serwisu:</td><td><input type="text" name="formNumber"/></td></tr>
  6. <tr><td> </td><td><input type="submit" name="submit" value="Sprawdz"/></td></tr>
  7. </form></table>';
  8. } else {
  9. mysql_connect("localhost", "turbodo_status", "...");
  10. mysql_select_db("turbodo_status");
  11.  
  12. if(!is_numeric($_POST['formNumber'])) {
  13. echo 'Zly numer serwisu .';
  14. } else {
  15. $row = mysql_fetch_row(mysql_query("SELECT `status` FROM `statusy` WHERE id=". $_POST['formNumber']));
  16. echo 'Serwis jest już gotowy do odbioru';
  17. }
  18. }
  19. ?>
  20.  


Witam , proszę o pomoc.

Mianowicie w bazie mam wpisany status zamówienia "123/2012/turbo" co zrobić żeby nie czytało tylko integer , czyli same cyfry. Tylko cały wyraz taki jak napisałem wcześniej.
Go to the top of the page
+Quote Post
b4rt3kk
post 17.09.2012, 20:44:05
Post #2





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

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


Zmienić typ kolumny w bazie danych z INTEGER na VARCHAR chociażby.

A, chodzi o metodę porównywania, nie zrozumiałem w pierwszym momencie, zamiast = użyj LIKE.

  1. SELECT `status` FROM `statusy` WHERE id LIKE $_POST['formNumber']


Ten post edytował b4rt3kk 17.09.2012, 20:45:43


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
Cevo125
post 17.09.2012, 20:44:29
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 16.09.2012

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


To już mam chodzi mi o sam skrypt
Go to the top of the page
+Quote Post
b4rt3kk
post 17.09.2012, 20:46:15
Post #4





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

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


Jak wyżej, użyj LIKE do porównywania.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
Cevo125
post 17.09.2012, 20:47:36
Post #5





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 16.09.2012

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


Cytat(b4rt3kk @ 17.09.2012, 21:46:15 ) *
Jak wyżej, użyj LIKE do porównywania.



  1. Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/turbodo/public_html/test/status.php on line 15
Go to the top of the page
+Quote Post
b4rt3kk
post 17.09.2012, 20:49:40
Post #6





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

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


To to już sam powinieneś wiedzieć w czym rzecz.

  1. $row = mysql_fetch_row(mysql_query("SELECT `status` FROM `statusy` WHERE id LIKE '" . $_POST['formNumber']."'"));


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
Cevo125
post 17.09.2012, 20:54:11
Post #7





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 16.09.2012

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


  1. <?php
  2.  
  3. if(!isset($_POST['submit'])) {
  4. echo '<table><form method="post">
  5. <tr><td>Numer Serwisu:</td><td><input type="text" name="formNumber"/></td></tr>
  6. <tr><td> </td><td><input type="submit" name="submit" value="Sprawdz"/></td></tr>
  7. </form></table>';
  8. } else {
  9. mysql_connect("localhost", "turbodo_status", "neon1990");
  10. mysql_select_db("turbodo_status");
  11.  
  12. if(!is_numeric($_POST['formNumber'])) {
  13. echo 'Zly numer serwisu .';
  14. } else {
  15. $row = mysql_fetch_row(mysql_query("SELECT `status` FROM `statusy` WHERE id LIKE '" . $_POST['formNumber']."'"));
  16. echo 'S';
  17. }
  18. }
  19. ?>


Na to już wpadłem , przepraszam za kłopt. Lecz nadal nie działa "2/2012/turbo" dalej pokazuje że nie ma ? czego tutaj może brakować
Go to the top of the page
+Quote Post
patryczakowy
post 17.09.2012, 21:03:35
Post #8





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

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


Linia 12 sprawdzasz czy w zmiennej znajduje się liczba w podanym przykładzie zawsze w tym miejscu if będzie prawdziwy więc musisz zmienić ten warunek aby wogle doszło do wykonania zapytania

Ten post edytował patryczakowy 17.09.2012, 21:04:07


--------------------
Sztuką jest widzieć to czego nie widać.
Go to the top of the page
+Quote Post
Cevo125
post 17.09.2012, 22:08:53
Post #9





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 16.09.2012

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


Czyli co muszę dać?
Go to the top of the page
+Quote Post
b4rt3kk
post 18.09.2012, 00:23:59
Post #10





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

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


  1. if(!is_numeric($_POST['formNumber'])) {
  2. echo 'Zly numer serwisu .';
  3. } else {
  4. $row = mysql_fetch_row(mysql_query("SELECT `status` FROM `statusy` WHERE id LIKE '" . $_POST['formNumber']."'"));
  5. echo 'S';
  6. }


"2/2012/turbo" nie jest wartością typu numeric, więc warunek else nie zostanie wykonany. Jeśli już chcesz walidować wprowadzaną wartość użyj preg_match.

  1. if (preg_match("/^[0-9]{1}/[0-9]{4}/[a-z]+$/", $_POST['formNumber']) == 1) {
  2. $row = mysql_fetch_row(mysql_query("SELECT `status` FROM `statusy` WHERE id LIKE '" . $_POST['formNumber']."'"));
  3. echo 'S';
  4. } else {
  5. echo 'Zly numer serwisu .';
  6. }


Ten post edytował b4rt3kk 18.09.2012, 00:24:38


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
Cevo125
post 18.09.2012, 07:13:16
Post #11





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 16.09.2012

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


Kolejny błąd

  1. Warning: preg_match() [function.preg-match]: Unknown modifier '[' in /home/turbodo/public_html/test/status.php on line 12
Go to the top of the page
+Quote Post
b4rt3kk
post 18.09.2012, 10:45:57
Post #12





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

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


  1. if (preg_match("/^[0-9]{1}\/[0-9]{4}\/[a-z]+$/", $_POST['formNumber']) == 1) {


http://php.net/manual/en/function.preg-match.php

Błędami składni to już mógłbyś się jednak samodzielnie zająć.

Ten post edytował b4rt3kk 18.09.2012, 10:47:04


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
Cevo125
post 20.09.2012, 07:28:45
Post #13





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 16.09.2012

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


Hmm jest kolejny problem , otóż teraz nie ważne co wpisze to jest że wszystko jest do odbioru
Go to the top of the page
+Quote Post
b4rt3kk
post 20.09.2012, 15:41:46
Post #14





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

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


Bez kodu ciężko wywnioskować w czym rzecz, jednak albo w zapytaniu, albo w strukturze bazy danych, albo w wyświetlaniu wyników.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
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: 28.06.2025 - 18:40