echo $fields_num;
这个$fields_num在哪里定义的?
若是在类中定义的需要 echo $list_fields->fields_num;
但你却是注释掉的
$list_fields->out_tables();
既然$fields_num未定义,那么下面的循环是不会被执行的
for ($i = 0; $i < $fields_num; $i++)
这个$fields_num在哪里定义的?
若是在类中定义的需要 echo $list_fields->fields_num;
但你却是注释掉的
$list_fields->out_tables();
既然$fields_num未定义,那么下面的循环是不会被执行的
for ($i = 0; $i < $fields_num; $i++)
我想问一下PHP不是可以用的时候才定义变量吗?
function sun_fields($fields){
$fields_num=mysql_num_fields($fields);
}
这一句不是已经定义了上面的变量吗?
function sun_fields($fields){
$this->fields_num=mysql_num_fields($fields);
}
定义$pwd 但是没有默认值,而且也没有传世实参过去还有就是上面几位说那个
$fields_num;
<?php
/* $link = mysql_connect('localhost', "root");
$fields=mysql_list_fields('jbdb','employee',$link);
$num=mysql_num_fields($fields);
for ($i = 0; $i < $num; $i++) {
echo mysql_field_name($fields, $i) . "\n";
}*/
class field2table{
var $domain;
var $user;
var $pwd="";
var $link;
var $db;
var $table;
var $fields;
var $fields_num;
// @$fields=($db,$table,$link);
function conn_server($domain,$user,$pwd){
$this->$link=mysql_connect($domain,$user,$pwd);
}
function conn_table($db,$table,$link){
$this->$fields=mysql_list_fields($db,$table,$link);
}
function sun_fields($fields){
$this->$fields_num=mysql_num_fields($fields);
}
function out_tables(){
for ($i = 0; $i < $this->$fields_num; $i++) {
echo "<center>
<form action=\"\" method=\"post\" enctype=\"multipart/form-data\" style=font-family:\"宋体\";font-size:22px name=\"$table\">
<table width=\"820\" border=\"0\" nowrap>
<tr align=\"left\">
<td width=\"395\" height=\"30\" valign=\"middle\"><strong>编号:</strong>
<input name=\"mysql_field_name($fields, $i)\" type=\"text\" style=font-family:\"宋体\";font-size:20px maxlength=\"4\"></td>
<td width=\"395\" height=\"30\"><strong>名称:</strong>
<input name=\"textfield\" type=\"text\" style=font-family:\"宋体\";font-size:20px maxlength=\"8\" height=\"20\"></td>
</tr>
</table>
</form>
</center>";
}
}
// mysql_close();
}
$domain='localhost';
$user='root';
$db='jbdb';
$table='employee';
$list_fields=new field2table();
$list_fields->conn_server($domain,$user,$pwd);
$list_fields->conn_table($db,$table,$link);
$list_fields->sun_fields($fields);
// $fields_num;
$list_fields->out_tables();
?>Warning: mysql_list_fields(): supplied argument is not a valid MySQL-Link resource in E:\work_space\web\vicp\jiabao\emloyee_class.php on line 28Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in E:\work_space\web\vicp\jiabao\emloyee_class.php on line 31
原来PHP 的类每调用一次类中的变量或函数都要加“$this->”(不知我的理解对不对, 我看一下还有没有其它错,然后加分,每个人不会少于20)
==>
$this->fields_num
在类内,用$this->表示当前类。
在类外,要用$obj=new xxx来创建一个实例对象,然后用 $obj->方法,$obj->属性来调用类的方法和属性
class field2table{
var $domain;
var $user;
var $pwd="";
var $conn;
var $db;
var $table;
var $fields;
var $fields_num;
// @$fields=($db,$table,$link);
function conn_server($domain,$user,$pwd){
$this->conn=mysql_connect($domain,$user,$pwd);
}
function conn_table($db,$table,$conn){
(这是28项) $this->fields=mysql_list_fields($db,$table,$conn);
}
function sun_fields($fields){
(这是31项) $this->fields_num=mysql_num_fields($fields);
}
function out_tables(){
for ($i = 0; $i < $this->fields_num; $i++) {
Warning: mysql_list_fields(): supplied argument is not a valid MySQL-Link resource in E:\work_space\web\vicp\jiabao\emloyee_class.php on line 28Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in E:\work_space\web\vicp\jiabao\emloyee_class.php on line 31