Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP - wyszukiwanie i pobieranie danych
Forum PHP.pl > Forum > Przedszkole
php__amator
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ę smile.gif

pozdrawiam
phpamator
nospor
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

-phpamator-
A moze jakis przykladzik ?
To tez moze pomoc smile.gif
-phpamator-
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 ?
nospor
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.
Calibri
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.
-phpamator-
Dziękuję, zaraz sprawdzę i podumam smile.gif
pozdrawiam
mordziaty
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 smile.gif

pozdrawiam
Mordziaty
nospor
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ąś tongue.gif
php__amator
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.

smile.gif

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.