所以我已经成功完成了phpMyEdit的README文件中所述的所有必要步骤。最终的结果应该显示在这里:
http://torbaybusroutes.co.uk/fleet/index.php
但是可以看出,虽然可以肯定有147条记录,但它不想显示任何记录。
任何人都有任何想法为什么?
提前谢谢你。
以下代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://www.w3.org/2005/10/profile">
<head><title>TBR :: MyRoute Search</title></head>
<?php include('header.php'); ?>
<div class="main">
<h3>Torbay Fleetlist</h3>
<?php
// MySQL host name, user name, password, database, and table to edit
$opts["hn"] = "removed";
$opts["un"] = "removed";
$opts["pw"] = "removed";
$opts["db"] = "removed";
$opts["tb"] = "removed";
// Name of field which is the unique key
$opts["key"] = "id";
// Type of key field (int/real/string/date etc)
$opts["key_type"] = "int";
// Initial field to sort on
$opts["sort_field"] = "id";
// Number of records to display on the screen
// Note value of -1 lists all records in a table.
$opts['inc'] = 15;
// Options you wish to give the users
// A(dd) C(hange) (co)P(y) V(iew) D(elete) F(ilter) I(nitial sort suppressed)
$opts['options'] = 'ACPVDF';
// Number of lines to display on multiple selection filters
$opts['multiple'] = '4';
// Number of lines to display on multiple selection filters
//$opts['default_sort_columns'] = array('pushId','due','priority','task');
// Navigation style: B - buttons (default), T - text links, G - graphic links
// Buttons position: U - up, D - down (default)
$opts['navigation'] = 'DB';
// Display special page elements
$opts['display'] = array(
'query' => false,
'sort' => false,
'time' => false
);
/*
Field definitions. Fields will be displayed left to right
on the screen in the order in which they appear in this list.
['name'] is the title used for column headings, etc.;
['sort'] = true means the users may sort the display on this column;
['type'] is generated by SETUP.php and indicates the mysql field type
best not edited
['maxlen'] maximum length to display add/edit/search input boxes
['trimlen'] maximum length of string content to display in row listing
if strlen(value) > trimlen, display substr(,0,trimlen-3).'...'
['width'] is an optional display width specification for the column,
e.g. ['width'] = '100px';
or $fdd['colname']['width'] = ($fdd['colname']['trimlen'] * 8).'px';
['nowrap'] true or false. whether this field should get a NOWRAP
['mask'] a string that is used by sprintf() to format field output
['datemask'] a string that is used by date() to format date fields
see PHP's date() for valid formatting characters
['daterange'] a of numbers
['daterange']['start'] = 1996;
['daterange']['end'] = $fdd['colname']['daterange']['start']+20;
['URL'] is used to make a field 'clickable' in the display, e.g.:
['URL'] = 'mailto:$value' or ['URL'] = 'http://$value';
['URL'] = '$page?stuff';
Note that the following are available as variables:
$key key field for record
$name name of the field
$value value of the field
$page this HTML page
$urlstr all page variables
$row mysql_fetch_assoc() for this row
['URLtarget'] HTML target link specification (for example: _blank)
['URLdisp'] what to display as hypertext link (by default $value)
['URLprefix'] old 3.5 ['URL'] behaviour, will prepend string before
['URLpostfix'] similary to ['URLprefix'] will append string after
['required'] = true will generate javascript to prevent null entries by users
['options'] is an optional parameter to control whether a field is
displayed in the A(dd), C(hange), D(elete), view, or L(ist) views
['options']='R' indicates that a field is read only
['options']='P' indicates that a field is a password field
['options']='H' indicates that a field is to be hidden
and marked as hidden
['textarea']['rows'] and/or ['textarea']['cols'] specifies a
textarea is to be used to give multi-line input,
e.g. ['textarea']['rows'] = 5; ['textarea']['cols'] = 10
['values'] restricts user input to the specified constants,
e.g. ['values'] = array('A','B','C')
or ['values'] = range(1,99);
['values']['table'] and ['values']['column'] restricts user
input to the values found in the specified column of another table.
The optional ['values']['description'] field allows the value(s) displayed
to the user to be different to those in the ['values']['column'] field.
This is useful for giving more meaning to column values. There are two main
options when using the ['values']['description'] field. These are whether you
want to use a single, or multiple field in your description. To apply single,
you need to use:
['values']['description'] = 'desc_column'
This may be used, with no other options, and will simply display the description
for the corresponding value.
For Multiple, use:
['values']['description']['columns']['1'] = 'desc_column_1'
['values']['description']['divs']['1'] = ' '
['values']['description']['columns']['2'] = 'desc_column_2'
The 'div' component is what will be used as a divider between the columns
in the display. You don't need to define the last 'div' field if it isn't
required. So, for example...if you have a series of people in a
table, with a separate column for id, first name, and last name, you could
use:
['values']['db']='mydb' *optional if table is in another database*
['values']['table']='mytable'
['values']['column']='id'
['values']['description']['columns']['1']='name_last'
['values']['description']['divs']['1'] =', '
['values']['description']['columns']['2']='name_first'
['values']['filters']='idcolumn in (1,2,3)' *optional WHERE clause*
['values']['orderby']='last_name' *optional ORDER BY clause*
if a column is either SET or ENUM type, then the values are put in
by PME Setup.
['select'] = 'T/D/M' (text, drop-down, or multiple selection for filters)
if a column is a SET type, then this is automatically 'M'
Calculated Expressions
example:
$fdd['other']['name']='Col Header';
$fdd['other']['expression']='onHand-ordered';
$fdd['other']['sort']='T:!';
$fdd['other']['select']='T';
$fdd['other']['type']='int';
'other' can be anything, but needs to be unique within the list of $fdd keys
'expression' can be any valid MySQL expression
'type' should reflect the results of the expression, e.g. 'int' or 'string'
all other options work as with other, normal columns
this kind of column is always read-only
*/
$fdd["id"] = array(
'name'=>'ID',
'select'=>'T',
'type'=>'int',
'maxlen'=>6,
'nowrap'=>false,
'required'=>true,
'sort'=>true
);
$fdd["Operator"] = array(
'name'=>'Operator',
'select'=>'T',
'type'=>'string',
'maxlen'=>100,
'nowrap'=>false,
'required'=>true,
'sort'=>true
);
$fdd["Fleet number"] = array(
'name'=>'Fleet number',
'select'=>'T',
'type'=>'string',
'maxlen'=>100,
'nowrap'=>false,
'required'=>true,
'sort'=>true
);
$fdd["Year"] = array(
'name'=>'Year',
'select'=>'T',
'type'=>'int',
'maxlen'=>4,
'nowrap'=>false,
'required'=>true,
'sort'=>true
);
$fdd["Registration"] = array(
'name'=>'Registration',
'select'=>'T',
'type'=>'string',
'maxlen'=>10,
'nowrap'=>false,
'required'=>true,
'sort'=>true
);
$fdd["Chassis"] = array(
'name'=>'Chassis',
'select'=>'T',
'type'=>'string',
'maxlen'=>100,
'nowrap'=>false,
'required'=>true,
'sort'=>true
);
$fdd["Bodywork"] = array(
'name'=>'Bodywork',
'select'=>'T',
'type'=>'string',
'maxlen'=>100,
'nowrap'=>false,
'required'=>true,
'sort'=>true
);
$fdd["Depot"] = array(
'name'=>'Depot',
'select'=>'T',
'type'=>'string',
'maxlen'=>100,
'nowrap'=>false,
'required'=>true,
'sort'=>true
);
$fdd["Allocated to"] = array(
'name'=>'Allocated to',
'select'=>'T',
'type'=>'string',
'maxlen'=>100,
'nowrap'=>false,
'required'=>true,
'sort'=>true
);
$fdd["Branding"] = array(
'name'=>'Branding',
'select'=>'T',
'type'=>'string',
'maxlen'=>100,
'nowrap'=>false,
'required'=>true,
'sort'=>true
);
$fdd["Name"] = array(
'name'=>'Name',
'select'=>'T',
'type'=>'string',
'maxlen'=>100,
'nowrap'=>false,
'required'=>true,
'sort'=>true
);
$fdd["Low floor?"] = array(
'name'=>'Low floor?',
'select'=>'T',
'type'=>'string',
'maxlen'=>100,
'nowrap'=>false,
'required'=>true,
'sort'=>true
);
$opts['fdd'] = $fdd;
/* Table-level filter capability (if set, is included in the WHERE clause of any
generated SELECT statement; this gives you ability to wirk only with subset of
data from table)
Some valid examples:
$opts['filters'] = "column1 like '%11%' AND column2<17";
$opts['filters'] = "section_id = 9";
$opts['filters'] = "Table0.sessions_count > 200";
*/
/*
Triggers are files that are included (via require) that perform
actions (before or after) X (inserts, updates, or deletes).
'before' triggers are usually used to verify conditions prior to
executing the main operation.
'after' triggers are usually used to perform follow-on operations
after the main operation. For example, to update secondary tables
to enforce referential integrity or to update aggregate tables.
The operation sequence is this: before, main, after. If any
operation fails, not only should the next operation(s) not be
executed, but the previous ones are 'rolled back' as if they
never happened. If a database is not able to do this, it is
not 'transaction-safe'.
Triggers are risky in basic MySQL as there is no native transaction
support--it is not transaction-safe by default. There are
transaction-safe table types in MySQL that can be conditionally built
(see MySQL-Max), but phpMyEdit is currently not set up to support real
transactions. What that means is that if an operation fails, the
database may be left in an intermediate and invalid state.
The programmer must understand and accept these risks prior to using
the phpMyEdit triggers mechanism.
If the triggers are used, they execute within the namespace or scope
of the phpMyEdit class.
They _must_ return true or false to indicate success or failure.
*/
/*
$opts['triggers']['insert']['before']='.TIB.inc';
$opts['triggers']['insert']['after'] ='.TIA.inc';
$opts['triggers']['update']['before']='.TUB.inc';
$opts['triggers']['update']['after'] ='.TUA.inc';
$opts['triggers']['delete']['before']='.TDB.inc';
$opts['triggers']['delete']['after'] ='.TDA.inc';
*/
/* Logtable schema
CREATE TABLE changelog (
updated timestamp(14) NOT NULL,
user varchar(50) default NULL,
host varchar(255) NOT NULL default '',
operation varchar(50) default NULL,
tab varchar(50) default NULL,
rowkey varchar(255) default NULL,
col varchar(255) default NULL,
oldval blob,
newval blob
);
$opts['logtable']= 'changelog';
*/
/* Get the user's default language and use it if possible or you can specify
language particular one you want to use. Available languages are:
DE EN-US EN FR IT NL PG SK SP */
$opts['language']= $HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'];
// and now the all-important call to phpMyEdit
// warning - beware of case-sensitive operating systems!
require_once '../fleet/scripts/phpMyEdit.class.php';
$MyForm = new phpMyEdit($opts);
?>
</div>
<?php include('footer.php'); ?>
答案 0 :(得分:0)
我只能建议你重新运行phpMyEditSetup.php。如果它成功运行,它将生成一个脚本,只要您的mysql数据库连接凭据正确,将显示该表,如果不是,则安装脚本将无法完成。我是phpmyedit的新用户,但我必须说我到目前为止没有任何问题。如果你仍有问题,请给我发一个你的表的SQL转储,我会看看我是否可以在我的最后创建脚本。
答案 1 :(得分:0)
可能是重音问题 -
在PHP 5.4中,htmlspecialchars()使用的默认编码已更改。为了解决我们网站中的同样问题,我做了以下事情:
替换每个'htmlspecialchars(...)'
同
'fhtmlspecialchars(...)'
添加功能&#39; fhtmlspecialchars&#39;:
function fhtmlspecialchars($myString) {
// in PHP 5.4 the default encoding used by htmlspecialchars() was changed.
return htmlspecialchars($myString, ENT_COMPAT, 'ISO-8859-1', true);
}
[基于http://php.net/manual/en/function.htmlspecialchars.php + Dave的评论]
phpMyEdit网站上的类似问题: