2012-05-06 10 views
5

Tworzę dla mnie własny system inwentaryzacji, który zawiera listę pozycji (z opisem, liczbą, ostatnio używaną datą itp. .), który zawiera także status dla przedmiotu. Na najbardziej podstawowym poziomie wymieniam wszystkie pozycje z zapytania MySQL (SELECT * FROM Items), wraz z ich statusem w elemencie SELECT HTML FORM (typ danych Int, wskaźnik stanu 0/1/2).Jaki jest najlepszy sposób wyświetlania listy elementów, które mogą ulec zmianie za pomocą protokołu HTTP POST (PHP + MySQL)?

Chcę móc aktualizować dowolny element na tej liście bez konieczności analizowania wszystkich elementów, które zostały wymienione i porównania z zawartością serwera SQL. Mogę sobie wyobrazić, że nie jest to najlepsza praktyka, a lepszym sposobem na osiągnięcie tego byłoby skompilowanie listy zmieniających się przedmiotów i przesłanie ich za pośrednictwem HTTP POST. Czy to jest poprawne? Jaki byłby najlepszy sposób, aby to osiągnąć?

+3

To jest dobre pytanie, ale jestem zbyt zajęty (leniwy) napisać coś w rodzaju odpowiedź na to zasługuje - ale warto spojrzeć na rozwiązania ORM, które podejmują dużo bólu z budowania tego rodzaju rzeczy. Pytania takie jak to są dobre miejsce na rozpoczęcie: http://stackoverflow.com/questions/108699/good-php-orm-library –

+0

Dziękuję - nie kodowałem od jakiegoś czasu i jestem zdecydowanie w kontakcie ze zwykłymi praktyki. Wziąłem C++ w liceum/college'u, zanim wszystko przesunęło się w stronę OOP Java, więc nawet PHP5 jest dla mnie nowy. Przeczytam na ORM, szczególnie Doctrine i RedBean .. wydają się najlepsi. – Frank

+0

Powodzenia! Powiedziałbym, że zobacz, czy możesz znaleźć taki, który ci się podoba, to również parametryzacja (to jest automatyczne usuwanie wartości) (mylenie niektórych z nich powoduje parametryzację, ale nie faktyczne ucieczenie we wszystkich przypadkach, więc warto sprawdzić instrukcję). ORM Doctrine jest prawdopodobnie dobrze dopasowany, ale jest ich tak wiele, że nie jestem pewien, czy mogę polecić konkretny :) –

Odpowiedz

1

Użyj Ajax. Czyste i proste. Szybkim sposobem wdrożenia jest użycie JQuery.

<select id="target"> 
    <option value="option1" selected="selected">Option 1</option> 
    <option value="option2">Option 2</option> 
    </select> 

JavaScript

$('#target').change(function() { 
$.ajax({ 

    type: "POST", 
    url: "page.php", 
    data: 'id=something' , 
    success: function (msg) { 
     //after php response 
    } 
}); 

});

Zobacz change i ajax

+0

Nie przeczytałeś pytania, prawda? – Shoe

Powiązane problemy