Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

PHP / MYSQL zapis z formularza z rozwijanym listą wyboru i błędny zapis do bazy

Arek1983 21 Kwi 2012 16:07 5392 18
  • #1 21 Kwi 2012 16:07
    Arek1983
    Poziom 9  

    Ciągle walczę z dodawania danych do tabeli z poziomu formularza. Postanowiłem że teraz zamiast z palca wpisywać nazwę kolekcji monety, niech będzie to rozwijana lista wyboru która pobiera dane z nowoutworzonej tabeli. Można powiedzieć ze wszystko jakoś działa, w formularzu są do wyboru poszczególne rekordy z tabeli 'Kolekcja', ale formularz zapisuje w tabeli 'Monety' tylko pierwsze słowo nazwy kolekcji, pomimo tego ze w formularzu wyświetla się jego cała nazwa.

    skrypyt formularza wygląda tak:

    Kod: php
    Zaloguj się, aby zobaczyć kod


    skrypyt dodawania wygląda tak:


    Kod: php
    Zaloguj się, aby zobaczyć kod


    Mam nadzieję, że wyraziłem się w miarę jasno. Bardzo proszę o pomoc, co muszę zmienić zeby było ok.

    0 18
  • #2 21 Kwi 2012 16:15
    Defice
    Poziom 25  

    Na początek dodaj syntax bo to mało czytelne

    0
  • #3 21 Kwi 2012 16:20
    Arek1983
    Poziom 9  

    Sory, być może za durne pytanie, ale jak to zrobić ?

    0
  • #5 21 Kwi 2012 16:38
    Arek1983
    Poziom 9  

    dzięki, teraz wygląda zdecydowanie czytelniej.

    0
  • #6 21 Kwi 2012 16:50
    marcinj12
    Poziom 40  

    Masz źle zbudowaną linijkę:

    Kod: php
    Zaloguj się, aby zobaczyć kod
    select powinno zawierać tylko atrybut Name, nazwę lepiej podać w cudzysłowiu lub apostrofach (tosamo dotyczy value w option które tworzysz w pętli), jeżeli chcesz mieć pierwszy element o pustej wartości, wstaw go jako <option value=''>Kolekcja</option>

    0
  • #7 21 Kwi 2012 17:03
    Arek1983
    Poziom 9  

    Poprawiłem linijkę w ten sposób, jak pisałeś, teraz wygląda następująco:

    Kod: php
    Zaloguj się, aby zobaczyć kod


    I niestety dalej dodaje tylko pierwsze słowo, np. zamiast "Zwierzęta Świata" tak jak wyświetla się to w formularzu który pobrał ten wpis z tabeli, zapisuje do kolejnej bazy tylko "Zwierzęta".

    0
  • #8 21 Kwi 2012 17:09
    marcinj12
    Poziom 40  

    Każdy znacznik powinien mieć rozpoczęcie i koniec. Ten </option> gdzie się niby zaczyna?? Umieściłeś wartości value opcji w apostrofach lub cudzysłowach?

    0
  • #9 21 Kwi 2012 17:30
    Arek1983
    Poziom 9  

    Czy powinno to wyglądać mniej więcej tak:

    Kod: php
    Zaloguj się, aby zobaczyć kod


    Jeżeli tak, to niestety to też nie pomogło. A moze problem jest gdzieś w drugim pliku który odpowiada za zapis do drugiej tabeli:

    Kod: php
    Zaloguj się, aby zobaczyć kod


    Dodano po 11 [minuty]:

    Tak wyglada to z tym kodem:

    PHP / MYSQL zapis z formularza z rozwijanym listą wyboru i błędny zapis do bazy PHP / MYSQL zapis z formularza z rozwijanym listą wyboru i błędny zapis do bazy PHP / MYSQL zapis z formularza z rozwijanym listą wyboru i błędny zapis do bazy

    0
  • #10 21 Kwi 2012 17:32
    marcinj12
    Poziom 40  

    Problem polega raczej na tym, że Koledze najwyraźniej brakuje podstaw na temat HTML i próbuje metodą prób i błędów coś stworzyć (poprzedni przykład to zupełna abstrakcja...), zamiast poszukać przykładu na necie i się douczyć choćby tego, jak powinna wyglądać lista w HTMLu:
    pierwszy link z brzegu.

    Działający przykład, spróbuj dostosować swoją pętlę while żeby coś podobnego wyprodukowała:

    Kod: php
    Zaloguj się, aby zobaczyć kod

    0
  • #11 21 Kwi 2012 17:35
    Arek1983
    Poziom 9  

    Nie wiem czy dobrze rozumiem, ale ten przykład jest chyba z wrtościami przypisanymi na sztywno w skrypcie, a mi chodzi o to, żeby nazwa kolekcji do formularza była pobierana z tabeli1 a następnie po wypełnieniu formularza zapisana do tabeli2

    0
  • #12 21 Kwi 2012 17:41
    marcinj12
    Poziom 40  

    Dobrze Kolega rozumie, chodzi tylko o porównanie tego fragmentu:

    Kod: php
    Zaloguj się, aby zobaczyć kod

    z tym co Kolega proponuje:
    Kod: php
    Zaloguj się, aby zobaczyć kod

    Wstaw znacznik <option> w odpowiednie miejsce.

    Poza tym nie odpowiedziałeś na istotne pytanie: czy umieściłeś wartości value elementów opcji w apostrofach, jak na załączonym przykładzie? Wklej kod PHP ze skryptu formularza.

    0
  • #13 21 Kwi 2012 17:47
    Arek1983
    Poziom 9  

    W pierwszym moim poście pierwszy skrypt jest to skrypt formularza.

    0
  • #14 21 Kwi 2012 17:48
    marcinj12
    Poziom 40  

    Arek1983 napisał:
    W pierwszym moim poście pierwszy skrypt jest to skrypt formularza.
    ...po poprawkach, które zaproponowałem...

    0
  • #15 21 Kwi 2012 17:58
    Arek1983
    Poziom 9  

    Tak wygląda po poprawkach:

    Kod: php
    Zaloguj się, aby zobaczyć kod

    0
  • Pomocny post
    #16 21 Kwi 2012 18:12
    marcinj12
    Poziom 40  

    Kod: php
    Zaloguj się, aby zobaczyć kod

    0
  • #17 21 Kwi 2012 18:21
    Arek1983
    Poziom 9  

    Dziękuję, dziękuję i jeszcze raz dziękuje. Ten skrypt i cały ten projekt, to jest pierwszy raz kiedy posługuję się językiem php.

    0
  • #18 28 Kwi 2012 15:22
    gbd.reg
    Poziom 20  

    Proponowałbym zacząć od HTMLa i dobrze się go nauczyć, zanim zaczynasz brać się za PHP. Porywasz się trochę z motyką na słońce nie znając podstaw HTMLa i próbując programować w PHP

    0
  • #19 11 Sty 2013 08:32
    myrad
    Poziom 10  

    Wiem, że odświeżam temat, ale mam prośbę. Może kolega Arek1983 dodać te pliki (działające) jako załącznik? Chce podobny formularz stworzyć i potrzebuje działającego przykładu.

    0