|
Posted by Justin Koivisto on 05/18/06 17:28
Bob Sanderson wrote:
> I am trying to create a form for a MySQL database similar to a spreadsheet.
> The idea is to display a list of records, with the last line of the list
> being an input form. When the user enters data in the form and hits the
> submit button, the data is entered and the form is reloaded with the new
> data displayed and another input form becomes the last line.
>
> It seems is what I think the approach should be:
>
> 1. Display all current records - the last line is an input form
> 2. User adds data to the form and hits the Submit button
> 3. The form action calls the same script
> 4. The new data is entered into the database
> 5. Back to step one
>
> Does this make sense or is there a better way? How do I structure the
> queries to accomplish this?
That would work fine:
<?php
if(isset($_POST['add_record'])){
// verify POST fields for type, etc.
$q='INSERT INTO table1 (field2, field3, field4) VALUES ('.
'\''.mysql_real_escape_string($_POST['field2']).'\''.
'\''.mysql_real_escape_string($_POST['field3']).'\''.
'\''.mysql_real_escape_string($_POST['field4']).'\''.
')';
// where there is an auto_increment field for PK (field1)
// fields 2-4 are text or varchar in example
// execute query, send message, etc.
}
$q='SELECT field1, field2, field3 field4 FROM table1';
// execute query, loop, display list
// add form to end of list with a submit button at end like
// <input type="submit" name="add_record" value="Add Record' />
?>
If you want to be able to edit each record, make them all form fields
with the values filled in. Use fields like:
<?php
echo "<input type='text' name='field1[$recID]' value='$value' />";
?>
For the last row, have it be the same format, just use 0 as the id
value. That way, when you post, you'll have something like the following
as your POST array structure:
$_POST = array (
[field1] = array (
[0] = New Rec value
[1] = value1
[2] = value2
[24] = value24
)
[field2] = array (
[0] = New Rec value2
[1] = value1-2
[2] = value2-2
[24] = value24-2
)
)
If there wasn't anything new added to the form, the structure would be
the same, but the new values would be empty.
HTH
--
Justin Koivisto, ZCE
http://koivi.com/
Navigation:
[Reply to this message]
|