PHP Classes

File: remoteDB/irp_commonSQL.php

Recommend this page to a friend!
  Classes of Marco Sillano   Simple CRUD with MySQL 2   remoteDB/irp_commonSQL.php   Download  
File: remoteDB/irp_commonSQL.php
Role: Auxiliary script
Content type: text/plain
Description: mySQL access library
Class: Simple CRUD with MySQL 2
Output SQL and CRUD forms based on remoteDB class
Author: By
Last change:
Date: 6 years ago
Size: 7,707 bytes
 

Contents

Class file image Download
<?php
/*
irp_commonSQL -
  Copyright (c) 2017 Marco Sillano. All right reserved.

  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
  License as published by the Free Software Foundation; either
  version 2.1 of the License, or (at your option) any later version.

  This library is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public
  License along with this library; if not, write to the Free Software
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
   
// ==================== GENERAL DB access for odtphp
// here all SQL functions.
// Implementation using mysql_xxxx
// License LGPL

function sql($statment){
// print($statment.'<BR>');
//====================================================
  
static $connected=false;
   
// connection data
  
include(dirname(__FILE__)."/irp_config.php");

   if(!
$connected){
       
/****** Connect to MySQL ******/
       
if(!extension_loaded('mysql')){
            echo
"<div class=error>ERROR: PHP is not configured to connect to MySQL on this machine.
             Please see <a href=http://www.php.net/manual/en/ref.mysql.php>this page</a> for help
             on how to configure MySQL.</div>"
;
            exit;
        }

        if(!
mysql_connect($dbServer, $dbUsername, $dbPassword)){
            echo
"<div class=error>";
            echo
'ERROR: Connection error: see $dbServer, $dbUsername, $dbPassword on irp_config.php <br />'.mysql_error();;
            echo
"</div>";
            exit;
            }

       
/****** Connection Charset ********/
       
@mysql_query("SET NAMES 'utf8'");

       
/****** Select DB ********/
       
if(!mysql_select_db($dbDatabase)){
            echo
"<div class=error>";
            echo
'ERROR: Errore in select DB: see $dbDatabase on irp_config.php <br />'.mysql_error();
            echo
"</div>";
            exit;
        }
       
$connected=true;
     }
// ends if not connected

   
if(!$result = @mysql_query($statment)){
            echo
"<div class=error>";
            echo
"ERROR: Query error in ['$statment'] <br />".mysql_error();
            echo
"</div>";
            exit;
        }
    return
$result;
}

// ================================== sql to arrays
 
// low-level DB read using SQL.
// return only a value
function sqlValue($query) {
 
$result = sql($query);
 
$row = mysql_fetch_row($result);
 
mysql_free_result ($result );
  if (isset(
$row[0]))
      return
$row[0];
  return
NULL;
}

// low-level DB read using SQL.
// return an array of values: array =row[][0]
function sqlArray($query) {
 
$result = sql($query);
 
$dats = array();
  while(
$row = mysql_fetch_row($result)){
     
$dats[] = $row[0];
  }
 
mysql_free_result ($result );
  return
$dats;
}
           
/*
 * low-level DB read using SQL.
 * return a rows array: array[] = (row(0), row(1), row(2)...)
 */
 
function sqlArrayTot($query){
      
$r=sql($query );
      
$arrayData= array();
       while (
$sub = mysql_fetch_array($r)) {
                   
array_push($arrayData, $sub);
                     }
      
mysql_free_result ($r);
     return
$arrayData ;
 }

// low-level DB read using SQL.
// return an array of values: array[] = row[0]
function sqlRecord($query) {
 
$result = sql($query);
 
$dats = mysql_fetch_array($result);
 
mysql_free_result ($result );
  return
$dats;
}

// low-level DB read using SQL.
// return an associative lookup: array[row[0]] = row[1]]
function sqlLookup($query) {
 
$result = sql($query);
 
$dats = array();
  while(
$row = mysql_fetch_row($result)){
     
$dats[$row[0]] = $row[1];
  }
 
mysql_free_result ($result );
  return
$dats;
}
 
// HTML from DB read using SQL.
// for combo input, options from a query (id, value), optional select key
// return HTML option list
function optionsList($query, $selected = -1){
    
$options = '';
    
$ops = sqlLookup($query);
     while (list(
$chiave, $valore) = each($ops)) {
       
$options .= "<option value='$chiave' ".($chiave == $selected ? ' selected = "selected"':'')." >$valore</option>\n";
     }
     return
$options;
}
               
// HTML from DB read using SQL.
// for checklist, return complete HTML
// from a query (key, value), checkbox_name, list_of_keys|true|false*)
function checkList($query,$name,$checked = false){
    
$check = '';
    
$ops = sqlLookup($query);
    
$i = 1;
     while (list(
$chiave, $valore) = each($ops)) {
        if (
is_array($checked )){
       
$check .= "<input type='checkbox' name='$name".$i++."' value='$chiave' ".(
       
array_search($chiave,$checked)!== false ?"checked='checked'":'')." />$valore<br />";
         } else {
       
$check .= "<input type='checkbox' name='$name".$i++."' value='$chiave' ".($checked?"checked='checked'":'')." />$valore<br />";
         }
     }
     return
$check;
}
//===================================== more functions

// HTML numerical combo.
// for combo input, numerical, return HTML option list
function optionsNList($from, $to, $selected){
    
$options = '';
     for(
$i = $from; $i < $to; $i++) {
       
$options .= "<option value='$i'".($i == $selected ? ' selected = "selected"':'')." >$i</option>\n" ;
        }
     return
$options;
}
 
 function
StyleSheet(){
    return
'<link rel="stylesheet" type="text/css" href="./css/style.css">';
}

// redirect to a different page
function movePage($num,$url){
   static
$http = array (
      
100 => "HTTP/1.1 100 Continue",
      
101 => "HTTP/1.1 101 Switching Protocols",
      
200 => "HTTP/1.1 200 OK",
      
201 => "HTTP/1.1 201 Created",
      
202 => "HTTP/1.1 202 Accepted",
      
203 => "HTTP/1.1 203 Non-Authoritative Information",
      
204 => "HTTP/1.1 204 No Content",
      
205 => "HTTP/1.1 205 Reset Content",
      
206 => "HTTP/1.1 206 Partial Content",
      
300 => "HTTP/1.1 300 Multiple Choices",
      
301 => "HTTP/1.1 301 Moved Permanently",
      
302 => "HTTP/1.1 302 Found",
      
303 => "HTTP/1.1 303 See Other",
      
304 => "HTTP/1.1 304 Not Modified",
      
305 => "HTTP/1.1 305 Use Proxy",
      
307 => "HTTP/1.1 307 Temporary Redirect",
      
400 => "HTTP/1.1 400 Bad Request",
      
401 => "HTTP/1.1 401 Unauthorized",
      
402 => "HTTP/1.1 402 Payment Required",
      
403 => "HTTP/1.1 403 Forbidden",
      
404 => "HTTP/1.1 404 Not Found",
      
405 => "HTTP/1.1 405 Method Not Allowed",
      
406 => "HTTP/1.1 406 Not Acceptable",
      
407 => "HTTP/1.1 407 Proxy Authentication Required",
      
408 => "HTTP/1.1 408 Request Time-out",
      
409 => "HTTP/1.1 409 Conflict",
      
410 => "HTTP/1.1 410 Gone",
      
411 => "HTTP/1.1 411 Length Required",
      
412 => "HTTP/1.1 412 Precondition Failed",
      
413 => "HTTP/1.1 413 Request Entity Too Large",
      
414 => "HTTP/1.1 414 Request-URI Too Large",
      
415 => "HTTP/1.1 415 Unsupported Media Type",
      
416 => "HTTP/1.1 416 Requested range not satisfiable",
      
417 => "HTTP/1.1 417 Expectation Failed",
      
500 => "HTTP/1.1 500 Internal Server Error",
      
501 => "HTTP/1.1 501 Not Implemented",
      
502 => "HTTP/1.1 502 Bad Gateway",
      
503 => "HTTP/1.1 503 Service Unavailable",
      
504 => "HTTP/1.1 504 Gateway Time-out"
  
);
  
header($http[$num]);
  
header ("Location: $url");
   exit;
}

?>