Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL][PHP] Pomoc w zapytaniu
Spyder
post 12.08.2009, 16:18:53
Post #1





Grupa: Zarejestrowani
Postów: 269
Pomógł: 7
Dołączył: 12.10.2006
Skąd: Newcastle Upon Tyne

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


  1.  
  2. $insert = mysql_query("INSERT INTO auta VALUES(NULL, '".$res2['id']."', '".$res3['operation_id']."', '".$regno."','".$res3['type']."','".$res3['operation_date']."','".$res3['status']."', NULL) SELECT reg_no FROM auta WHERE reg_no <> '".$regno."'") OR DIE(mysql_error());
  3.  


Witam mam takie zapytanie ale nie moge sobie z nim poradzic mam wstawic te datne z INSERT tylko wtedy kiedy reg_no nie istnieje w tej tabeli do ktorej wstawiam. To zapytanie mi nie dziala. Prosze o pomoc.


--------------------
Portfolio

Windows Vista Business SP1
DELL VOSTRO 200, Intel Core2 DUO E4600 2.4GHz, 3 GB RAM, ATI Radeon HD 2400 Pro, Screen DELL 22"

Pomogłem ci -> Kliknij "Pomógł" -> Dzięki
Go to the top of the page
+Quote Post
Fifi209
post 12.08.2009, 16:29:45
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Jakoś nie rozumiem zbytnio, zamieszałeś.

Jeżeli masz problem z bazą to zacznijmy od tego, że dajesz jej strukturę.

Zrozumiałem tak:

dodajesz rekord do tabeli jeżeli jakieś pole nie ma jeszcze takiej wartości tak? (jeżeli tak to daj na to pole unique i po sprawie)


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Spyder
post 12.08.2009, 16:36:07
Post #3





Grupa: Zarejestrowani
Postów: 269
Pomógł: 7
Dołączył: 12.10.2006
Skąd: Newcastle Upon Tyne

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


OK jak by INSERT obslugiwal WHERE tak jak SELECT to by moje zapytanie wygladalo tak:

  1. $insert = mysql_query("INSERT INTO auta VALUES(NULL, '".$res2['id']."', '".$res3['operation_id']."', '".$regno."','".$res3['type']."','".$res3['operation_date']."','".$res3['status']."', NULL) WHERE reg_no <> '".$regno."'") OR DIE(mysql_error());


Wiec jak mam utworzyc to zapytanie poprawnie dla INSERTA? Musze przepisac sporo rekordow z jednej tabeli do 2 i je pozmieniac wiec musze miec takie zapytanie.

Ten post edytował Spyder 12.08.2009, 16:37:55


--------------------
Portfolio

Windows Vista Business SP1
DELL VOSTRO 200, Intel Core2 DUO E4600 2.4GHz, 3 GB RAM, ATI Radeon HD 2400 Pro, Screen DELL 22"

Pomogłem ci -> Kliknij "Pomógł" -> Dzięki
Go to the top of the page
+Quote Post
Fifi209
post 12.08.2009, 16:38:53
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


zrób normalnego inserta, nie przejmując się reg_no

  1.  
  2. $x = mysql_quert('TWOJ INTERT');
  3.  
  4. if ($x == true) {
  5. // rekord dodany
  6. }else{
  7. // reg_no już istnieje
  8. }


A w na pole w bazie danych reg_no daj indeks unique...


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Spyder
post 12.08.2009, 16:48:36
Post #5





Grupa: Zarejestrowani
Postów: 269
Pomógł: 7
Dołączył: 12.10.2006
Skąd: Newcastle Upon Tyne

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


Teraz mi sie zatrzymuje na rekordzie i wyswietla:

Duplicate entry 'LU52CYB' for key 'reg_no'

Nie da sie zrobic z WHERE?questionmark.gif?


--------------------
Portfolio

Windows Vista Business SP1
DELL VOSTRO 200, Intel Core2 DUO E4600 2.4GHz, 3 GB RAM, ATI Radeon HD 2400 Pro, Screen DELL 22"

Pomogłem ci -> Kliknij "Pomógł" -> Dzięki
Go to the top of the page
+Quote Post
Fifi209
post 12.08.2009, 16:51:05
Post #6





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(Spyder @ 12.08.2009, 16:48:36 ) *
Teraz mi sie zatrzymuje na rekordzie i wyswietla:

Duplicate entry 'LU52CYB' for key 'reg_no'

Chyba o to chodziło nie? Abyś miał tam unikalne wartości.

Cytat(Spyder @ 12.08.2009, 16:48:36 ) *
Nie da sie zrobic z WHERE?questionmark.gif?

Chyba nie. winksmiley.jpg Nigdy się nad tym nie zastanawiałem.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Spyder
post 12.08.2009, 16:51:55
Post #7





Grupa: Zarejestrowani
Postów: 269
Pomógł: 7
Dołączył: 12.10.2006
Skąd: Newcastle Upon Tyne

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


Nie ma sie zatrzymac tylko pominac i nie dodawac a reszte dodac.


--------------------
Portfolio

Windows Vista Business SP1
DELL VOSTRO 200, Intel Core2 DUO E4600 2.4GHz, 3 GB RAM, ATI Radeon HD 2400 Pro, Screen DELL 22"

Pomogłem ci -> Kliknij "Pomógł" -> Dzięki
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: 18.07.2025 - 08:00