Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PHP - wyszukiwanie i pobieranie danych
php__amator
post
Post #1





Grupa: Zarejestrowani
Postów: 217
Pomógł: 1
Dołączył: 26.05.2011
Skąd: Moon

Ostrzeżenie: (10%)
X----


Witam,

  1. <?php
  2. require_once('includes/connection.php');
  3. $query = mysql_query("SELECT first_name, last_name FROM drivers", $connection);
  4. $row = mysql_fetch_array($query);
  5. $id=0;
  6. if(($row['first_name'] == $_POST["first_name"]) && ($row['last_name'] == $_POST["last_name"]))
  7. {
  8. die ("<b>Imię i nazwisko znajduje się już w Naszej bazie!</b> ". mysql_error());
  9. }
  10. else{ header("Location: formpl.php"); exit(); //jesli nie istnieje przechodzi do formularza rejestracyjnego
  11. }
  12. ?>

Proste pytanie, prosta odpowiedz i takiej wlasnie potrzebuję.
Formularzem przesyłam imię i nazwisko a następnie w/w przyklad ma sprawdzać czy w bazie istnieje takie imie i nazwisko,
co trzeba dopisać żeby nie sprawdzał tylko pierwszego rekordu a wszystkie ? pętelka For i=0 ?
Trochę mi pilno z tematem a ponieważ jestem początkującym PeHaPerem, jeśli mogę liczyć na pomoc i oczekiwać podpowiedzi ...
dziękuję (IMG:style_emoticons/default/smile.gif)

pozdrawiam
phpamator

Ten post edytował phpamator 14.11.2011, 01:11:11
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




imie i nazwisko należy dodać do warunku zapytania a nie sprawdzać to wszystko w php.

Chodzi o banalne WHERE. Więcej info w manualu MYSQL

Go to the top of the page
+Quote Post
--phpamator--
post
Post #3





Goście







A moze jakis przykladzik ?
To tez moze pomoc (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
--phpamator--
post
Post #4





Goście







Poprawilem ale wciaz nie dzial to jak oczekuje
  1. <?php
  2. require_once('includes/connection.php');
  3. $query = mysql_query("SELECT * FROM drivers WHERE first_name='$_POST[first_name]' AND last_name='$_POST[last_name]' ", $connection);
  4. $row = mysql_fetch_array($query);
  5. if(($row['first_name'] == '$_POST["first_name"]') && ($row['last_name'] == '$_POST["last_name"]'))
  6. { die ("<b>Imię i nazwisko znajduje się już w Naszej bazie!</b> ". mysql_error());
  7. } else { echo "Wroc do poprzedniej strony i zarejestruj sie :)"; exit();
  8. }
  9. echo ": ", $row['first_name'].", ".$row['last_name'];
  10. ?>

Gdzie popelnilem blad ?
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Skoro sprawdzanie nazwiska i imienia robisz juz w zapytaniu, ponowne sprawdzanie tego w php jest totalnie bezsensu, a już w szczegolności w sposób jaki ty to robisz.

Skoro sprawdzanie nazwiska i imienia robisz juz w zapytaniu to wystarczy, że policzysz liczbę zwróconych rekordów i na tej podstawie bedziesz wiedział czy jest to w bazie czy nie.
mysql_num_rows() zwraca liczbę rekordów z ostatniego zapytania.
Go to the top of the page
+Quote Post
Calibri
post
Post #6





Grupa: Zarejestrowani
Postów: 26
Pomógł: 4
Dołączył: 22.07.2011

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


Spróbuj tak:

Kod
<?php
require_once('includes/connection.php');

// COUNT(id) - zlicza wystąpienia, w nawiasie wpisz swój id taki jaki masz w tabeli lub zastąp to id inną nazwą np. first_name
$query = mysql_query("SELECT COUNT(id) AS idCounter FROM drivers WHERE first_name='$_POST[first_name]' AND last_name='$_POST[last_name]' ", $connection);
$row = mysql_fetch_array($query);
if ($row['idCounter'] > 0)
{
  die ("<b>Imię i nazwisko znajduje się już w Naszej bazie!</b> ". mysql_error());
}
else
{
  echo "Wroc do poprzedniej strony i zarejestruj sie :)"; exit();
}
?>



Pisane na szybko. Powinno działać. Pozdrawiam.

Ten post edytował Calibri 14.11.2011, 12:23:46
Go to the top of the page
+Quote Post
--phpamator--
post
Post #7





Goście







Dziękuję, zaraz sprawdzę i podumam (IMG:style_emoticons/default/smile.gif)
pozdrawiam
Go to the top of the page
+Quote Post
-mordziaty-
post
Post #8





Goście







Rozumiem, że ktoś może pisać bzdury ale to nie oznacza, że trzeba reaktować go jak .../ Panie nospor tak jak to zrobil kolega Calibri.
Teraz kolega phpamator będzie mógł sobie poćwiczyć na podanym przykładzie.
Czasem pomocna dłoń może uratować życie (IMG:style_emoticons/default/smile.gif)

pozdrawiam
Mordziaty
Go to the top of the page
+Quote Post
nospor
post
Post #9





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




A jak ja go "zreaktowałem"?

Ja daję wędkę, Calibri dał rybę. Jak ci się podoba jego metoda to wyślij mu kasę na konto i pocałuj w rączkę.
Ja staram się wymusić na użytkowniku odrobinę myślenia i wkładu własnego. Calibri podał gotowy kod, wszystko podane na tacy - zero myślenia własnego po stronie autora problemu.

@mordziaty piszesz na dodatek dokładnie z tego samego IP co phpamataor......
@phpamator jak chciałeś mi coś powiedzieć, to trzeba to było napisać jako ty, a nie podszywasz się pod mordę jakąś (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
php__amator
post
Post #10





Grupa: Zarejestrowani
Postów: 217
Pomógł: 1
Dołączył: 26.05.2011
Skąd: Moon

Ostrzeżenie: (10%)
X----


Tak czy owak, dziękuję
Jeszcze nie miałem czau się przyjżeć, w międzyczasie przeglądałem manuale i faktycznie. Wędka była pomocna także.

Dziękuję nospor

Usiadłem właśnie celem douczenia się, dzięki wskazówkom i wędce dowiedziałem się jak znacznie lepiej a co najważniejsze mniej "idiotycznie"
rozwiązać moj problem z wybieraniem i sprawdzaniem wpisów w bazie.
Następnym razem bedę już wiedział jak się do tego zabrać.
Oczywiście w związku z tym, że jestem początkujący (całkowicie) i moja nauka w zasadzie ograniczała się tylko do szukamia rozwiązań w sieci, przepraszam i obiecuję poprawęoraz, że przyłożę się do tego tak mi dopomóż RAM.

(IMG:style_emoticons/default/smile.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: 4.10.2025 - 18:29