He desarrollado un Framework personal, todavia esta en prueba así que tiene unos cuantos defectos.
La idea principal del framework es la integración de varias de las herramientas que se usan a diario para la programación como PHP, MySQL, Xajax, jQuery y CKEditor.
Una de las principales formas de trabajo del frame consiste en no escribir en otro lenguaje que no sea PHP, es decir, no escribiremos HTML, MYSQL, CSS o Javascript (Solo con jQuery si se usa), esto lo hago con el fin de evitar los errores que nos da muchas veces el cierre de las etiquetas, que algunos olvidamos colocar o simplemente para tener un codigo muchisimo mas ordenado
Entonces tengo varias clases como por ejemplo las clases sql y html que son obviamente para escribir las sentencias necesarias
Ahora mi problema:
Las funciones xajax normalemente deben llevar mucho html y sql embedido asi que para evitar errores pretendo crear las instancias de estos objetos dentro de mi funcion xajax
Ahora voy con el codigo:
Código PHP:
class html
{
function div($id = NULL,$contenido,$class = NULL,$align = NULL,$style = NULL)
{
$div = '<div ';
if($id) $div.= 'id = "'.$id.'" ';
if($class) $div.= 'class = "'.$class.'" ';
if($align) $div.= 'align = "'.$align.'" ';
if($style) $div.= 'style = "'.$style.'" ';
$div.= '>';
$div.= $contenido;
$div.= '</div>';
return $div;
}
}
Código PHP:
class sql
{
function sql()
{
return $this->connect(sql_host,sql_user,sql_clave,sql_db);
}
function connect($host,$user,$pass,$db)
{
$error = "";
if(mysql_connect($host,$user,$pass) == false)
{
$error = "No se puede conectar al servidor";
}
elseif(mysql_select_db($db) == false)
{
$error = "No se puede seleccionar la base de datos";
}
if($error != "")
{
$mensaje = $error;
}
else
{
$mensaje = true;
}
return $mensaje;
function fetch_assoc($query)
{
$fetch = mysql_query($query);
while($arr = mysql_fetch_assoc($fetch))
{
$dat[] = $arr;
}
return $dat;
}
}
Bien, ahora escribo mi funcion xajax
Código PHP:
<? require_once(dirname."xajax/xajax_core/xajax.inc.php");
$xajax = new xajax();
$xajax->configure("javascript URI", url."xajax/");
$xajax->configure("setCharEncoding",charset);
function modificar_div($tipo)
{
$html = new html();
$sql = new sql();
$query = "select $tipo from nosotros";
foreach($sql->fetch_assoc($query) as $row)
{
$value = $row[$tipo];
}
$contenido =$html->div(NULL,$value);
$r = new xajaxResponse();
$r->assign($tipo,"innerHTML",$contenido);
return $r;
}
$xajax->register(XAJAX_FUNCTION, "modificar_div");
$xajax->processRequest();
?>
Mi problema es que cuando no hago instancias de los objetos es decir que en vez de escribir $contenido = $html->div(...) escribo $contenido = '<div id = "eldiv">'.$value.'</div>'; la funcion trabaja correctamente al instanciar los objetos pierde completa funcionalidad.
Lo mismo sucede al intentar conectar a la base de datos, no importa si creo la Instancia de SQL o no no se conecta con la base de datos
Les mostrare tambien el arbol de las carpetas para que puedan identificar mejor el problema si eso ayuda
Los archivos seleccionados son los que les he mencionado antes
Por favor, necesito ayuda lo mas pronto posible!