Dieses Plugin ist nicht mit den jüngsten 3 Hauptversionen von WordPress getestet worden. Es wird möglicherweise nicht mehr gewartet oder unterstützt und kann Kompatibilitätsprobleme haben, wenn es mit neueren Versionen von WordPress verwendet wird.

dbview

Beschreibung

Presents the results a database SQL query in a table. The query can be saved as a
named view which can then be embedded as a table in any post using the shortcode
[dbview name=name-of-view]. Views can be created and edited in the dashboard.

Shortcode examples

Show the ‚world cities‘ view with a page size of 50 rows.
[dbview name=’world cities‘ pagesize=50]

Show the ‚world cities‘ view initially sorted by column ‚city‘ in ascending order.
[dbview name=’world cities‘ sort=city order=asc]

Show the ‚world cities‘ view initially sorted by column ‚population‘ in descending order.
[dbview name=’world cities‘ sort=population order=desc]

Show the ‚world cities‘ view without any pagination.
[dbview name=’world cities‘]

Show the ‚world cities‘ in the US with a population of greater than 5 million. See FAQ on passing arguments.
[dbview name=’world cities in country‘ sort=city order=asc pagesize=10
arg1=’United States‘ arg2=5000000]

End User Features

  • Column sorting on table header. Columns are enabled on each column.
  • Page navigation is on the table footer (from 0.5.3).
  • Tables are loaded using AJAX.

Management Features

  • Each view can be created/edited/deleted and tested under dbview/Settings in the dashboard.
  • Easy view consists of one SQL statement plus an optional PHP snippet associated wthe each column.
  • Sorting on each column can be enabled and disabled.
  • Each column can be manipulated using a PHP snippet. This functionality allows the introduction of permalinks, images and other customisations.
  • Each view is stored in a single serialized object in the wp_options table.

Limitations

  • Tables are not styled; this is left to the theme.
  • The data in the results table(s) cannot be edited.

Security

When the plugin is activated, administrators are given the capability to ‚manage DB views‘.
Any other wp user with a different role that needs to create/edit views must be granted that capability.
Only a view that is explicitly checked as public will be visible to non administrators and the public.

Screenshots

  • screenshot-1.png - the admin screen showing initial 'views' which can be modified or deleted. Reactivate the plugin if these aren't visible.
  • screenshot-2.png - the admin screen showing an arbitrary view 'signatures so far'.
  • screenshot-3.png - the admin screen showing one view containing links to other views.

Installation

  1. Follow the standard installation procedure for WordPress plugins.
  2. Refresh (F5) any existing pages in browser so latest javascript loaded.
  3. Manually decativate and reactivate if any predefined views are missing.

There are no configurable options.

Ten or more predefined views that navigate wp_posts, wp_postmeta, wp_options,
wp_users and wp_usermeta are loaded and reloaded each time the plugin is activated.
These views can be modified and deleted.

FAQ

Installation Instructions
  1. Follow the standard installation procedure for WordPress plugins.
  2. Refresh (F5) any existing pages in browser so latest javascript loaded.
  3. Manually decativate and reactivate if any predefined views are missing.

There are no configurable options.

Ten or more predefined views that navigate wp_posts, wp_postmeta, wp_options,
wp_users and wp_usermeta are loaded and reloaded each time the plugin is activated.
These views can be modified and deleted.

Is it possible to pass arguments from a dbview embedded on a public facing page to an SQL statement?

A Yes. Use arg1 and arg2 to pass the arguments.

For example, to embed the results of this query:

select * from cities where country=%s and population > %d

use:

[dbview name='world cities in country' sort=city 
 order=asc pagesize=10 arg1='United States' arg2=5000000]
How do I load a second table from a link in the first table?

By using a link
my link
An easier way is to insert a PHP snippet in a column in the first table:
return DBView::link($value, „name-of-dbview“, optional-arg1, optional-arg2);

The loaded table replaces the existing table.

How do I pass the ID of the current user to a query relating to that user?

By invoking some PHP using another plugin such as ‚Post Snippets‘ to load dbview and pass the appropriate argument.

Beispiel, um den aktuellen Benutzer zu erhalten und ihn in einer Tabelle darzustellen, die die Benutzer-Informationen zeigt:
$u=wp_get_current_user();
echo do_shortcode(„[dbview name=’show user‘ arg1=$u->ID]“);
Das entsprechende SQL, das in „show user“ gespeichert wird, ist:
select ID, user_login, user_email, user_registered, user_status
from wp_users where ID=%d

How can i show images in a table column and make them clickable links?

Angenommen, dass die Bild-URL und die Link-URL zwei separate Spalten in der Tabelle sind, ist es notwendig, diese beiden URLs zu verketten, um nicht eine zusätzliche nicht erwünschte Spalte in der Datenbankansicht zu erzeugen.

Als Beispiel verkettet dieses SQL zwei URLs:

select id, concat('https://www.google.co.uk/images/srpr/logo11w.png',
',','http://www.google.com') as link from wp_posts limit 2

Und dieses PHP-Snippet extrahiert die zwei URLs aus der Spalte „link“:

$a = explode(",",$value);
return "<a href='".$a[1]."'><img src='".$a[0]."' /></a>";

Originale Diskussion

Why are there no visible ascending or descending tabs on the column headers on the public facing pages?

Inkludiere die Datei (oder die Inhalte von) dbview.css in dein Theme.

I need to use a column from my SQL query in my PHP snippet, how can i prevent the column from appearing in the table?

Bisher gibt es keine Möglichkeit, Spalten auszublenden.

Why are changes to the ‚public‘ setting of a view not immediately effective?

Weil die Eigenschaften jeder Datenbankansicht in der wp_options-Tabelle gespeichert werden, die für jede Sitzung gecachet ist.

Rezensionen

Für dieses Plugin gibt es keine Rezensionen.

Mitwirkende & Entwickler

„dbview“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:

Mitwirkende

Übersetze „dbview“ in deine Sprache.

Interessiert an der Entwicklung?

Durchstöbere den Code, sieh dir das SVN Repository an oder abonniere das Entwicklungsprotokoll per RSS.

Änderungsprotokoll

0.5.5

  • fixed cell function editing broken in 0.5.3
  • add helper DBView::link() method to create clickable links to load tables (see FAQ)

0.5.4

  • pass arguments (arg1, arg2) from a dbview on a public facing page to the query (see FAQ)

0.5.3

  • incorporates slevit’s column sorting enabling/disabling see post
  • bug fix, handle empty results table see post
  • bug fix „..non-static method DBViewPublic::shortcode()..“
  • management page renamed to ‚Settings‘ page for consistency with other WP plugins

0.5.2

  • sorting by column
  • orphaned PHP snippets displayed in extra columns in table

0.5.1

  • bug fix, last page of results wasn’t shown

0.5.0

  • table scrolling supported.

0.4.5

  • list tables when using table prefix other than ‚wp_‘ see post.

0.4.4

  • remove superflous character encoding/decoding so umlauts etc handled properly see post.

0.4.3

  • even when magic quotes is off, stripslashes from textarea input (because wp always adds them).
  • warn administrators when they are looking at a page with a dbview that is not public.

0.4.2

  • Rows founds, rows affected shown.
  • Index related warnings fixed.

0.4.1

  • Preconfigured views extended and linked together to allow wpdb tables to be navigated.
  • Handle links with containing SQL query

0.4.0

  • Public flag added to each view.
  • ‚List views‘ now show PHP snippets count and SQL statements containing are encoded.
  • Change button legends
  • Text moved into PHP class to support translation
  • Bug fix, make ?page=dbview&name=myview works so allow sharing of tables
  • Bug fix, correct loading.gif URL when table loading on public pages

0.3.1

  • Preload ‚list views‘ and ’show table status‘ as views.
  • Allow unsaved queries to be executed
  • Put back top line of file containing Plugin Name !!!

0.3.0

  • Unserialize objects and display using print_r()
  • Bug fix: Accidental double serialization of DBView objects stopped. Old objects still loadable.

0.2.3

  • Correct the saved successfully message.

0.2.2

  • Header cell editing improved.

0.2

  • Fix bugs to correct views on public pages.

0.1

  • First version.