Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/MySQL] numer klienta vs. zamowienie w sklepie
Forum PHP.pl > Forum > Przedszkole
lukash82
Witam. Mam problem z przypisywaniem numeru klienta do zamowienia w sklepie. Tzn samo przypisywanie dziala za pierwszym razem gdy klient pierwszy raz sklada zamowienie. Problem pojawia sie gdy drugi raz ten sam klient chce cos zamowic. Moze troche kodu:
  1. <?php
  2. $query = "SELECT * FROM klient WHERE (Imie = '$Imie' AND Nazwisko = '$Nazwisko' AND Adres = '$Adres' AND Miasto = '$Miasto')";
  3. $results = mysql_query($query) or (mysql_error());
  4. $rows = mysql_num_rows($results);
  5. if ($rows < 1) {
  6.  
  7. $query2 = "INSERT INTO klient (Imie, Nazwisko, Adres, Miasto, Wojewodztwo, Kod, Telefon_dom, Telefon_kom, 
    Email)
  8. VALUES ('$Imie','$Nazwisko','$Adres','$Miasto','$Wojewodztwo','$Kod','$Telefon_dom','$Telefon_kom','$Email')";
  9. $insert = mysql_query($query2) or (mysql_error());
  10. $custid = mysql_insert_id();
  11. }
  12.  
  13. if ($custid) { $Id_Klient = $custid;
  14. }
  15.  
  16. $Dostawa = $_POST['przesylka'];
  17. $query3 = "INSERT INTO zamowienie (Id_Klient, Wstepna, Dostawa, Data) VALUES ('$Id_Klient','$total','$Dostawa','$today')";
  18. $insert2 = mysql_query($query3) or (mysql_error());
  19. $orderid = mysql_insert_id();
  20. ?>

A wiec tak. W pierwszej czesci sprawdzam czy mam takiego klienta w bazie, jesli nie to wpisuje go do bazy i nadaje mu jakis numer. I to dziala bez problemu. Gdy za drugim razem ten sam osobnik zlozy zamowienie to do tabeli zamowien wpsuje mi Id_Klient jako "0". Wyczytalem w manualu, ze to moze byc spowodowane tym, ze uzywam tam funkcji
  1. <?php
  2. $custid = mysql_insert_id();
  3. ?>

Ona zwraca id jakie bylo automatycznie wygenerowane dla ostatniego wpisu tylko wlasnie gdy nic nie zostanie wygenerowane jak w przypadku wlasnie gdy juz mam takiego klienta to zostanie przypisana wartosc "0". Jak cos takiego obejsc? Myslalem, zeby do $custid napisac zamiast tej funkcji jakies zapytanie ale wlasnie nie wiem jak bo juz probowalem wpisywac rozne selecty ale cos srednio mi to dzialalo:/ Moze istnieje jakas funkcja w php o ktorej jeszcze nie wiem... Prosze o jakas podpowiedz. Z gory dziekuje i pozdrawiam, Lukasz.
krzyszbi
ale ty nic nie robisz jak taki klijęt istnieje
daj else
  1. <?php
  2. if ($rows < 1)
  3. {
  4. //tu masz ok
  5. }
  6. else
  7. {
  8. $row = mysql_fetch_array($result);
  9. $custid = $row['id'];
  10. }
  11. ?>

i powinno byc ok guitar.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.