![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 209 Pomógł: 3 Dołączył: 6.04.2010 Skąd: Słupca Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich mam mały problem z dodaniem rekordu mianowicie pisze skrypt do składania zamówień na ulotki i mam problem z przenoszeniem danych z bazy z danymi tymczasowymi(tmpzam) a stałymi danymi (dataz). Struktura baz jest taka tmpzam: uid(numer użytkownika) offid(numer ulotki) ilosc(ilosc) oraz dataz: zid(numer zamówienia) offid ilosc.
podaje skrypt może ktoś podpowie w czym bład że pętla tylko wstawia mi jeden rekord a mianowicie zid.
PS pętla while ma za zafanie powstawiać wszystkie zamówione przedmioty |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Myślę, że Twój kod można zastąpić tym:
Zamiast wykonywać $sql2 możemy skorzystać z mysql_insert_id(), aby pobrać numer nowego zamówienia (pole zid w tabeli zamówienia musi być automatycznie inkrementowane). Zamiast wykonywać w pętli kilka lub nawet więcej INSERT-ów możemy "zrzucić odpowiedzialność" na silnik bazy danych poprzez przedstawione wyżej zapytanie. W opisie problemu nie wspomniałeś, że w kopiowaniu pośredniczy jeszcze jedna tabela, stąd moje poprzednie przypuszczenia. Szczerze przyznam, że nie potrafię powiedzieć, dlaczego kopiowało/uje Ci jeden rekord. Aby to sprawdzić możesz sobie przed pętlą while podejrzeć obiekt $result (linia 25 w Twoim kodzie): |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 00:38 |