Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MSSQL]Uzupełnienie w wierszu tabeli pustego pola NULL
Forum PHP.pl > Forum > Przedszkole
deszczowy
Witam!

Kurcze, aż wstyd się przyznać ale nie mogę sobie z tym poradzić. A więc do rzeczy:

Mam tebelkę Zakup, która po wprowadzeniu danych i selekcie wygląda tak:



Id_Zakup | Id_Faktura_Vat | Id_Kosz | Id_Klient | Id_Towar | Ilosc_produktu |
------------------------------------------------------------------------------------------------------
___ 1 __|___ NULL _______|__ 114 _|__ 2 ____|___ 3 ____|____ 1 _______|

Kolumna Id_Faktura_Vat nie jest wogóle wpisywana w czasie wprowadzania informacji do tabeli Zakup.
Jeśli jednak mam już tabele Faktura_Vat która wygląda np. tak:


Id_Faktura_Vat |__ Cos _|_ Cos2 __|_ Cos3 _|__ Cos4 __|__ Cos4 __|
------------------------------------------------------------------------------------------
_____ 1 ______|__ 23 ___|__ 1 ___|___ 2 __|___ 3 ____|___ 1____|


Jak dodać Id_Faktury do Tabeli Zakup do wiersza Id_Zakupu = 1 aby uzupełnić tego NULL-a?

Napisałem na szybko zapytanie:

$query2 = "Insert into Zakup(Id_Faktura_Vat)values(".$wiersz_Zakup['Id_Faktura_Vat'].")";
$wynik2=mssql_query($query2);

Ale ono dodaje tylko Id_Faktura_Vat do zakupu jako nowy wiersz a nie do starego i wynik który mnie nie zadowala wygląda tak:

Id_Zakup | Id_Faktura_Vat | Id_Kosz | Id_Klient | Id_Towar | Ilosc_produktu |
------------------------------------------------------------------------------------------------------
___ 1 ___|___ NULL ______|__ 114 _|__ 2 ____|___ 3 ____| ____ 1 ______|
___ 2 ___|_____ 1 _______| NULL __|_ NULL __|___ NULL _|____ NULL ____|


Czy ktoś może mi pomóc napisać zapytanie (lub inna opcja) które pomoże mi uzyskać takie wstawienie Id_Faktura_Vat tam gdzie potrzeba tj:

Id_Zakup | Id_Faktura_Vat | Id_Kosz | Id_Klient | Id_Towar | Ilosc_produktu |
------------------------------------------------------------------------------------------------------
__ 1 ____|___ TUTAJ ____|__ 114 _|__ 2 ____|___ 3 ____|____ 1 _______|


Z góry dzieki za pomoc
n0wy
Może coś takiego?

$query2 = "UPDATE Zakup SET Id_Faktura_Vat=".$wiersz_Zakup['Id_Faktura_Vat']." WHERE Id_Zakup=".$wiersz_Zakup['Id_Faktura_Vat'];
deszczowy
Zapytanie przesłane przez kolegę nOwy:

$query2 = "UPDATE Zakup SET Id_Faktura_Vat=".$wiersz_Zakup['Id_Faktura_Vat']." WHERE Id_Zakup=".$wiersz_Zakup['Id_Faktura_Vat'];

Działa lecz połowicznie. Wstawia mi w miejsce NULL-a wartośc Id_Faktura_Vat.

Jeśli jednak z Zakupie mam:
(Id_Zakup=1, Id_Zakup=2 to są dwa towary które chce aby sie znalazły na jednej fakturze, a wiec Id_Faktury musi być takie samo)

Id_Zakup | Id_Faktura_Vat | Id_Kosz | Id_Klient | Id_Towar | Ilosc_produktu |
------------------------------------------------------------------------------------------------------
___ 1 __|___ NULL _______|__ 114 _|__ 2 ____|___ 3 ____|____ 1 _______|
___ 2__|___ NULL _______|__ 115 _|__ 2 ____|___ 7 ____|____ 3_______|

To kod wysłany przez kolege nowego dopisuje tylko Id_Faktura_Vat w miejscu Id_Zakup =1 a Id_Zakup =2 nadal jest NULL.

Id_Zakup | Id_Faktura_Vat | Id_Kosz | Id_Klient | Id_Towar | Ilosc_produktu |
------------------------------------------------------------------------------------------------------
___ 1 __|_____ 1 _______|__ 114 _|__ 2 ____|___ 3 ____|____ 1 _______|
___ 2__|___ NULL _______|__ 115 _|__ 2 ____|___ 7 ____|____ 3_______|



Idąc tym tropem, napisałem zapytanie o treści:

$query2 = "UPDATE Zakup SET Id_Faktura_Vat=".$wiersz_Zakup['Id_Faktura_Vat']." WHERE Id_Klient = ".$_SESSION['Id_Klient'];
lecz po jego odpaleniu wygląda to tak:

Id_Zakup | Id_Faktura_Vat | Id_Kosz | Id_Klient | Id_Towar | Ilosc_produktu |
------------------------------------------------------------------------------------------------------
___ 1 __|_____ 1 _______|__ 114 _|__ 2 ____|___ 3 ____|____ 1 _______|
___ 2__|___ NULL _______|__ 115 _|__ 2 ____|___ 7 ____|____ 3_______|


Mam taką tabelkę gdzie tutaj z kolei Id_Zakup=1 i Id_Zakup=2 to są dwa różne zakupy więc nie przysługuje im w tym przypadku wspólna Faktura a więc i współny Id_Faktura_Vat.

Niemniej jednak moje zapytanie zamiast dopisać Id_Faktura_Vat= 2


Id_Zakup | Id_Faktura_Vat | Id_Kosz | Id_Klient | Id_Towar | Ilosc_produktu |
------------------------------------------------------------------------------------------------------
___ 1 __|_____ 1 _______|__ 114 _|__ 2 ____|___ 3 ____|____ 1 _______|
___ 2__|_____ 2 _______|__ 115 _|__ 2 ____|___ 7 ____|____ 3_______|


robi mi coś takiego, Pojawia sie Id_Faktura_Vat=2 ale nadpisuje również Id_Faktura_Vat=1 na 2.

Id_Zakup | Id_Faktura_Vat | Id_Kosz | Id_Klient | Id_Towar | Ilosc_produktu |
------------------------------------------------------------------------------------------------------
___ 1 __|_____ 2 _______|__ 114 _|__ 2 ____|___ 3 ____|____ 1 _______|
___ 2__|_____ 2 _______|__ 115 _|__ 2 ____|___ 7 ____|____ 3_______|


HELP sad.gif
dr_bonzo
Wroc do podstaw SQL.

We WHERE musisz wskazac ktore wiersze maja zostac updatowane:


  1. UPDATE Zakup SET Id_Faktura_Vat=".$wiersz_Zakup['Id_Faktura_Vat']." WHERE Id_Klient IN ( 1, 2, 3, 4...., itd )
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.