On 14 Nov 2011, at 10:45am, Gert Van Assche wrote: > I would like to understand how a PHP web page communicates with SQLite.
All my responses to this are general, with a little hand-waving and simplification. And other posters to this list may have other points of view. I'm just trying to provide some knowledge that I have. > I > know something about SQLite, but nothing or not a lot about PHP. There are two common ways to do this. One is to write your complete program in PHP: talking to the SQLite database, constructing the web pages and getting the values entered by the user. The other is to write most of your code in JavaScript and call PHP code simply for access to the SQLite database. So you might write one or three tiny PHP programs which just took some parameters for which database and what command, executed the command, and returned the results in XML or JSON format. People like to write more of their code in JavaScript these days, so they just write little PHP shims, but if you're really into PHP, or want to put more load on your server and less on your clients, you can go the other way. When using PHP to talk to a SQLite database you have the choice between two options: the PDO API and the SQLite3 API. http://php.net/manual/en/book.pdo.php http://www.php.net/manual/en/book.sqlite3.php The advantage of the PDO API is that the necessary changes, should you ever need to move from SQLite to another DBMS, are smaller. Unfortunately, it means that the commands you're issuing, and the results you get back, are quite a long way from SQLite, and there are certain things you can't do because it's a standardised interface intended for use with many different database engines. If you are already familiar with SQLite I'd recommend you stick with the SQLite3 API which is a very thin conversion of the SQLite3 C functions into PHP functions. > - How does one take input from an input field or a check box and use it > for doing an "INSERT" for instance? Your JavaScript code, or the PHP code you get as a result of the POST, retrieves the values of the fields and makes up the appropriate SQL command from it. A trivial JavaScript example plucked from one of my utilities is var newValue = prompt('Enter new value for column "'+colName+'" of row '+rowName+'.', oldValue) if (newValue != null && newValue != oldValue) { var theCommand = "UPDATE "+tableName+" SET "+colName+" = '"+newValue+"' WHERE rowid = "+rowName doSQLite(theCommand) clickedCell.innerHTML = newValue } > - How does one do a SELECT query based on what has been selected from a > dropdown box? As above. Retrieve the value which was selected, then construct a string holding the appropriate SQL command. Then pass that string to SQLite. > - How do you fill a dropdown box with values retrieved from a table? > - ... Write some PHP code which does a SELECT which returns the values which should go into the dropdown box (both the text to be shown in on the screen and the values to be set). Then write PHP or JavaScript code which uses the result of this query to construct the dropdown box using HTML DOM components. A trivial JavaScript example var newPopup = document.createElement("select") newPopup.id = newSelectID for (i = 0; i < paramArray.length; i = i + 1) { newOption = document.createElement("option") newOption.text = paramArray[i] newPopup.appendChild(newOption, null) } newPopup.addEventListener("change", handleFieldChange, true) > Does anyone have an example that I could use? I want to see if I can make a > mockup with PHP & SQLite. There are plenty around but you can't have mine. Simon. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users