|
Posted by IchBin on 07/14/06 07:52
David Haynes wrote:
> IchBin wrote:
>> I am following this thread because I am trying to do something
>> simular. That is pass value back to php on a select ONCHANGE=. Problem
>> is I do not know php\javascript all that well. I had posted my code to
>> this newsgroup but received no answer. So I do not know if I can do
>> what I am trying to do or I am just so far off that it does not warent
>> an answer. This is what I have so far. I can not get to work and have
>> comment out what I am trying:
>>
>> //
>> // Handle the data coming back
>> echo '<FORM NAME=author method=post action='.$_SERVER['PHP_SELF'].'>';
>> //echo '<SELECT NAME=author_pk SIZE=20 COLS=20 ONCHANGE='.$_POST[id].'>';
>> //echo '<SELECT NAME=author_pk SIZE=20 COLS=20 ONCHANGE=getPK()>';
>> echo '<SELECT NAME=author_pk SIZE=20 COLS=20>';
>>
>> while ($rows = mysql_fetch_object($result)) {
>> echo '<OPTION VALUE='.$rows->id.'>'.
>> $rows->TITLE.' '.
>> $rows->lastname.', '.
>> $rows->firstname.
>> $rows->middlename.
>> $rows->SUFFIX.
>> '</OPTION>';
>> }
>> echo '</SELECT>';
>> echo '</FORM>';
>> //echo '<script language=Javascript>';
>> //echo 'function getPK() {';
>> //echo
>> "document.author.author_pk.options[document.author.author_pk.selectedIndex].value
>> ";
>> //echo '}';
>> //echo "</script>";
>
> IchBin:
> You don't need to use javascript at all to do what you want to do.
> You can simply let PHP do all the work.
> Take a look at this example based upon your posting:
>
> <?php
> // an example of a monolithic form processor in php
> // connect to mysql database
> // @note: add a lot more error checking.
> mysql_connect($hostname, $username, $password);
> mysql_select_db($database);
>
> // This form uses the POST method, so process any post selections here
> if( isset($_POST['author_pk']) ) {
> // do whatever you need to do with the author_pk
> $sql = "select * from book_detail where author_pk =
> {$_POST['author_pk']}";
> $detail = mysql_query($sql);
> }
>
> // main form query
> $sql = "SELECT * from users order by lastname, firstname, middlename ";
> $result = mysql_query($sql);
>
> mysql_close();
> ?>
> <FORM NAME="author" method="post" action="<?php echo
> $_SERVER['PHP_SELF'];?>"
> <SELECT NAME="author_pk" SIZE="20" COLS="20">
> <?php
> // a loop to populate the select options
> while( $row = mysql_fetch_object($result) ) {
> printf("<option value=\"%d\">%s, %s, %s, %s, %s</option>\n",
> $row->id, $row->TITLE, $row->lastname,
> $row->firstname, $row->middlename, $row->SUFFIX);
> }
> mysql_free_result($result);
>
> // display any book details based on the user's selection
> if( isset($detail) ) {
> while( $row = mysql_fetch_assoc($detail) ) {
> printf("Title: %s<br>\n", $row['title']);
> }
> }
> ?>
> </SELECT>
> </FORM>
>
David, thank you so much for helping me out. I do not have much more
hair to pull out. I am a Java person. Anyway, I understand a lot more
after you sample code.
As an aside, this is my own little project to learn php and etc. I
already have a complete Java\swing application written around this DB so
I figure I could lean away from J2EE and try PHP. It is a different animal.
This DB is a Quotes DB. I have been building over the last few years.
Just a personal interest. I have around 1300 authors and over 32,000
quotes along with detail\quote like external Links and references for
each quote. And naturally detail information about the author.
I did mix your code with mine. The only problem I am having is with the
dropdown object. When I run the program the following displays: on and
on and not in the dropdown..
, , , , , Abbey, Edward, , , Abbott, William, Alexander, , Abelard,
Pete, , , Accius, Lucius, , , Acheson, Dean, , , Ackerman, Diane, , ,
Adams, Abigail, Smith, , Adams, Ansel, , , Adams, Bryan, , , Adams,
Douglas, , , Adams, Franklin, Pierce, , Adams, Henry, , , Adams, Joey,
Lauren, , Adams, John, , , Adams, John, Quincy, , Adams, Scott, , ,
Addison, Joseph, , , Ade, George, , , Adler, Alfred, , , Adler,
Mortimer, Jerome, , Adorno, Theodor, , , Aeschylus, , , , Aesop, , , ,
Afer, Publius, Terentius, , Agathon, , , , Agesilaus, , , II , Aiken,
George, , , Aiken, Howard, , , Alcott, Amos, Bronson, , Alcott, Louisa,
May, , Alcuinus or Ealhwine, Flaccus, Albinu, , Alda, Alan, , ,
Alexander, Shana, , , Ali-Haj, Muhammad, , , Allen, Fred, , , Allen,
Woody, , , Alzado, Lyle, , , Amiel, Henri-Frédéric, , , Amory,
Cleveland, , , Anaxagoras, , , , Ancient Chinese Curse, , , , Andersen,
Hans, Christian, , Angell, George, Thorndike, , Angelou, Maya, , The
Princess, Anne, , , , Princess Royal , Anonymous, , , , Anouilh, Jean, ,
Saint, Anselm, , , of Canterbury , Anthony, Susan, B., , Antiphanes, , ,
, Antisthenes,
Here is the code but I guess the concern is the dropdown.
<?php
//
// Open DB
include 'library/opendb.php';
// This form uses the POST method, so process any post selections here
if( isset($_POST['author_pk']) ) {
// do whatever you need to do with the author_pk
// $sql = "select * from book_detail where author_pk =
{$_POST['author_pk']}";
// $detail = mysql_query($sql);
}
//
// main form query
$sqlcmd = 'select id, TITLE, lastname, firstname, middlename, SUFFIX
from author_detail order by lastname, firstname, middlename';
$result = mysql_query($sqlcmd);
if (!$result) {
die('Database Error: ' . mysql_error());
exit;
}
//
// Close DB
include 'library/closedb.php';
?>
<FORM NAME="author" method="post" action="<?php echo
$_SERVER['PHP_SELF'];?>"
<SELECT NAME="author_pk" SIZE="20" COLS="20">
<?php
// a loop to populate the select options
while( $row = mysql_fetch_object($result) ) {
printf("<option value=\"%d\">%s, %s, %s, %s, %s</option>\n",
$row->id, $row->TITLE, $row->lastname,
$row->firstname, $row->middlename, $row->SUFFIX);
}
mysql_free_result($result);
// display any book details based on the user's selection
if( isset($detail) ) {
// while( $row = mysql_fetch_assoc($detail) ) {
// printf("Title: %s<br>\n", $row['title']);
// }
}
?>
</SELECT>
</FORM>
Thanks in Advance...
IchBin, Pocono Lake, Pa, USA http://weconsultants.phpnet.us
__________________________________________________________________________
'If there is one, Knowledge is the "Fountain of Youth"'
-William E. Taylor, Regular Guy (1952-)
Navigation:
[Reply to this message]
|