PHP Classes

File: mysql_dialog

Recommend this page to a friend!
  Classes of Giorgos   MySQL Dialog   mysql_dialog   Download  
File: mysql_dialog
Role: Class source
Content type: text/plain
Description: The mysql_dialog class
Class: MySQL Dialog
Execute MySQL queries and display results in HTML
Author: By
Last change:
Date: 19 years ago
Size: 3,686 bytes
 

Contents

Class file image Download
<?php
/***
**** @class: mysql_dialog
**** @version: 1.4;
**** @author: Giorgos Tsiledakis;
**** @date: 2004-08-25;
**** @license: GNU GENERAL PUBLIC LICENSE;
***/
class mysql_dialog {
var
$msg1="Not connected to MySQL Server! Please check your connection data or call function \"connect()\" first";
var
$msg2="Please check your SQL statement or call function \"speak()\" first!";

var
$errors=""; // the last error occured;
var $rows=""; // number of rows of the query, created by listen();
var $fields=""; // number fields of the query, created by listen();
var $printerror=false;
var
$error_id=false;
var
$con=false;
var
$sql_id=false;

/*##
#### Call first Class Constructor mysql_dialog() to beginn;
#### If some value!=0 is passed to mysql(),
#### the errors occured, after each function is called, will be printed in the main script
##*/
function mysql_dialog($mode=false) {
if (
$mode){
$this->printerror=true;
}
}

/*##
#### Call then connect("mysqlhost","mysqluser","mysqlpasswd","name of mysql database")
#### it returns some public $con or creates errors;
##*/
function connect($host=false, $user=false, $pass=false, $dbname=false) {
$con=@mysql_connect($host, $user, $pass);
if (!
$con) {
$this->makeerror();
return
false;
}
$this->con=$con;
$db=@mysql_select_db($dbname, $con);
if (!
$db) {
$this->makeerror();
return
false;
}
return
$this->con;
}

/*##
#### Call speak("SQL STRING") to send some sql query to the database;
#### it returns some public $sql_id, or creates errors;
##*/
function speak($sql=false) {
if (!
$this->con) {
$this->error_id=$this->msg1;
$this->makeerror();
return
false;
}
if (
$this->sql_id) {
@
mysql_free_result($this->sql_id);
}
$sql_id=mysql_query($sql, $this->con);
$this->sql_id=$sql_id;
return
$this->sql_id;
}

/*##
#### Call listen() to get the result of the query;
#### it returns an array with the results of the query, or creates errors;
#### listen() must be called after speak("SQL STRING") was called;
##*/
function listen() {
if (!
$this->con) {
$this->error_id=$this->msg1;
$this->makeerror();
return
false;
}
if (!
$this->sql_id) {
$this->error_id=$this->msg2;
$this->makeerror();
return
false;
}
$data=@mysql_fetch_array($this->sql_id, MYSQL_BOTH);
$this->rows=@mysql_num_rows($this->sql_id);
$this->fields=@mysql_num_fields($this->sql_id);
return
$data;
}

/*##
#### Call onscreen("SQL STRING") to print a table with the result of the query;
##*/
function onscreen($sql=false) {
$this->speak($sql);
echo (
"<table border=\"1\" cellpadding=\"4\"><tr>");
while (
$fields=@mysql_fetch_field($this->sql_id)) {
echo (
"<th align=\"left\">$fields->name</th>");
}
echo (
"</tr>\n");
while (
$rows = $this->listen()) {
echo (
"<tr>");
for (
$x=0; $x<@mysql_num_fields($this->sql_id); $x++) {
echo (
"<td align=\"left\">".htmlentities($rows[$x])."</td>");
}
echo (
"</tr>\n");
}
echo (
"</table>");
}

/*##
#### Function makeerror() is called whenever some error has occured;
#### If there is any error_id, it returns the user specified messages $msg1, $msg2,
#### else it returns the mysql error number and message;
#### If $printerror is true, the error message will be printed in the main script;
##*/
function makeerror() {
if (!
$this->error_id) {
if (
mysql_errno()){
$result="<b>" .mysql_errno(). " :<font color=\"red\">" . mysql_error(). "</font></b><br>";
$this->errors=$result;
if (
$this->printerror){
echo
$result;
}
return
$result;
exit;
}
}
else {
$result="<b><font color=\"red\">$this->error_id</font></b><br>";
$this->errors=$result;
if (
$this->printerror){
echo
$result;
}
return
$result;
}
}

}
?>