Foros del Web » Programando para Internet » PHP »

Call to a member function on a non-object

Estas en el tema de Call to a member function on a non-object en el foro de PHP en Foros del Web. Saludos, bueno, de nuevo peleando aqui con Php paso a lo siguiente.. tengo 5 ficheros en los cuales trato de eliminar registros con Php, Mysql ...
  #1 (permalink)  
Antiguo 06/01/2009, 13:05
 
Fecha de Ingreso: enero-2008
Ubicación: Valencia
Mensajes: 23
Antigüedad: 16 años, 3 meses
Puntos: 0
Pregunta Call to a member function on a non-object

Saludos, bueno, de nuevo peleando aqui con Php paso a lo siguiente.. tengo 5 ficheros en los cuales trato de eliminar registros con Php, Mysql y Ajax, el problema se da por que no elimina los registros como debería hacerlo, es primera vez que experimento con objetos y no tengo ni idea de que sucede. Paso el code.

CPUNTO.PHP
Código PHP:
<?php
include_once("DBManager.php");
//implementamos la clase
class cpunto{

//constructor
function cpunto(){
}

// consulta los empledos de la BD
function consultar(){
//creamos el objeto $con a partir de la clase DBManager
$con = new DBManager;
//usamos el metodo conectar para realizar la conexion
if($con->conectar()==true){
$query "select * from punto order by id";
$result = @mysql_query($query);
if (!
$result)
return 
false;
else
return 
$result;
}
}
function 
eliminar($id)
{
$con = new DBManager;
if(
$con->conectar()==true)
{
//echo"DELETE FROM punto WHERE id=$id";
$sql="DELETE FROM punto WHERE id='$id'";
$result = @mysql_query($sql);
if (!
$result)
return 
false;
else
return 
$result;
}
//include('consulta.php');
}
}
?>
CONSULTA.PHP
Código PHP:
<?php
//include_once("cpunto.php");
include("cpunto.php");
function 
consulta_simple($objpunto)
{
$consulta$objpunto->consultar();
//muestra los datos consultados
echo "</p>Nombre - Direccion - Contacto</p> n";
while(
$row mysql_fetch_array($consulta)){
echo 
"<p><a style=\"text-decoration:underline;cursor:pointer;\" onclick=\"eliminarDato('".$row['id']."')\">".$row['id']."</a> - ".$row['nombre']." - ".$row['direccion']." - ".$row['contacto']."</p> </br>";
}
}
//++++++++++++++++++++++++ MAIN ++++++++++++++++++++++++++++++
//Sleep deja inactivo el script por n segundos
//n es un parametro, en el ejemplo 1 segundo
//esto para poder apreciar el gif animado
sleep(1);
//creamos el objeto $objempleados de la clase cEmpleado
$objpunto=new cpunto;

switch(
$ope)
{
case 
0://++++consulta simple a base de datos
consulta_simple($objpunto);
break;
case 
1://+++++ Eliminar dato +++++++
$id=$_GET['id'];
$consulta=$objpunto->eliminar($id);
consulta_simple($objpunto);
break;

}

?>
AJAX.JS
Código PHP:
function objetoAjax(){
var 
xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (
e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (
E) {
xmlhttp false;
}
}
if (!
xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return 
xmlhttp;
}

function 
MostrarConsulta(datos){
divResultado document.getElementById('resultado');
divResultado.innerHTML'<img src="anim.gif">';
ajax=objetoAjax();
ajax.open("GET"datos);
ajax.onreadystatechange=function() {
if (
ajax.readyState==4) {
divResultado.innerHTML ajax.responseText
}
}
ajax.send(null)
}
function 
eliminarDato(idempleado){
//donde se mostrará el resultado de la eliminacion
divResultado document.getElementById('resultado');

//usaremos un cuadro de confirmacion
var eliminar confirm("De verdad desea eliminar este punto?")
if ( 
eliminar ) {
//instanciamos el objetoAjax
ajax=objetoAjax();
//uso del medotod GET
//indicamos el archivo que realizará el proceso de eliminación
//junto con un valor que representa el id del empleado
ajax.open("GET""consulta.php?ope=1&idempleado="+idempleado);
ajax.onreadystatechange=function() {
if (
ajax.readyState==4) {
//mostrar resultados en esta capa
divResultado.innerHTML ajax.responseText
}
}
//como hacemos uso del metodo GET
//colocamos null
ajax.send(null)
}

DBMANAGER.PHP
Código PHP:
<?php
//esta clase nos permitira conectarnos a la base de datos
class DBManager{
var 
$conect;
//Método constructor
function DBManager(){
}
//Método que se encargará de la verificar y realizar
//la conexión
function conectar() {
if(!(
$con=@mysql_connect("localhost","usuario","pass"))){
echo
"Error al conectar a la base de datos";
exit();
}
if (!@
mysql_select_db("base de datos",$con)) {
echo 
"Error al seleccionar la base de datos";
exit();
}
$this->conect=$con;
return 
true;
}
}
?>

aqui pueden ver http://www.residenciaslaredo.com/ett/grid/index.html
lo que sucede es que No elimina los registros, muestra la advertencia pero no elimina el registro.

Si me pueden hechar una mano se los agradeceria.
  #2 (permalink)  
Antiguo 06/01/2009, 13:08
 
Fecha de Ingreso: enero-2008
Ubicación: Valencia
Mensajes: 23
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Call to a member function on a non-object

El titulo del post no es correcto, lo siento jeje es que lo solucione mientras escribia el post y luego se me olvido cambiarlo. Espero la ayuda entonces al problema =/
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:50.