git-svn-id: https://192.168.0.254/svn/Proyectos.ClaveAudio_Web/trunk@2 44ade383-bb54-5b4f-835b-923f7702b206
123 lines
3.5 KiB
PHP
123 lines
3.5 KiB
PHP
<?php
|
|
// ####################################################
|
|
// catop.class.php
|
|
// una clase para crear y gestionar un interface din‡mico
|
|
// © ff 2005
|
|
|
|
/*
|
|
CREATE TABLE $this->tablaDefiniciones (
|
|
catop_id int(11) NOT NULL auto_increment,
|
|
catop_categoria varchar(5) NOT NULL,
|
|
catop_tipo varchar(5) NOT NULL,
|
|
catop_label varchar(32) NOT NULL,
|
|
catop_values text,
|
|
catop_orden tinyint(4),
|
|
PRIMARY KEY (catop_id)
|
|
) TYPE=MyISAM;
|
|
|
|
CREATE TABLE $this->tablaDefiniciones (
|
|
procat_prod_id int(11) NOT NULL default 0,
|
|
procat_catop_id int(11) NOT NULL default 0,
|
|
procat_valor text NOT NULL
|
|
) TYPE=MyISAM;
|
|
*/
|
|
|
|
require_once('mysql.class.php');
|
|
|
|
class catop{
|
|
var $miConexion;
|
|
|
|
var $miDBUser;
|
|
var $miDBPwd;
|
|
var $miDB;
|
|
|
|
var $categoria;
|
|
|
|
var $tablaDefiniciones;
|
|
var $tablaDatos;
|
|
|
|
var $numOfCatops;
|
|
var $curCatop;
|
|
|
|
var $misDatos;
|
|
|
|
// en que casos no paso categoria:
|
|
// - cuando voy a grabar el resultado del interfaz
|
|
// - cuando estoy de paso por la zona, vi luz...
|
|
|
|
function catop($categoria = '') {
|
|
include('catop.config.php');
|
|
|
|
$this->miDBUser = $gConfig['dbuser'];
|
|
$this->miDBPwd = $gConfig['dbpass'];
|
|
$this->miDB = $gConfig['usuarios'];
|
|
|
|
$this->tablaDefiniciones = $gConfig['definicion'];
|
|
$this->tablaDatos = $gConfig['datos'];
|
|
|
|
$this->categoria = (strlen($categoria) ? $categoria : '');
|
|
|
|
$this->miConexion = new datosClass($this->miDBUser, $this->miDBPwd, $this->miDB);
|
|
|
|
$this->numOfCatops = -69;
|
|
$this->curCatop = -69;
|
|
|
|
$this->$misDatos = false;
|
|
}
|
|
|
|
function readCatops($categoria = '', $producto = ''){
|
|
|
|
$this->categoria = (strlen($categoria) ? $categoria : this->categoria);
|
|
if($this->miConexion) {
|
|
|
|
// si me pasan un producto es que estoy mostrando algo previamente grabado
|
|
// relleno un array con los datos grabados para este producto
|
|
if(strlen($producto)){
|
|
if($this->miConexion->query('SELECT procat_catop, procat_valor
|
|
FROM ' . $this->$tablaDatos . '
|
|
' WHERE procat_producto=' . $prod_id))
|
|
{
|
|
$this->misDatos = array();
|
|
while($miRow = $this->miConexion->getNext()) {
|
|
// relleno una matriz con los valores que tengo grabados para este producto
|
|
$dato_tipo = $miRow['procat_catop'];
|
|
$dato_valor = $miRow['procat_valor'];
|
|
$this->misDatos[$dato_tipo] = $dato_valor;
|
|
}
|
|
}
|
|
}
|
|
|
|
if($this->miConexion->query('SELECT catop_id as "id", catop_tipo as "tipo", catop_label as "label", catop_values as "values"
|
|
FROM ' . $this->tablaDefiniciones . '
|
|
WHERE catop_categoria="' . $this->categoria . '"
|
|
ORDER BY catop_orden')) {
|
|
$this->numOfCatops = $this->miConexion->getNumOfRows();
|
|
}
|
|
}
|
|
// si -1 algo va mal, si 0 algo va bien pero no hay resultados.
|
|
return $this->numOfCatops;
|
|
}
|
|
|
|
// devuelve el array en bruto
|
|
// notese que los nombres de los campos de la matriz son
|
|
// id, tipo, label, values, [data]
|
|
// data solo existe si se ha pasado un codigo de producto en readCatops
|
|
// y si hay un dato grabado para el producto y la caracteristica correspondiente.
|
|
function getNextCatop() {
|
|
$miRow = false;
|
|
if($this->miConexion) {
|
|
$miRow = $this->miConexion->getNext();
|
|
if($miRow && $this->misDatos) {
|
|
$miRow['data'] = (is_set($this->misDatos[$miRow['id']]) ? $this->misDatos[$miRow['id']] : '');
|
|
}
|
|
}
|
|
return $miRow;
|
|
}
|
|
|
|
// esta funcion depende de las globales $_REQUEST
|
|
function insertCatops($key) {
|
|
|
|
|
|
}
|
|
}
|
|
?>
|