0

www.editablegrid.netのeditablegridを使用していますが、テーブルに主キーである列IDがある限り、グリッドが正常に機能することに気付きました。custIDをキーとして別のテーブルで使用すると、更新に失敗します。

どこが間違っているのですか?

4

2 に答える 2

0

多くの場所でこれを変更する必要があります

loaddata.php の削除アクションの場合

$grid->addColumn('action', 'Action', 'html', NULL, false, 'id');

これをに変更

$grid->addColumn('action', 'Action', 'html', NULL, false, 'yourprimarykey');

update.php(39行目)

if ( $stmt = $mysqli->prepare("UPDATE ".$tablename." SET ".$colname." = ? WHERE id = ?")) {

これをに変更

if ( $stmt = $mysqli->prepare("UPDATE ".$tablename." SET ".$colname." = ? WHERE yourprimarykey = ?")) {

delete.php で

if ( $stmt = $mysqli->prepare("DELETE FROM ".$tablename."  WHERE id = ?")) {

これをに変更

if ( $stmt = $mysqli->prepare("DELETE FROM ".$tablename."  WHERE yourprimarykey = ?")) {
于 2016-05-08T13:08:04.990 に答える
0

コード スニペットを見せていただけない場合は、あまり役に立ちません。しかし、勝手な推測をさせてください。editablegrid はデフォルトで ID 列を使用しています。IDという名前の列がない場合は、それを定義する必要があります

プラグインにはいくつかのデフォルト設定プロパティがありますが、すでにそれらで遊んでいますか? プラグインにはドキュメントがなく、スクリプトにも列をプライマリ ID として定義することについて何も書かれていないため、 http: //www.datatables.net/ のようなよりドキュメント化されたデータグリッドに移動することをお勧めします。

var props = {
        name: "",
        label: "",
        editable: true,
        renderable: true,
        datatype: "string",
        unit: null,
        precision: -1, // means that all decimals are displayed
        nansymbol: '',
        decimal_point: ',',
        thousands_separator: '.',
        unit_before_number: false,
        bar: true, // is the column to be displayed in a bar chart ? relevant only for numerical columns 
        headerRenderer: null,
        headerEditor: null,
        cellRenderer: null,
        cellEditor: null,
        cellValidators: [],
        enumProvider: null,
        optionValues: null,
        columnIndex: -1
};
于 2013-01-17T09:39:33.437 に答える