Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Amatorska szukajka;)
Forum PHP.pl > Forum > Przedszkole
maly_pirat
Hej, chce zrobić taką prostą szukajke na stronie swojej, i chciałbym się dowiedzieć o źródło takiej szukajki.

1. Przede wszystkim nawiązanie połączenia z bazą danych,
2. Na stronie głównej utworzyć pole input i wpisując wartość użytkownik bedzię informowany o rezultatach zapisanych w bazie.

Kod
<form action="szukaj.php" method="post">
Wpisz IP: <input type="text" name="ip">
<input type=submit value="Szukaj">


Chciałbym aby w szukajce można było wpisywać tylko wartości liczbowe, bo opcja szukaj będzie miała za zadanie
szukać adresów IP w bazie danych. Więc jeżeli ktoś wpisze w input np. ` ala ma konta ` to chciałbym aby szukajka zwróciła komunikat ` Błędy adres ip `

3. Teraz sam skrypt, prosta zasada;

127.0.0.1 - ip, które wprowadził użytkownik.
Szukajka zwraca komunikat

` Wybrany adres IP ` 127.0.0.1 ` jest lub też NIE zarejestrowany w bazie `
Raczej nic więcej nie chce.

szukaj.php

A dalej? nie za bardzo wiem, co dokładnie wpisać.
Pitter
ja bym to zrobił w ten sposób:

  1. <?
  2. // formularz
  3. echo '<form method="GET">
  4. Wpisz adres ip: <input type="text" name="ip">
  5. <input type="hidden" name="search" value="ok">
  6. <input type="submit" value="szukaj">
  7. </form>';
  8.  
  9. //sprawdzenie czy wpisana wartość jest liczbą
  10. if(!is_nan(asin($_GET['ip'])))
  11. {
  12. echo 'Wpisana wartość nie jest liczba';
  13. }
  14. else
  15. {
  16. $ip = $_GET['id'];
  17. $query = "SELECT * FROM user WHERE ip='$ip'";
  18. $result = mysql_query($query);
  19. $ile = mysql_num_rows($result);
  20.  
  21. if($ile==0)
  22. {
  23. echo 'nikt sie nie zarejestrowal o podanym adresie ip';
  24. }
  25. else
  26. {
  27. echo 'Ktos juz jest zarejestrowany o podanym adresie ip';
  28. }
  29. }
  30.  
  31. ?>


Tylko jest jeden problem. Funkcja która sprawdza czy dana wartość jest liczbą nie będzie dobrze działać z ip. POnieważ ip składa się z kropek.
maly_pirat
Cytat
Rozumiem ,że sam na razie nic nie zrobiłes questionmark.gif?


Bez przesady, połączyć się z bazą każdy potrafi, po prostu nie pisałem kodu.
Co do kodu, który podał Pitter, no jeżeli nie bedę mógł kropek używać, to na niewiele mi ten kod, ale bynajmniej
będę pisał na podstawie tego.
phpion
Cytat(Pitter @ 16.08.2008, 17:28:27 ) *
Tylko jest jeden problem. Funkcja która sprawdza czy dana wartość jest liczbą nie będzie dobrze działać z ip. POnieważ ip składa się z kropek.

A co mają kropki do rzeczy?

Ja bym zmodyfikował przykład podany przez ~Pittera. Skoro chcesz uzyskać informację jest/nie ma to po co wyciągać rekordy i je liczyć? Zdecydowanie lepiej użyć COUNT:
  1. <?php
  2. $ip = $_GET['id'];
  3. $query = "SELECT COUNT(*) FROM user WHERE ip='$ip'";
  4. $result = mysql_query($query);
  5.  
  6. if(mysql_result($result, 0) == 0)
  7. {
  8. echo 'nikt sie nie zarejestrowal o podanym adresie ip';
  9. }
  10. else
  11. {
  12. echo 'Ktos juz jest zarejestrowany o podanym adresie ip';
  13. }
  14. ?>
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.