Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/04/2005, 16:31
masterhades
 
Fecha de Ingreso: agosto-2004
Mensajes: 258
Antigüedad: 22 años, 1 mes
Puntos: 0
Pregunta me podrian ayudar con este codigo please??

Que tal amigos, tengo una consultilla, estoy entrando recien a entender mas o menos las clases tome esta de ejmplo y bueno le hice uno que otro pequeñisimo cambio, asi que lo prove con un script que encontre por ahi, el cual me visualiza, modifica, borra e ingresa datos a una base de datos, me hace todo menos INSERTAR, y no veo porque..... espero que alguno pueda decirme que me falta o que estoy haciendo mal, esta es la clase que estoy usando:

Código PHP:
<?php

//Aca empieza la Clase
class DB_mysql 
{

/* variables de conexión */
var $BaseDatos;
var 
$Servidor;
var 
$Usuario;
var 
$Clave;

/* identificador de conexión y consulta */
var $Conexion_ID = 0;
var 
$Consulta_ID = 0;

/* número de error y texto error */
var $Errno = 0;
var 
$Error = "";

/* Método Constructor: Cada vez que creemos una variable de esta clase, se ejecutará esta función */
function DB_mysql($bd = "prueba", $host = "localhost", $user = "root", $pass = "") 
{
    
$this->BaseDatos = $bd;
    
$this->Servidor = $host;
    
$this->Usuario = $user;
    
$this->Clave = $pass;
}

/*Conexión a la base de datos*/
function conectar($bd, $host, $user, $pass)
{
    if (
$bd != "") $this->BaseDatos = $bd;
    if (
$host != "") $this->Servidor = $host;
    if (
$user != "") $this->Usuario = $user;
    if (
$pass != "") $this->Clave = $pass;
    
    
// Conectamos al servidor
    
$this->Conexion_ID = mysql_connect($this->Servidor, $this->Usuario, $this->Clave);
    if (!
$this->Conexion_ID) 
    {
        
$this->Error = "Ha fallado la conexión.";
        return 
0;
    }

    
//seleccionamos la base de datos
    
if (!@mysql_select_db($this->BaseDatos, $this->Conexion_ID)) 
    {
        
$this->Error = "Imposible abrir ".$this->BaseDatos ;
        return 
0;
    }

    
/* Si hemos tenido éxito conectando devuelve el identificador de la conexión, sino devuelve 0 */
    
return $this->Conexion_ID;
}

/* Ejecuta un consulta */
function consulta($sql = "")
{
    if (
$sql == "") 
    {
        
$this->Error = "No ha especificado una consulta SQL";
        return 
0;
    }

    
//ejecutamos la consulta
    
$this->Consulta_ID = @mysql_query($sql, $this->Conexion_ID);
    if (!
$this->Consulta_ID) 
    {
        
$this->Errno = mysql_errno();
        
$this->Error = mysql_error();
    }
    
    
/* Si hemos tenido éxito en la consulta devuelve el identificador de la conexión, sino devuelve 0 */
    
return $this->Consulta_ID;
}

/* Devuelve el número de campos de una consulta */
function numcampos() 
{
    return 
mysql_num_fields($this->Consulta_ID);
}

/* Devuelve el número de registros de una consulta */
function numregistros()
{
    return 
mysql_num_rows($this->Consulta_ID);
}

/* Devuelve el nombre de un campo de una consulta */
function nombrecampo($numcampo) 
{
    return 
mysql_field_name($this->Consulta_ID, $numcampo);
}

/* Muestra los datos de una consulta */
function verconsulta() 
{
    echo 
"<table border=1>\n";

    
// mostramos los nombres de los campos
    
    
for ($i = 0; $i < $this->numcampos(); $i++)
    {
        echo 
"<td><b>".$this->nombrecampo($i)."</b></td>\n";
    }
    
    echo 
"</tr>\n";

    
// mostrarmos los registros
    
while ($row = mysql_fetch_array($this->Consulta_ID)) 
    {
        echo 
"<tr> \n";
        for (
$i = 0; $i < $this->numcampos(); $i++)
        {
            echo 
"<td>".$row[$i]."</td>\n";
        }
        echo 
"<td><a href=\"$PHP_SELF?id=".$row["id"]."&delete=yes\">Borrar</a>";
        echo 
"<td><a href=\"$PHP_SELF?id=".$row["id"]."\">modificar</a>";
        
    echo 
"</tr>\n";
    }
}

} 
//fin de la Clse DB_mysql

?>
y bueno el codigo que les digo es este:

Código PHP:
<html>

<body>

<?php

require ("clase.php");
$mc = new DB_mysql ;
$mc->conectar();
$mc->consulta("SELECT * FROM agenda");

if (
$enviar)
{
    if (
$id)
    {
        
$mc->consulta("UPDATE agenda SET nombre='$nombre',direccion='$direccion',telefono='$telefono',email='$email' where id=$id");
        echo 
"Registro Actualizado";
    }else
        {
        
$mc->consulta("INSERT INTO agenda (nombre,direccion,telefono,email) VALUES ('$nombre','direccion','telefono','email'");    
        echo 
"Registro Añadido";
        }
}elseif(
$delete)
    {
    
$mc->consulta("DELETE FROM agenda WHERE id=$id");
    echo 
"Registro Borrado";
    }else
        {
            if(!
$id)
            {
                
$mc->verconsulta();
            }
        }
?>

<p><a href="<? echo $PHP_SELF;?>">Añadir un registro</a></p>

<form method="get" action="<?php echo $PHP_SELF; ?>">

<?

if($id)
{
$result=$mc->consulta("SELECT * FROM agenda WHERE id=$id");

$row=mysql_fetch_array($result);

$id=$row["id"];
$nombre=$row["nombre"];
$direccion=$row["direccion"];
$telefono=$row["telefono"];
$email=$row["email"];

echo 
"<input type=hidden name=\"id\" value=$id>";
}
?>

Nombre    :<input type="Text" name="nombre" value="<?php echo $nombre ?>"><br>
Dirección :<input type="Text" name="direccion" value="<?php echo $direccion ?>"><br>
Telefono  :<input type="Text" name="telefono" value="<?php echo $telefono ?>"><br>
Email     :<input type="Text" name="email" value="<?php echo $email ?>"><br>
           <input type="Submit" name="enviar" value="Enviar Información">

</form>


</body>

</html>
espero me puedan ayudar, no logro dar con que estoy haciendo mal.... gracias por su tiempo.