Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Mały Problem
Forum PHP.pl > Forum > Przedszkole
Cevo125
  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.
b4rt3kk
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']
Cevo125
To już mam chodzi mi o sam skrypt
b4rt3kk
Jak wyżej, użyj LIKE do porównywania.
Cevo125
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
b4rt3kk
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']."'"));
Cevo125
  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ć
patryczakowy
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
Cevo125
Czyli co muszę dać?
b4rt3kk
  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. }
Cevo125
Kolejny błąd

  1. Warning: preg_match() [function.preg-match]: Unknown modifier '[' in /home/turbodo/public_html/test/status.php on line 12
b4rt3kk
  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ąć.
Cevo125
Hmm jest kolejny problem , otóż teraz nie ważne co wpisze to jest że wszystko jest do odbioru
b4rt3kk
Bez kodu ciężko wywnioskować w czym rzecz, jednak albo w zapytaniu, albo w strukturze bazy danych, albo w wyświetlaniu wyników.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.