Try using the table name instead of a variable containing the table name.
If you must use $tablename within the SQL statement then you should include it in
quotes.
The error that you are getting is basically saying that MySQL can't find the table
that you are looking for, which is true as you have a table named 'vendors', but
not one named'$tablename'!

Using quotes (and remebering to escape them) may or may not cure the problem - it
seems to be a bit intermittent. It's more reliable just to hard code the tablename
instead.

Tom

Bob Sears wrote:

> I am no stranger to programming, having done that professionally for 30+
> years; however,
> PHP is a new animal to me. As usual, the text I have leave a little to be
> desired. The
> reason for this email is to ask for a little assistance in getting over a
> coding "speed
> bump".
>
> I am rewriting a shopping cart application for a local retailer. It was
> originally an
> informational site; but, with the request to add 2,500 items to his virtual
> store shelf
> I went into total rewrite mode. I had originally thought of using Access as
> the data base
> and mentioned this to my Java instructor last fall. He suggested I use PHP
> and MySQL since
> I'm on a Unix machine.
>
> I am not developing the maintenance routine. The tables have been created
> and the data
> base populated. All I want to do is access the tables to effect updates,
> deletes, and
> additions. There is the snag. I keep getting "object not defined" from PHP.
> Once I
> correct this, I feel I will be in a better position to continue with the
> order processing
> part, which is now a client-side Javascript routine.
>
> The code follows. If you could show me what I am going wrong, I would
> certainly appreciate
> the help. Matter of fact, I'd appreciate any pointers I could get.
>
> The essence of this module is:
>
> On initial entry, display the first 15 or so records from the data base;
> Whenever the "forward" button is pressed, display the next 15 records;
> Whenever the "backward" button is pressed, go backwards 15 records;
> Be able to go to the first record in the file;
> Be able to go to the last record in the file;
> Modify a record;
> Add a record;
> Delete a record;
>
> The code below is the portion that I want to be able to page forward and
> backward
> in the file. The table has seven entries, displayed on at a time rather
> than all
> seven on the page. This is because the product and customer tables have
> thousands
> of records and I want to be able to page through them record by record.
>
> <?
>
> /*
>
>    Module:  show_vendor.php
>
>    Function:
>
>    1)  When called from the root module [], this program displays the first
>        vendor in the vendors MySQL database.
>
>    2)  Present the user with options of:
>        a)    Forward paging, with wrap around;
>        b)    Reverse paging, with wrap around;
>        c)    Modify the displayed vendor record;
>        d)    Add a new vendor record;
>        e)    Delete the displayed vendor record;
>
> */
>
> //class show_vendor
> //{
>
>    $db_name = "healthspot";
>    $table_name = "vendors";
>    $connection = mysql_connect ("localhost","","") or die ("Couldn't
> connect to localhost");
>    $db = mysql_select_db ($db_name, $connection) or die ("Couldn't select
> $db_name");
>
>    $sql_statement =
>         "
>          SELECT Vactive, Vname, Vlogo_loc, Vlogo_height, Vlogo_width,
> Valink, Vdiscount
>              FROM $table_name
>            ";
>
>    $result = mysql_query ($sql_statement, $connection) or die ("Couldn't
> execute msql_query:  [$sql_statement]");
>
>    $rowmax = $number_of_rows = mysql_numrows($result);
>    $rowmax--;
>    $rowmin = 0;
>    $TableRecord = -1;
>    $Sequence = 2;
>
>    function Advance_retreat($operation){
>
>      GLOBAL $TableRecord;
>      GLOBAL $Sequence;
>      global $rowmax, $rowmin, $i;
>      GLOBAL $db_name;
>      GLOBAL $table_name;
>      GLOBAL $connection;
>      global $Sequence;
>
>      $Sequence = 1;
>
> /*
>    print "<BR><BR>-->  In function Advance_retreat before Retrieve call<BR>\n";
>    print "rowmax  :  $rowmax  rowmin:  $rowmin  Sequence:  $Sequence<br>\n";
>    print "operation:  $operation<BR>\n";
> */
>
>      switch ($operation)
>      {
>          case 'L':
>              $TableRecord = $rowmax;
>              break;
>          case '1':
>              $TableRecord = $rowmin;
>              break;
>          case '-':
>              if (($TableRecord - 1) < 0){
>                  $TableRecord = $rowmax;
>              } else {
>                  --$TableRecord;
>              }
>              break;
>          case '+':
>              break;
>          case 'A':
>              break;
>          case 'D':
>              break;
>          case 'M':
>              break;
>      }                                  // end of switch statement
>
>      $db = mysql_select_db ($db_name, $connection) or die ("Couldn't select
> $db_name");
>
>      $sql_statement =
>           "
>             SELECT Vactive, Vname, Vlogo_loc, Vlogo_height, Vlogo_width,
> Valink, Vdiscount
>                FROM $table_name
>             LIMIT $TableRecord, 1
>              ";
>
>      $result = mysql_query ($sql_statement, $connection) or die ("Couldn't
> execute msql_query:  [$sql_statement]");
>
>      while ($row = mysql_fetch_array($result)){
>        $vactive  = $row['Vactive'];
>        if ($vactive == 0){
>          $vactive = "No";
>        } else if ($vactive == 1){
>          $vactive = "Yes";
>        }
>        $vname = $row['Vname'];
>        $vlogo = $row['Vlogo'];
>        $vlogo_height = $row['Vlogo_height'];
>        $vlogo_width = $row['Vlogo_width'];
>        $valink = $row['Valink'];
>        $vdiscount = $row['Vdiscount'];
>
> /*
> print "RETRIEVED --> vname       : $vname<BR>\n";
> print "RETRIEVED --> vlogo_height: $vlogo_height<BR>\n";
> print "RETRIEVED --> vdiscount   : $vdiscount<BR>\n";
> */
>
>      }                                  // end of while loop
>
>      $Sequence = 3;
>
>      $temp = $GLOBALS['vname'];
>
> /*
>    print "<BR>-->  In function Advance_retreat after Retrieve call<BR>\n";
>    print "Sequence    : $Sequence<BR>\n";
>    print "vactive     : $vactive<BR>\n";
>    print "vname       : $vname<BR>\n";
>    print "vlogo       : $vlogo<BR>\n";
>    print "vlogo_height: $vlogo_height<BR>\n";
>    print "vlogo_width : $vlogo_width<BR>\n";
>    print "valink      : $valink<BR>\n";
>    print "vdiscount   : $vdiscount<BR>\n";
>    print "globals[vname]:  $temp<BR>\n";
> */
>
>      $display_block  = "<H3 STYLE=\"position: absolute; left: 525; top:
> 200\">$vactive</H3>";
>      $display_block .= "<H3 STYLE=\"position: absolute; left: 525; top:
> 220\">$vname</H3>";
>      $display_block .= "<H3 STYLE=\"position: absolute; left: 525; top:
> 240\">$vlogo</H3>";
>      $display_block .= "<H3 STYLE=\"position: absolute; left: 525; top:
> 260\">$vlogo_height</H3>";
>      $display_block .= "<H3 STYLE=\"position: absolute; left: 525; top:
> 280\">$vlogo_width</H3>";
>      $display_block .= "<H3 STYLE=\"position: absolute; left: 525; top:
> 300\">$valink</H3>";
>      $display_block .= "<H3 STYLE=\"position: absolute; left: 525; top:
> 320\">$vdiscount</H3>";
>
>      echo $display_block;
>
>    }                                    // end of Advance_Retreat function
> //}                                       end of class definition
> ?>
> <?php Advance_retreat('1'); ?>
>
> As the usual case with anything pertaining to IT, this should have been
> done months ago.
>
> Bob Sears
> Owner
> WebWyshez
> [EMAIL PROTECTED]
> www.on-net.net/~rsears/webwyshez/webwyshez.html
>
> --
> PHP Windows Mailing List (http://www.php.net/)
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> To contact the list administrators, e-mail: [EMAIL PROTECTED]

-- 
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to