Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pobieranie rekordów i wykonanie warunku
kristaps
post
Post #1





Grupa: Zarejestrowani
Postów: 279
Pomógł: 36
Dołączył: 1.03.2012

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


Witam, mam problem. Chciałbym wykonać import do MYSQL, tylko w określonym przypadku. Dlatego sprawdzam, czy dany rekord już występuje.

W bazie mam coś takiego:

id|komputer|cena

1|Samsung|2200
2|HP |2440
3|Samsung|2400
4|Samsung|2100

No i teraz mam 2 warunki:

1. Przed pętlą wykonuje zapytanie, czy występuje już komputer o danej nazwie, jeżeli nie to dodaje rekord do bazy.

2. No i tu mam problem:

  1. if ($baza["komputer"] == $komputer && $baza["cena"] != $cena){ // Wykonuje insert do bazy }


Czyli jeżeli zapytanie zwróciło mi np. 3 rekordy SAMSUNG, ale cena jest inna, to chciałbym wykonać zapytanie i dodać rekord. Problem w tym, że cały czas rekord jest dodawany, bo za każdym wykonaniem pętli mam jeszcze 2 inne rekordy.

Jak zatem wykonać warunek dla wszystkich wpisów w bazie?
Go to the top of the page
+Quote Post
lukaskolista
post
Post #2





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

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


Kompletnie nie rozumiem tego warunku.
  1. $sql = "SELECT * FROM tabela WHERE komputer = '".mysql_real_escape_string($komputer)."' AND cena = ".(float)$cena;
  2. $result = mysql_query($sql);
  3. if (mysql_num_rows($result) === 0)
  4. {
  5. // Dodawanie rekordu do bazy...
  6. }


Ten post edytował lukaskolista 7.10.2012, 20:37:06
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #3





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


W tabeli ustaw UNIQUE na komputer + cena i użyj polecenia REPLACE. Jak będzie, to będzie, a jak nie to doda...
Go to the top of the page
+Quote Post
lukaskolista
post
Post #4





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

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


IMO samo REPLACE jest bez sensu, bo warto by bylo uzytkownika poinformowac, ze probuje nadpisac dane. Dane nalezy nadpisac dopiero po swiadomym zaakceptowaniu tego przez uzytkownika, inaczej bedziesz mial mase maili ze cos zniknelo, bo oni przeciez dodali produkt po cenie x a teraz ma cene y itp.

Ten post edytował lukaskolista 8.10.2012, 07:40:42
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: 24.08.2025 - 00:01