Okay, so I figured out why you might want to use UPDATE instead of SELECT.
And I also found that no matter what I tried, UPDATE doesn't seem to be able
to UPDATE a table if there are no rows in it.. Otherwise it works fine.. So
I found that I had to put an if test in that would check to see if the table
was empty and assign a different value to $sql than if the table wasn't
empty. This is what I ended up with:
<?php
if( !$command ) main();
if( $command == "goForIt" ) doTheDeed( $files );
exit;
function main()
{
$dir_name = "/home/httpd/html/database/images";
$dir = opendir($dir_name);
$file_list .= "<p><FORM METHOD=\"post\"
ACTION=\"$PHP_SELF?command=goForIt\">
<SELECT NAME=\"files\">$file_name";
while ($file_name = readdir($dir)) {
if (($file_name != ".") && ($file_name !="..")) {
$file_list .= "<OPTION VALUE=\"$file_name\"
NAME=\"$file_name\">$file_name</OPTION>";
}
}
$file_list .= "</SELECT><br><br><INPUT TYPE=\"submit\" NAME=\"submit\"
VALUE=\"select\"></FORM></p>";
closedir($dir);
echo "$file_list";
}
function doTheDeed( $files )
{
$db_name = "phpTemp";
$table_name = "fileList";
$connection = mysql_connect("localhost", "root", "sinister") or die
("Could not connect to database. Please try again later.");
$db = mysql_select_db("$db_name",$connection) or die ("Could not select
database table. Database said: " . mysql_error() );
echo( "Executing Query. You submitted <font color=maroon>$files</font> to
the database.<br>\n" );
$getdata = mysql_query( "SELECT * FROM fileList" );
$number = mysql_num_rows( $getdata );
if( $number = '0' ) $sql = "INSERT INTO $table_name( files ) VALUES(
\"$files\" )";
else $sql = "UPDATE $table_name SET files = \"$files\"";
$result = mysql_query($sql, $connection);
$error = mysql_error();
if( eregi( "uplicate", $error ) ) echo( "Sorry, $files is already in the
database.<br><br>\n" );
else echo( "$files added to database successfully.<br><br>\n" );
echo( "<a href=\"javascript:history.back();\">Add another file?</a>" );
}
?>
Later,
Bob
----- Original Message -----
From: "Bob" <[EMAIL PROTECTED]>
To: "jas" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Friday, April 05, 2002 5:43 PM
Subject: RE: [PHP-DB] Stuck on db entry from select box...
> I got it to work like this.. I don't know if you didn't want to use INSERT
> or something but it sticks the filename in the database table for me..
>
> <?php
> $dir_name = "/home/httpd/html/database/images";
> $dir = opendir($dir_name);
> $file_list .= "<p><FORM METHOD=\"post\" ACTION=\"$PHP_SELF\">
> <SELECT NAME=\"files\">$file_name";
> while ($file_name = readdir($dir)) {
> if (($file_name != ".") && ($file_name !="..")) {
> $file_list .= "<OPTION VALUE=\"$file_name\"
> NAME=\"$file_name\">$file_name</OPTION>";
> }
> }
> $file_list .= "</SELECT><br><br><INPUT TYPE=\"submit\" NAME=\"submit\"
> VALUE=\"select\"></FORM></p>";
> closedir($dir);
> ?>
> within the page... I echo the results like so:
> <? echo "$file_list"; ?>
> so far so good, now on the index_done.php3 my code is put into a require
> statement and the required file code is as follows...
> <?php
> $db_name = "phpTemp";
> $table_name = "fileList";
> $connection = mysql_connect("localhost", "notme", "getyourown") or die
> ("Could not connect to database. Please try again later.");
> $db = mysql_select_db("$db_name",$connection) or die ("Could not select
> database table. Database said: " . mysql_error() );
> $sql = "INSERT INTO $table_name( files ) VALUES( \"$files\" )";
> //$sql = "UPDATE $table_name SET files = \"$files\"";
> $result = mysql_query($sql, $connection) or die ("Could not execute query.
> Database said: " . mysql_error() );
> ?>
>
> I changed the names of the database and table, stuff like that..
>
>
> Personally, I would do it like this:
>
> <?php
>
> if( !$command ) main();
> if( $command == "goForIt" ) doTheDeed( $files );
> exit;
>
> function main()
> {
> $dir_name = "/home/httpd/html/database/images";
> $dir = opendir($dir_name);
> $file_list .= "<p><FORM METHOD=\"post\"
> ACTION=\"$PHP_SELF?command=goForIt\">
> <SELECT NAME=\"files\">$file_name";
> while ($file_name = readdir($dir)) {
> if (($file_name != ".") && ($file_name !="..")) {
> $file_list .= "<OPTION VALUE=\"$file_name\"
> NAME=\"$file_name\">$file_name</OPTION>";
> }
> }
> $file_list .= "</SELECT><br><br><INPUT TYPE=\"submit\" NAME=\"submit\"
> VALUE=\"select\"></FORM></p>";
> closedir($dir);
>
> echo "$file_list";
> }
>
> function doTheDeed( $files )
> {
> $db_name = "phpTemp";
> $table_name = "fileList";
> $connection = mysql_connect("localhost", "notme", "getyourown") or die
> ("Could not connect to database. Please try again later.");
> $db = mysql_select_db("$db_name",$connection) or die ("Could not select
> database table. Database said: " . mysql_error() );
> $sql = "INSERT INTO $table_name( files ) VALUES( \"$files\" )";
> //$sql = "UPDATE $table_name SET files = \"$files\"";
> $result = mysql_query($sql, $connection);
> $error = mysql_error();
> if( eregi( "uplicate", $error ) ) echo( "Sorry, $files is already in the
> database.<br><br>" );
> else echo( "$files added to database successfully.<br><br>" );
> echo( "<a href=\"javascript:history.back();\">Add another file?</a>" );
> }
>
> ?>
>
> But it is your project...
> Later,
>
> Bob Weaver
>
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php