Re: Parsing Data, Table to Form - Mailing list pgsql-php

From Paul Lynch
Subject Re: Parsing Data, Table to Form
Date
Msg-id 40A057F6.4040503@exemail.com.au
Whole thread Raw
In response to Parsing Data, Table to Form  ("Yasmine Kedoo" <yazkedoo@hotmail.com>)
List pgsql-php
Hi Yasmine,

Using your example as much as I can and assuming a single row is being
selected for updating.  Your patid will be used in place of my
keyoftabledata (key of table data) variable.

In admininfo.php:
<?php
for ($rw = 0; $rw < $maxrows; $rw++)
{
     for ($fld = 0; $fld < $maxfields ; $fld++)
    {
          echo pg_Result($result,$rw,$fld);
     }
    //  I will assume that the key field is the first field in your
table result
    pg_result($result,0,$patid);               // add this line - you
could combine in one line
    echo "<form method=post action=updaad.php>\n";
    echo "<input type=\"hidden\" name=\"patid\"value=\"$patid\" >"
// add this line
    echo "<input type=\"submit\" value=\"Update\" >"
// add this line as well
    echo "</form>";
 }
// this will give an update button for each row of data from your result
table
// I have left out the html table so as to simplify and avoid html
issues between tables and forms
//  The only information being passed to updaat.php is the name patid
and its value
?>

So updaat.php will have the following:

<?php
$patid =  $_POST["patid'];
// now use $patid to query the db for the row to update
$rowtoupdate = pg_exec($dbcon, "select patid, name, surname, phone, email
                            from your_table_name where patid=$patid"
);      // patid is int ?
// where your_table_name is the name in postgresql
// and patid, name, surname, phone, email are the column names in the table
//
// add error checking etc here
// next lines assumes single row is available in $rowtoupdate
list($formatid,$formname,$formsurname,$formphone,$formemail) =
       pg_fetch_row($rowtoupdate, 0 );
// need to start new form
echo "<form method=post action=writeat.php>\n";       // name the next
php program here
echo "Admin ID Number: <input type=text name=\"formadid\"
value=\"$formatid\"><br />\n";
echo "Name: <input type=text name=\"formname\" value=\"$formname\"><br
/>\n";
echo "Surname: <input type=text name=\"formsurname\"
value=\"$formsurname\"><br />\n";
echo "Phone: <input type=text name=\"formphone\"
value=\"$fornphone\"><br />\n";
echo "Email: <input type=text name=\"formemail\"
value=\"$formemail\"><br />\n";
//  and so on for all your data
// need an update or accept button before writing back data changes
echo "<input type=\"submit\" value=\"Make Changes\" >"
echo "</form>";
?>

So finally we have the program that puts the data back to the database.
I have used writeat.php in this example, but use whatever name fits into
your naming convention.

The essence of writeat.php:
<?php
$patid = $_POST["formatid"];
$name = $_POST["formname"];
$surname = $_POST["formsurname"]
$phone = $_POST["formphone"];
$email = $+POST["formemail"];
$dbcon = pg_connect("dbname=your_db_name user=your_user");
pg_exec( $dbcon, "update your_table_name
             set patid=$patid,               // allowing the key to be
changed !!!!
                name='$name',
                surname='$surname',
                phone='$phone',
                email='$email'
                where patid=$patid" );
?>

This is only one way of doing the required steps and it leaves all error
checking out .
One thing I don't like is allowing key fields to be changed so easily by
operator input, but you may have valid reasons for this.  Generally I
hide the key fields from update screens unless required or useful to see.
My real programs have a lot of additional stuff but I will try and find
the simplest one to send to you off line.

Paul


Yasmine Kedoo wrote:

> Hi Paul.
>
> I think u do understand what i'm trying to do :-) , but i'm not too
> sure i understand what u've told me ;-)
>
> Do i need to repeat the following line for each bit of data in the table:
>
> echo "<input type=\"hidden\" name=\"patid\"value=\"$keyoftabledata\" >";
>
> where 'patid' is the ID field in the database. But I am unsure what to
> do with $keyoftabledata. What does this relate to?
>
> What does $keyforrow relate to here:
>
> $keyforrow = $_POST["yourkeyid"];
>
> Do i need to do this line a number of times for all data in the html
> table?
>
> If u dont mind, it would be nice if u could send me some sample
> programs relating to this topic.
>
> Thanx Again,
>
> Yasmine
>

pgsql-php by date:

Previous
From: Benjamin Schulz
Date:
Subject: Re: field md5
Next
From: Joe Nilson Zegarra Galvez
Date:
Subject: about psql user