Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] sprawdzenie czy w tabeli istnieje już rekord taki sam jak ostatnio dodany
-woj_nowak-
post 23.01.2011, 17:22:40
Post #1





Goście







Witam,

Mam tabelę mysql z takimi kolumnami:
id - imie - nazwisko
1 - jan - nowak
2 - tomasz - kowalski
3 - jacek - wolski
4 - jan - nowak

Jak (w PHP lub SQL) policzyć ilu jest ludzi o dokładnie tym samym zarówno imieniu i nazwisku?

A najlepiej jak powinno wyglądać zapytanie, żeby po dodaniu nowego usera sprawdzić ile jest osób o tym samym imieniu i nazwisku co ten ostatnio dodany. Czyli dodaję usera nr 5:
INSERT INTO tabela (id,imie,nazwisko) values (5,jan,nowak);
I teraz sprawdzenie ilu jest w tabeli janów nowaków. Jeśli 1, to wyświetl "dodano pierwszego jana nowaka", jeśli 2, to wyświetl "dodano drugiego jana nowaka" itd.

Dziękuję za pomoc!
Pozdrawiam!
Go to the top of the page
+Quote Post
Ulysess
post 23.01.2011, 17:45:48
Post #2





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


  1. $imie = 'Jan';
  2. $nazwisko 'Kowalski';
  3. $zapytanie = mysql_query("SELECT `id` FROM `tabela` WHERE `imie`='".mysql_real_escape_string($imie)."' AND `nazwisko`='".mysql_real_escape_string($nazwisko)."") or die(mysql_error());
  4. $dane = mysql_num_rows($zapytanie);
  5. echo 'Wynik: ',$dane;
Go to the top of the page
+Quote Post
-woj_nowak-
post 23.01.2011, 19:24:38
Post #3





Goście







Dzięki, spróbowałem, i tak:

1. chyba brakuje w linii 2 znaku równości (poprawiłem)

2. dostaję komunikat "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Kowalski' at line 1"

3. Przede wszystkim jednak nie chcę w 2 pierwszych linijkach mieć na sztywno wartości:
$imie = 'Jan';
$nazwisko 'Kowalski';
tylko bym chciał, żeby te wartości się brały z automatu z ostatniego ID jaki jest w tablicy w momencie wykonywania skryptu.
Go to the top of the page
+Quote Post
-woj_nowak-
post 24.01.2011, 00:59:18
Post #4





Goście







Juz wiem skad ten blad - w linii 3 brakowało jednego znaku '

Powinno byc:
$zapytanie = mysql_query("SELECT `id` FROM `tabela` WHERE `imie`='".mysql_real_escape_string($imie)."' AND `nazwisko`='".mysql_real_escape_string($nazwisko)."'") or die(mysql_error());
Go to the top of the page
+Quote Post
wookieb
post 24.01.2011, 06:58:51
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Używaj człowieku BBCODE.
Tak się nie liczy rekordów
  1. SELECT count(id) AS ile FROM tabela WHERE imie = "imie" AND nazwisko = "nazwisko"


--------------------
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: 24.07.2025 - 12:36