Presents the results of a database query in a table. The query can be saved as a view which can then be embedded in any post using a shortcode. Views
|Author:||John Ackers (profile at wordpress.org)|
|WordPress version required:||3.0.1|
|WordPress version tested:||4.7.5|
|Added to WordPress repository:||15-01-2012|
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
|Total downloads:||7 902|
Click to start download
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.
- Follow the standard installation procedure for WordPress plugins.
- 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
[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
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.
For example to get the current user and display a table that shows that users information.
echo do_shortcode(“[dbview name=’show user’ arg1=$u->ID]”);
The corresponding SQL stored in ‘show user’ is:
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?
Assuming the image URL and the link URL are in separate columns in the table, it’s necessary to concatenate the two URLs so as to not create an extra column in the view that is not wanted.
For example this SQL concatenates two URLs:
select id, concat('https://www.google.co.uk/images/srpr/logo11w.png', ',','http://www.google.com') as link from wp_posts limit 2
And this PHP snippet extracts the two URLs from the single column ‘link’:
$a = explode(",",$value); return "<a href='".$a."'><img src='".$a."' /></a>";
Why are there no visible ascending or descending tabs on the column headers on the public facing pages?
Include the file (or the contents of) dbview.css into your 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?
At present, there is no way to hide columns.
Why are changes to the ‘public’ setting of a view not immediately effective?
Because the properties of each dbview are stored in the wp_options table which is cached for each session.
- fixed cell function editing broken in 0.5.3
- add helper DBView::link() method to create clickable links to load tables (see FAQ)
- pass arguments (arg1, arg2) from a dbview on a public facing page to the query (see FAQ)
- 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
- sorting by column
- orphaned PHP snippets displayed in extra columns in table
- bug fix, last page of results wasn’t shown
- table scrolling supported.
- list tables when using table prefix other than ‘wp_’ see post.
- remove superflous character encoding/decoding so umlauts etc handled properly see post.
- 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.
- Rows founds, rows affected shown.
- Index related warnings fixed.
- Preconfigured views extended and linked together to allow wpdb tables to be navigated.
- Handle links with containing SQL query
- 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
- Preload ‘list views’ and ‘show table status’ as views.
- Allow unsaved queries to be executed
- Put back top line of file containing Plugin Name !!!
- Unserialize objects and display using print_r()
- Bug fix: Accidental double serialization of DBView objects stopped. Old objects still loadable.
- Correct the saved successfully message.
- Header cell editing improved.
- Fix bugs to correct views on public pages.
- First version.