Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/04/2005, 16:31
masterhades
 
Fecha de Ingreso: agosto-2004
Mensajes: 258
Antigüedad: 19 años, 8 meses
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.