Foros del Web » Programando para Internet » PHP »

me podrian ayudar con este codigo please??

Estas en el tema de me podrian ayudar con este codigo please?? en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 26/04/2005, 17:31
 
Fecha de Ingreso: agosto-2004
Mensajes: 258
Antigüedad: 13 años, 4 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 ([email protected]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.
  #2 (permalink)  
Antiguo 27/04/2005, 17:09
DracoTronick
Invitado
 
Mensajes: n/a
Puntos:
Hola
Me parece que tu error esta aca

$mc->consulta("INSERT INTO agenda (nombre,direccion,telefono,email) VALUES ('$nombre','direccion','telefono','email'");
echo "Registro Añadido";

Primero, te faltan los $ en las variables y ademas de esto las comillas de cierre tienen que ir fuera del parentesis, quedaria algo asi:

$mc->consulta("INSERT INTO agenda (nombre,direccion,telefono,email) VALUES ('$nombre','$direccion','$telefono','$email')");
echo "Registro Añadido";

Suerte y a prestar mas atencion!! :P
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 18:51.