Edit a record? [message #176199] |
Sat, 03 December 2011 13:28 |
Charles
Messages: 13 Registered: February 2011
Karma: 0
|
Junior Member |
|
|
I'm working on an application. I'm trying to implement an update
process that pulls a record out of a MySQL database, updates it, and
puts it back.
Broken down, let's assume I have a database made up of the fields:
First_name
Last_name
Month_of_birth
Day_of_birth
Year_of_birth
The steps I'm finding so far are:
1) Present a data entry form to enter the values on which the record
selection is based (an HTML form with 5 input fields...this I have).
1) Query the database for the record (Submit for processing to a PHP
script that opensn the database and submits the values for a SELECT
query).
=========={this is where I am stuck]==============
3) Somehow import those returned values into a form for editting.
4) Indicate somehow (in the form) which records (if more than one)
need to be returned as updated to the MySQL database.
5) Somehow post to database
Anyone have any ideas they'd care to share?
|
|
|
Re: Edit a record? [message #176200 is a reply to message #176199] |
Sat, 03 December 2011 13:45 |
Luuk
Messages: 329 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 03-12-2011 14:28, Charles wrote:
> I'm working on an application. I'm trying to implement an update
> process that pulls a record out of a MySQL database, updates it, and
> puts it back.
>
> Broken down, let's assume I have a database made up of the fields:
> First_name
> Last_name
> Month_of_birth
> Day_of_birth
> Year_of_birth
>
> The steps I'm finding so far are:
>
> 1) Present a data entry form to enter the values on which the record
> selection is based (an HTML form with 5 input fields...this I have).
> 1) Query the database for the record (Submit for processing to a PHP
> script that opensn the database and submits the values for a SELECT
> query).
>
> =========={this is where I am stuck]==============
>
> 3) Somehow import those returned values into a form for editting.
> 4) Indicate somehow (in the form) which records (if more than one)
> need to be returned as updated to the MySQL database.
> 5) Somehow post to database
>
> Anyone have any ideas they'd care to share?
show the code you have so far,
and specify more exact why 'you are stuck'....
--
Luuk
|
|
|
Re: Edit a record? [message #176201 is a reply to message #176199] |
Sat, 03 December 2011 14:15 |
Denis McMahon
Messages: 634 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On Sat, 03 Dec 2011 05:28:42 -0800, Charles wrote:
> 1) Present a data entry form to enter the values on which the record
> selection is based (an HTML form with 5 input fields...this I have). 1)
> Query the database for the record (Submit for processing to a PHP script
> that opensn the database and submits the values for a SELECT query).
>
> =========={this is where I am stuck]==============
>
> 3) Somehow import those returned values into a form for editting. 4)
> Indicate somehow (in the form) which records (if more than one) need to
> be returned as updated to the MySQL database. 5) Somehow post to
> database
>
> Anyone have any ideas they'd care to share?
A select query assembled using the data submitted in your form (perhaps
the name data) and selecting the date of birth data from the table
don't forget to escape any parameters from the form that you use in a
query, also you might want to validate names (alphabetics, spaces,
hyphens, possibly ' characters eg O'Leary) and dates (numerics only).
You might use an html "select" and option list for the month?
Anyway, use mysql / myslqli / pdo functions (your choice, it's up to you
at this point) to open and interrogate the db to read the record you want
to edit, then display that record in a form using the value attribute or
the selectedindex of the various html form elements to display the data
you want to edit.
Then, once the data is edited and submitted, the next script will update
the records in the table.
If you look in the php documentation for the relevant database functions
there are a lot of examples.
Rgds
Denis McMahon
|
|
|
Re: Edit a record? [message #176204 is a reply to message #176199] |
Sat, 03 December 2011 18:57 |
Beauregard T. Shagnas
Messages: 154 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
Charles wrote:
> I'm working on an application. I'm trying to implement an update
> [snip]
> Month_of_birth
> Day_of_birth
> Year_of_birth
>
> Anyone have any ideas they'd care to share?
Why the three separate fields? Just use a single DATE field (name it DOB
or similar) and if/when you need to report on it, simply pull out the
month or day or year parts in your SELECT query. Much easier to maintain.
Trying to arrange, say, a sort by birthdate with your method is much more
difficult.
--
-bts
-This space for rent, but the price is high
|
|
|
Re: Edit a record? [message #176207 is a reply to message #176199] |
Sun, 04 December 2011 13:54 |
Arno Welzel
Messages: 317 Registered: October 2011
Karma: 0
|
Senior Member |
|
|
Charles, 2011-12-03 14:28:
> I'm working on an application. I'm trying to implement an update
> process that pulls a record out of a MySQL database, updates it, and
> puts it back.
>
> Broken down, let's assume I have a database made up of the fields:
> First_name
> Last_name
> Month_of_birth
> Day_of_birth
> Year_of_birth
Why not a simple DATE field for birth date?
> The steps I'm finding so far are:
>
> 1) Present a data entry form to enter the values on which the record
> selection is based (an HTML form with 5 input fields...this I have).
> 1) Query the database for the record (Submit for processing to a PHP
> script that opensn the database and submits the values for a SELECT
> query).
>
> =========={this is where I am stuck]==============
>
> 3) Somehow import those returned values into a form for editting.
Why are you stuck? It's simple to output the values just using echo or
similar. E.g. if the first name fetched from the db is in $db_firstname:
<input
name="firstname"
type="text"
value="<?php echo htmlspecialchars($db_firstname); ?>" />
And if you want to present multiple records, just create names with an
index, starting with 0 and increased by 1 with every record:
<input
name="firstname[<?php echo $db_rownum; ?>]"
type="text"
value="<?php echo htmlspecialchars($db_firstname); ?>" />
> 4) Indicate somehow (in the form) which records (if more than one)
> need to be returned as updated to the MySQL database.
One possible way:
Pass the original values as hidden fields in the form, so you can
compare the modified fields with the original values.
OR:
Store the current values as session variables, so you can compare them
with the modified fields.
> 5) Somehow post to database
Just use an UPDATE statement in MySQL.
Maybe you should start by learnig the basics about SQL databases,
session handling and form handling in PHP.
--
Arno Welzel
http://arnowelzel.de
http://de-rec-fahrrad.de
|
|
|
Re: Edit a record? [message #176208 is a reply to message #176207] |
Sun, 04 December 2011 14:14 |
Dennis
Messages: 17 Registered: February 2004
Karma: 0
|
Junior Member |
|
|
On Sun, 04 Dec 2011 14:54:58 +0100, Arno Welzel <usenet(at)arnowelzel(dot)de>
wrote:
> Maybe you should start by learnig the basics about SQL databases,
> session handling and form handling in PHP.
It sounds like someone's homework to me.
--
Dennis
|
|
|
Re: Edit a record? [message #176248 is a reply to message #176207] |
Sat, 10 December 2011 13:02 |
Charles
Messages: 13 Registered: February 2011
Karma: 0
|
Junior Member |
|
|
I have the process down to a fine science in getting data to the
database from the user interface, and I have it down for generating
basidc reports to a printer. I've also designed closed database
applications in the past, so they are not new to me.
Designing a web interface is what's new. Care to recommend any good
references for this part of the project?
On Dec 4, 6:54 am, Arno Welzel <use...@arnowelzel.de> wrote:
> Charles, 2011-12-03 14:28:
>
>> I'm working on an application. I'm trying to implement an update
>> process that pulls a record out of a MySQL database, updates it, and
>> puts it back.
>
>> Broken down, let's assume I have a database made up of the fields:
>> First_name
>> Last_name
>> Month_of_birth
>> Day_of_birth
>> Year_of_birth
>
> Why not a simple DATE field for birth date?
>
>> The steps I'm finding so far are:
>
>> 1) Present a data entry form to enter the values on which the record
>> selection is based (an HTML form with 5 input fields...this I have).
>> 1) Query the database for the record (Submit for processing to a PHP
>> script that opensn the database and submits the values for a SELECT
>> query).
>
>> =========={this is where I am stuck]==============
>
>> 3) Somehow import those returned values into a form for editting.
>
> Why are you stuck? It's simple to output the values just using echo or
> similar. E.g. if the first name fetched from the db is in $db_firstname:
>
> <input
> name="firstname"
> type="text"
> value="<?php echo htmlspecialchars($db_firstname); ?>" />
>
> And if you want to present multiple records, just create names with an
> index, starting with 0 and increased by 1 with every record:
>
> <input
> name="firstname[<?php echo $db_rownum; ?>]"
> type="text"
> value="<?php echo htmlspecialchars($db_firstname); ?>" />
>
>> 4) Indicate somehow (in the form) which records (if more than one)
>> need to be returned as updated to the MySQL database.
>
> One possible way:
>
> Pass the original values as hidden fields in the form, so you can
> compare the modified fields with the original values.
>
> OR:
>
> Store the current values as session variables, so you can compare them
> with the modified fields.
>
>> 5) Somehow post to database
>
> Just use an UPDATE statement in MySQL.
>
> Maybe you should start by learnig the basics about SQL databases,
> session handling and form handling in PHP.
>
> --
> Arno Welzelhttp://arnowelzel.dehttp://de-rec-fahrrad.de
>
>
|
|
|
Re: Edit a record? [message #176252 is a reply to message #176248] |
Sat, 10 December 2011 19:22 |
The Natural Philosoph
Messages: 993 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
Charles wrote:
> I have the process down to a fine science in getting data to the
> database from the user interface, and I have it down for generating
> basidc reports to a printer. I've also designed closed database
> applications in the past, so they are not new to me.
>
> Designing a web interface is what's new. Care to recommend any good
> references for this part of the project?
>
Seriously you don't need them.
Just understand a bit about how the browser form and server side code
interact, and then get coding.
Expect top rewrite the first app when you learn a little more, but don't
stop doing it. Its probably best to hack first learn later until you
have got the fundamental features sorted, then go back to the manuals to
find out where you really should have been more careful.
I.e. hacking a script is a fast way to learn, then expect to rewrite it
PROPERLY later AFTER you have read a few manuals.
..
|
|
|