> qbb > web download
Query-by-Browsing on the Web
download web version

Alan Dix

information and articles on QbB
QbB on the web
download web code (php/mysql/unix)
download MAC demonstrator
conditions of use



conditions of use

This software is supplied free for personal/research purposes
- please read conditions of use


system requirements

Web Query-by-Browsing requires PHP version 3 or higher, MySQL and a C compiler (e.g. gcc). The distrubuted version has been tested on Apache under Red Hat Linux, but doesn't rely on any special features so should work on most UNIX systems with minor changes to makefile.

There is not a version for Windows web servers, but the C code has in the past been run on PC platforms (under DOS command line), so the scripts should be modifiable to run under Windows. If you do this please let me know.

QbB for the web does not normally require root access to install and run (the example at was installed and run in normal user mode)



Download distribution as
QBB-web-dist.tar.gz - tarball (gzipped tar file) - 192K
QBB-web-dist.tar.Z - UNIX compressed tar file - 278K - ZIP archive- 204K


tell me please

Please mail me when you download Query-by-Browsing so I know who is using it and also if you use QbB in any projects of your own please let me know and give me URLs of anything relevant.


unpack to initial install location

Copy or download directly into the directory where you wish to build the distribution (say /usr/install)
Some browsers or FTP clients may automatically unpack the contents, but if not use the following from the UNIX shell prompt:
tar xvzf QBB-web-dist.tar.gz
or for compressed tar:
tar xvZf QBB-web-dist.tar.Z
(N.B. non-Linux UNIX systems may not have the z/Z options for tar and require a separate unzip/uncompress step)
This will create a directory QBB-dist in your install dircetory (say /usr/install/QBB-dist)
This directory will contain two subdirectories:
QBB-bin  -  source for executables and test data
QBB-web  -  web files, images and php scripts


compile binaries

Go into the directory QBB-bin/progs and at the shell prompt type:
make all

This will produce a single executable called main.

(N.B. The supplied makefile assumes gcc is available and on your defualt path, you may need to edit the makfile if you want to use a different C compiler, or make small changes to header files if your system has standard C functions in different places to those assumed)

The executable main is not used directly, but is run via symbolic links in the upper level:
QBB-bin/learn  -  creates decision tree from positive and negative examples
QBB-bin/andor  -  formats decision tree as SQL query
QBB-bin/class  -  classifies records in a datebase (not used in QbB on the Web)
QBB-bin/split  -  splits datebase based on classification (not used in QbB on the Web)

To test these you can execute them from the UNIX shell prompt. Look in the readme.txt file in QBB-bin to see how to use them.

  The readme.txt file also tells you how to modify the distribution to run under DOS/Windows.

install binaries

You can use the above links where they are, but you may prefer to make symbolic links to learn and andor wherever you normally install web programs (e.g. /usr/local/bin/).


make test databases

The SQL statements to create and populate the two example databases qbb-ex1 and qbb-ex2 are included in the file QBB-web/mysql-init.txt

Alternatively you can use your own tables.

Note that this version of QbB only recognises two types of data: String and Number. All kinds of char and varchar SQL fields are treated as String and most types of SQL integer field are recognised as Number. Unrecognised fields such as SQL date or blob fields are ignored.


configure php script

Go into the directory QBB-web edit the file config.php

You will need to configure various parameters for your system:
$host  -  default of "localhost" will be OK if your MySQL server is running on the same server as your web server. If not change this to point to your MySQL server (e.g.
$user  -  the user name to use for your MySQL server
$password  -  the password to use for your MySQL server
$database  -  the name of the database on your MySQL server
$binpath  -  the directory where you places the QBB executable links (e.g. /usr/install/QBB-dist/QBB-bin/ or /usr/local/bin/)
$tables[]  -  add one entry for each table you wish to be able to query using Query-by-Browsing
$ex_table  -  which of the above to be the initial default


install web

Copy/move the directory QBB-web into your web space (e.g. /usr/yoursite/web/qbb).

If your web server is setup to only execute PHP scripts from specified directories, you may need to install the scripts there and change the paths in the addresses of images the PHP scripts and HTML file qbb-template.html



Go to your browser, type in the appropriate URL in your web site (e.g. and play away.

... and please don't forget to include link and acknowledgements to Alan Dix at meandeviation :-)






other php resources at: Alan Dix 25/5/2001