![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 14.02.2017 Ostrzeżenie: (0%) ![]() ![]() |
Dzień dobry.
Mam plik http://ifotos.pl/zobacz/wygladpli_qnpraqh.jpg i muszę dane wczytać do bazy (tabela testwar, pole wartosc) z tym, że prócz danych z pliku do tabeli testwar powinny też trafić dane z dwóch innych tabel dokładnie id_atrybutu z tabeli atrybut i id_obiektu z tabeli obiekt. Tabela obiekt i atrybut wyglądają w ten sposób: http://ifotos.pl/zobacz/atrybutob_awnshea.jpg A w bazie powinno wyglądać to tak http://ifotos.pl/zobacz/wyglad-po_qnhrrss.jpg Przy id_testwar = 3 id_atrybutu powinno być 3 nie 2. Do testwar wstawione są wszystkie id_atrybutu (w tym wypadku 4) jakie są w bazie kolejno i one mają dopasowane jedno id_obiektu (4 razy to samo id_obiektu). Potem dla kolejnego wiersza pliku znów wszystkie id_atrybutu 4 kolejno i znowu 4 razy to samo id_obiektu. Nie wiem czy to zrozumiale napisałam. Jeśli chodzi o dane z pliku górę bez problemu wczytuje do bazy i zapisuje do bazy a od 8 do 13 linijki używam pętli while i „przeskakuje po indexach” żeby wczytywały się wartości do bazy po wierszu, do zrobienia całej reszty zapytania i wstawiania używam zapytania. Fragment kodu wygląda tak:
Zapytanie wstawi mi do pola wartosc wartosci od 1, 2,3 aż do 24 tak jak być powinno natomiast przez zastosowanie limit 1 id_atrybutu i id_obiektu zostanie wstawione tylko jedno (pierwsze jakie jest w bazie) dla wszystkich wartości. Znowu jeśli usunę limit 1 to pętla wykona się więcej razy niż powinna i zostanie wstawiona każda liczba p 24 razy i id będą się zmieniać tak jak nie powinny http://ifotos.pl/zobacz/bez-limit_qnhrxrs.jpg myślałam o tym żeby w zapytaniu dać ORDER BY obiekt.id_obiektu, bo wykonałam takie zapytanie w phpmyadmin do bazy to wyświetliły się id jak powinny, ale niestety to działa bo id będą zmieniać się poprawnie, ale wartości zostaną dodane każda po 24 razy. I analogicznie gdy ustawie limit 1 to wartości zostaną dodane 24 razy tak jak powinny, ale id przestaną się zmieniać jak w przykładzie powyżej. Nie mam pojęcia jak sobie z tym poradzić i co robię nie tak. Nie wiem czy coś jest nie tak z pętlą, zapytaniem czy i z jednym i z drugim. Czy mógłby ktoś podsunąć mi jakieś wskazówki, wytknąć błędy, zasugerować co jest źle i jak rozwiązać mój problem ? Była bym niezmiernie wdzięczna jeśli chodzi o programowanie i bazy to ze mnie totalny laik więc męczę się nad tym już jakieś 2 tygodnie i nie umiem wpaść na rozwiązanie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 09:03 |