2012-05-06 1 views
5

Sto creando un sistema di inventario per me che contiene un elenco di elementi (con descrizione, conteggio, ultima data utilizzata, ecc. .) che contiene anche uno stato per l'oggetto. Al livello più elementare, sto elencando tutti gli elementi da una query MySQL (SELECT * FROM Items), insieme al loro stato in un elemento SELECT HTML FORM (tipo di dati int, indicatore di stato 0/1/2).Qual è la procedura migliore per visualizzare un elenco di elementi che possono cambiare tramite HTTP POST (PHP + MySQL)

Desidero poter aggiornare qualsiasi elemento in questo elenco senza dover analizzare tutti gli elementi elencati e fare un confronto con i contenuti del server SQL. Immagino che questa non sia la migliore pratica e il modo migliore per farlo sarebbe compilare un elenco di elementi che stanno cambiando e inviarli tramite HTTP POST. È corretto? Quale sarebbe il modo migliore per realizzare questo?

+3

Questa è una buona domanda, ma io sono troppo occupato (pigro) di scrivere il tipo di risposta che si merita - ma si potrebbe desiderare di dare un'occhiata a soluzioni ORM, che prendono un molto del dolore per costruire questo genere di cose. Domande come questa sono un buon punto di partenza: http://stackoverflow.com/questions/108699/good-php-orm-library –

+0

Grazie - Non ho codificato da un po 'e sono decisamente fuori dal comune pratiche. Presi C++ al liceo/college poco prima che tutto si spostasse verso OOP Java, quindi anche PHP5 è nuovo per me. Leggerò su ORM, in particolare Doctrine e RedBean ... sembrano i migliori. – Frank

+0

Buona fortuna! Direbbe che vedi se riesci a trovarne uno che ti piace fa anche la parametrizzazione (cioè l'auto-escape dei valori) (confusamente alcuni fanno la parametrizzazione, ma non la fuga effettiva in tutte le istanze, quindi vale la pena controllare il manuale). L'ORM di Doctrine è probabilmente una buona scelta, ma ce ne sono così tanti che sono restio a raccomandarne uno specifico :) –

risposta

1

Utilizzare Ajax. Pulito e semplice Il modo rapido per implementare è usare 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 
    } 
}); 

});

Vedi change e ajax

+0

Non hai letto la domanda, giusto? – Shoe