| 
 | 
  Rob Glasener - 2007-06-26 05:01:19  
It would be real nice to have working example of populating a form from data in a table using metabase 
  
  Manuel Lemos - 2007-06-26 05:41:41 -  In reply to message 1 from Rob Glasener 
That is the purpose of this complementary class: 
phpclasses.org/databaseaccess
Use it with Metabase and also with the forms generation class. The forms class even comes with nice plug-ins to implement AJAX controls that link select inputs with options from a database, and also auto-complete text inputs with values retrieved from a database query using Metabase on the server side.
 phpclasses.org/formsgeneration
 
  
  Rob Glasener - 2007-06-26 16:14:41 -  In reply to message 2 from Manuel Lemos 
I acutally downloaded thatand was looking at it. I am really new to this, where do you put the call to selectformvalues? Could it be right after your last AddInput to the form? 
 
Like I said I am still a little new this, so please forgive my lack of knowledge. 
 
 
  
  Manuel Lemos - 2007-06-26 17:06:43 -  In reply to message 3 from Rob Glasener 
Yes, first you need to add the inputs to the form. Then you use selectformvalues to load the input values from database query results. 
  
  Rob Glasener - 2007-06-27 04:07:12 -  In reply to message 4 from Manuel Lemos 
well i am close but I got this error 
Fatal error: Call to a member function Query() on a non-object in /Library/WebServer/Documents/phpclasses/metabase/metabase_interface.php on line 28 
 
i was working off your example 
 
    $error=MetabaseSetupDatabaseObject(array( 
                 "Type"=>"mysql", 
        "User"=>"root", 
      "Password"=>"software" 
 
      ), $db); 
      if($error!="") 
      { 
 
            echo "Database setup error: $error\n"; 
            exit; 
 
      } 
      $db->SetDatabase("test"); 
      MetabaseSetDatabase($db->database,"test"); 
 
 
 
 
and then later in my code 
 
 
 
/*     
 * Create a databaseaccess object. 
 */ 
        $dba=new database_access_class; 
 
 
 
 
and then 
 
 $error = $dba->selectformvalues( 
 
      $form, 
      "users", 
      array( 
                "id"=>"Integer", 
                "user_name"=>"text", 
                "name"=>"text", 
                "password"=>"text", 
                "reminder"=>"text", 
                "email"=>"text" 
        ), 
     array( 
                "id"=>"id", 
                "user_name"=>"user_name", 
                "name"=>"name", 
                "password"=>"password", 
                "reminder"=>"reminder", 
                "email"=>"email" 
        ), 
   array( 
                "id"=>"", 
                "user_name"=>"*****", 
 
             "name"=>"", 
                "password"=>"", 
                "reminder"=>"", 
                "email"=>"" 
        ), 
     " WHERE id = 1" 
 
); 
 
 
I am leaving something out i know 
 
Thanks 
  
  Manuel Lemos - 2007-06-27 04:40:39 -  In reply to message 5 from Rob Glasener 
You need to set the database handle variable of the database access class. 
 
$dba->database = $db->database 
  
  Rob Glasener - 2007-06-27 05:29:25 -  In reply to message 6 from Manuel Lemos 
well i got a lot closer, but now I have an error in this line$error = $dba->selectformvalues( 
 
      $form, 
      "users", 
      array( 
                "id"=>"Integer", 
                "user_name"=>"text", 
                "name"=>"text", 
                "password"=>"text", 
                "reminder"=>"text", 
                "email"=>"text" 
        ), 
     array( 
                "id"=>"id", 
                "user_name"=>"user_name", 
                "name"=>"name", 
                "password"=>"password", 
                "reminder"=>"reminder", 
                "email"=>"email" 
        ), 
   array( 
                "id"=>"", 
                "user_name"=>"", 
                "name"=>"", 
                "password"=>"", 
                "reminder"=>"", 
                "email"=>"" 
        ), 
     " WHERE id = 1" 
 
); 
unexpected T_VARIABLE in /Library/WebServer/Documents/samples/users_form.php on line 361 
 
am i missing a paren in there? I am never really sure where this error comes from 
 
You have been a tremendous help 
 
Thanks again 
  
  Manuel Lemos - 2007-06-27 08:04:14 -  In reply to message 7 from Rob Glasener 
It looks Ok. Maybe you are missing a semi-colon in the previous line. 
  
  Rob Glasener - 2007-06-27 15:05:29 -  In reply to message 8 from Manuel Lemos 
well you were right, I was missing a semi colon on the previous line. I put that in, and now the form is being displayed but the values from the record are not there. I call to the metabase query on the previous line and got the fields returned, so I think I am still doing something wrong.The from that I am displaying is basically form_body.html.php from your templates directory. 
 
Almost there.  
 
Thanks again 
 
 
  
  Rob Glasener - 2007-06-27 22:43:48 -  In reply to message 8 from Manuel Lemos 
I figured it out, I had lowercase on types of fields - thanks a lot. But I am sure more questions will follow. Great set of classes you have written. 
  
   |