Foros del Web » Programando para Internet » PHP »

travajar php con base de datos update.

Estas en el tema de travajar php con base de datos update. en el foro de PHP en Foros del Web. primero queria hacerles un pregunta. es posible consultar la ID de un usuario en la tabla 'A' luego buscar la ID en la tabla 'B' ...
  #1 (permalink)  
Antiguo 24/10/2009, 19:42
 
Fecha de Ingreso: mayo-2009
Mensajes: 200
Antigüedad: 15 años
Puntos: 7
Exclamación travajar php con base de datos update.

primero queria hacerles un pregunta.

es posible consultar la ID de un usuario en la tabla 'A' luego buscar la ID en la tabla 'B' y si ya existe esa ID upgradear los datos.

el problema es que no deverian de upgradearce todo solo un parte:

esta es la estrucctura de la tabla que se va a upgradear:

Código:
CREATE TABLE IF NOT EXISTS `pj` (
  `ID` int(8) unsigned NOT NULL COMMENT 'Identifica Numero De Personaje',
  `activate` int(1) unsigned NOT NULL DEFAULT '0' COMMENT 'Finalisa la creacion del personaje',
  `namepj` varchar(40) CHARACTER SET latin1 NOT NULL COMMENT 'Nombre del Personaje',
  `cname` int(1) NOT NULL COMMENT 'Chequea estado' DEFAULT '0',
  `cid` int(1) NOT NULL COMMENT 'Chequea estado' DEFAULT '0',
  `duen` int(6) NOT NULL COMMENT 'Dueño del Personaje',
  `raza` int(3) NOT NULL COMMENT 'Raza Del Personaje',
  `prof` int(4) NOT NULL COMMENT 'Profesión',
  `hibrid` int(4) NOT NULL COMMENT 'Profesión Secundaria',
  `sexo` int(1) NOT NULL COMMENT 'Sexo',
  `edad` int(10) NOT NULL COMMENT 'Edad',
  `orig` int(5) NOT NULL COMMENT 'Lugar De Origen O De Donde Viene',
  `apa` varchar(250) CHARACTER SET latin1 NOT NULL COMMENT 'Apariencia Del Personaje',
  `frs` int(6) NOT NULL COMMENT 'Fuerza',
  `dest` int(6) NOT NULL COMMENT 'Destresa',
  `sab` int(6) NOT NULL COMMENT 'Saber',
  `vig` int(6) NOT NULL COMMENT 'Vigor',
  `esp` int(6) NOT NULL COMMENT 'Espíritu',
  `fat` int(6) NOT NULL COMMENT 'Fatiga',
  `dan1` int(6) NOT NULL COMMENT 'Daño De Armas de Una Mano',
  `dan2` int(6) NOT NULL COMMENT 'daño de armas de de dos manos',
  `bon1` int(6) NOT NULL COMMENT 'Bonificación Daño De Armas De Una Mano',
  `bon2` int(6) NOT NULL COMMENT 'Bonificación Daño De Armas De Dos Manos',
  `bonext1` int(6) NOT NULL COMMENT 'Bonificación Extra Daño De Armas De Una Manos',
  `bonext2` int(6) NOT NULL COMMENT 'Bonificación Extra Daño De Armas De Dos Manos',
  `vida` int(10) NOT NULL COMMENT 'Vida Del Personaje',
  `mana` int(10) NOT NULL COMMENT 'Mana Del Personaje',
  `bvida1` int(10) NOT NULL COMMENT 'Bonificación De Vida Del Personaje',
  `bvida2` int(10) NOT NULL COMMENT 'Bonificación De Vida Del Personaje',
  `bvida3` int(10) NOT NULL COMMENT 'Bonificación De Vida Del Personaje',
  `bmana1` int(10) NOT NULL COMMENT 'Bonificación De Mana Del Personaje',
  `bmana2` int(10) NOT NULL COMMENT 'Bonificación De Mana Del Personaje',
  `bmana3` int(10) NOT NULL COMMENT 'Bonificación De Mana Del Personaje',
  `carga` decimal(8,2) NOT NULL COMMENT 'Peso Que Lleva Encima El Personaje',
  `vbasica` decimal(8,2) NOT NULL COMMENT 'Velocidad Básica Del Personaje',
  `mov` decimal(8,2) NOT NULL COMMENT 'Movimiento Con Carga Del Personaje',
  `esq` decimal(8,2) NOT NULL COMMENT 'Esquivar',
  `parr` decimal(8,2) NOT NULL COMMENT 'Parrear',
  `bloq` decimal(8,2) NOT NULL COMMENT 'Bloquear',
  `tecn` decimal(8,2) NOT NULL COMMENT 'Capacidad de Tecnología',
  `vent1` int(6) NOT NULL COMMENT 'Ventaja Del Personaje',
  `vent2` int(6) NOT NULL COMMENT 'Ventaja Del Personaje',
  `vent3` int(6) NOT NULL COMMENT 'Ventaja Del Personaje',
  `vent4` int(6) NOT NULL COMMENT 'Ventaja Del Personaje',
  `vent5` int(6) NOT NULL COMMENT 'Ventaja Del Personaje',
  `vent6` int(6) NOT NULL COMMENT 'Ventaja Del Personaje',
  `vent7` int(6) NOT NULL COMMENT 'Ventaja Del Personaje',
  `vent8` int(6) NOT NULL COMMENT 'Ventaja Del Personaje',
  `vent9` int(6) NOT NULL COMMENT 'Ventaja Del Personaje',
  `vent10` int(6) NOT NULL COMMENT 'Ventaja Del Personaje',
  `dvent1` int(6) NOT NULL COMMENT 'Desventaja Del Personaje',
  `dvent2` int(6) NOT NULL COMMENT 'Desventaja Del Personaje',
  `dvent3` int(6) NOT NULL COMMENT 'Desventaja Del Personaje',
  `dvent4` int(6) NOT NULL COMMENT 'Desventaja Del Personaje',
  `dvent5` int(6) NOT NULL COMMENT 'Desventaja Del Personaje',
  `dvent6` int(6) NOT NULL COMMENT 'Desventaja Del Personaje',
  `dvent7` int(6) NOT NULL COMMENT 'Desventaja Del Personaje',
  `hab1` int(4) NOT NULL COMMENT 'Habilidad Del Personaje',
  `hab2` int(4) NOT NULL COMMENT 'Habilidad Del Personaje',
  `hab3` int(4) NOT NULL COMMENT 'Habilidad Del Personaje',
  `hab4` int(4) NOT NULL COMMENT 'Habilidad Del Personaje',
  `hab5` int(4) NOT NULL COMMENT 'Habilidad Del Personaje',
  `hab6` int(4) NOT NULL COMMENT 'Habilidad Del Personaje',
  `hab7` int(4) NOT NULL COMMENT 'Habilidad Del Personaje',
  `hab8` int(4) NOT NULL COMMENT 'Habilidad Del Personaje',
  `hab9` int(4) NOT NULL COMMENT 'Habilidad Del Personaje',
  `fuego` int(4) NOT NULL COMMENT 'Resistencia A Magia De Tipo Fuego',
  `hielo` int(4) NOT NULL COMMENT 'Resistencia A Magia De Tipo Hielo',
  `agua` int(4) NOT NULL COMMENT 'Resistencia A Magia De Tipo Agua',
  `viento` int(4) NOT NULL COMMENT 'Resistencia A Magia De Tipo Viento',
  `tierra` int(4) NOT NULL COMMENT 'Resistencia A Magia De Tipo Tierra',
  `arcana` int(4) NOT NULL COMMENT 'Resistencia A Magia De Tipo Arcana',
  `luz` int(4) NOT NULL COMMENT 'Resistencia A Magia De Tipo Luz',
  `sombras` int(4) NOT NULL COMMENT 'Resistencia A Magia De Tipo Sombra',
  `tiempo` int(4) NOT NULL COMMENT 'Resistencia A Magia De Tipo Tiempo',
  `energia` int(4) NOT NULL COMMENT 'Resistencia A Magia De Tipo Energía',
  `mente` int(4) NOT NULL COMMENT 'Resistencia A Magia De Tipo Mente',
  `conti` varchar(2) CHARACTER SET latin1 DEFAULT NULL COMMENT 'Ubicación Del Continente',
  `mazmo` varchar(2) CHARACTER SET latin1 DEFAULT NULL COMMENT 'Ubicación Del Mazmorra',
  `cty` varchar(2) CHARACTER SET latin1 DEFAULT NULL COMMENT 'Ubicación Del Ciudad',
  `mapax` decimal(8,2) NOT NULL COMMENT 'Ubicación Coordenada x',
  `mapay` decimal(8,2) NOT NULL COMMENT 'Ubicación Coordenada y',
  `mapaz` decimal(8,2) NOT NULL COMMENT 'Ubicación Coordenada z',
  `crist` int(5) NOT NULL COMMENT 'Cristales',
  `gemi` int(5) NOT NULL COMMENT 'Gemas',
  `oro` int(15) NOT NULL COMMENT 'Cantidad De Monedas De Oro Portado',
  `plat` int(5) NOT NULL COMMENT 'Cantidad De Monedas De Plata Portado',
  `cob` int(5) NOT NULL COMMENT 'Cantidad De Monedas De Cobre Portado',
  `obj1` int(4) NOT NULL COMMENT 'Objetos Que Portas',
  `obj2` int(4) NOT NULL COMMENT 'Objetos Que Portas',
  `obj3` int(4) NOT NULL COMMENT 'Objetos Que Portas',
  `obj4` int(4) NOT NULL COMMENT 'Objetos Que Portas',
  `obj5` int(4) NOT NULL COMMENT 'Objetos Que Portas',
  `obj6` int(4) NOT NULL COMMENT 'Objetos Que Portas',
  `obj7` int(4) NOT NULL COMMENT 'Objetos Que Portas',
  `obj8` int(4) NOT NULL COMMENT 'Objetos Que Portas',
  `obj9` int(4) NOT NULL COMMENT 'Objetos Que Portas',
  `obj10` int(4) NOT NULL COMMENT 'Objetos Que Portas',
  `obj11` int(4) NOT NULL COMMENT 'Objetos Que Portas',
  `obj12` int(4) NOT NULL COMMENT 'Objetos Que Portas',
  `obj13` int(4) NOT NULL COMMENT 'Objetos Que Portas',
  `bag1` int(4) NOT NULL COMMENT 'Bolsa De Objetos Que Portas',
  `bag2` int(4) NOT NULL COMMENT 'Bolsa De Objetos Que Portas',
  `bag3` int(4) NOT NULL COMMENT 'Bolsa De Objetos Que Portas',
  `bag4` int(4) NOT NULL COMMENT 'Bolsa De Objetos Que Portas',
  `bag5` int(4) NOT NULL COMMENT 'Bolsa De Objetos Que Portas',
  `arm1` int(4) NOT NULL COMMENT 'Cabeza',
  `arm2` int(4) NOT NULL COMMENT 'Tronco',
  `arm3` int(4) NOT NULL COMMENT 'Pierna',
  `arm4` int(4) NOT NULL COMMENT 'Hombro',
  `arm5` int(4) NOT NULL COMMENT 'Guante',
  `arm6` int(4) NOT NULL COMMENT 'Anillo 1',
  `arm7` int(4) NOT NULL COMMENT 'Anillo 2 ',
  `arm8` int(4) NOT NULL COMMENT 'Anillo 3',
  `arm9` int(4) NOT NULL COMMENT 'Anillo 4',
  `arm10` int(4) NOT NULL COMMENT 'Arete 1',
  `sp1` int(4) NOT NULL COMMENT 'Magia Del Personaje',
  `sp2` int(4) NOT NULL COMMENT 'Magia Del Personaje',
  `sp3` int(4) NOT NULL COMMENT 'Magia Del Personaje',
  `sp4` int(4) NOT NULL COMMENT 'Magia Del Personaje',
  `sp5` int(4) NOT NULL COMMENT 'Magia Del Personaje',
  `sp6` int(4) NOT NULL COMMENT 'Magia Del Personaje',
  `sp7` int(4) NOT NULL COMMENT 'Magia Del Personaje',
  `sp8` int(4) NOT NULL COMMENT 'Magia Del Personaje',
  `sp9` int(4) NOT NULL COMMENT 'Magia Del Personaje',
  `sp10` int(4) NOT NULL COMMENT 'Magia Del Personaje',
  `sp11` int(4) NOT NULL COMMENT 'Magia Del Personaje',
  `ptga` int(5) NOT NULL COMMENT 'Puntaje Ganados En La Partida',
  `totpt` int(5) NOT NULL COMMENT 'Total De Puntos',
  `secu` decimal(9,3) NOT NULL COMMENT 'Secuencia Del Personaje',
  PRIMARY KEY (`ID`),
  UNIQUE KEY `duen` (`duen`),
  UNIQUE KEY `namepj` (`namepj`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci ROW_FORMAT=DYNAMIC;
  #2 (permalink)  
Antiguo 24/10/2009, 19:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: travajar php con base de datos update.

a tu primer pregunta... si, es posible...

una ves obtienes dicho ID de tu primer tabla, lo almacenas en una variable y con dicha variable haces una segunda consulta a la segunda tabla...

y por tu segunda duda, no siempre es necesario actualizar todos los campos... solo algunos, los que quieras!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 24/10/2009, 19:52
 
Fecha de Ingreso: mayo-2009
Mensajes: 200
Antigüedad: 15 años
Puntos: 7
Exclamación

esto es solo lo que quiero upgradear

mysql_query("UPDATE pj SET namepj = '{$namepj}', raza = '{$raza}', prof = '{$prof}', hibrid = '{$hibrid}', edad = '{$edad}', apa ='{$apa}' WHERE ID='$id' ");

pero no lo hace es mas imptimi las variables y todfo bien pero a la hora de revisar la base de datos dice que la tabla esta vacia

el problema es que no se si por alguna rason la tabla no me asepta insertar los datos mando a imprimir si existe algun errror y no me manda nada.

este es el codigo php que utiliso para hacer insertar los datos en la primera tabla.


Código PHP:
<?php
//Primero comprovamos datos que no esten vacion
session_start();
if(isset(
$_POST['username']) && !empty($_POST['username']) &&
    isset(
$_POST['password']) && !empty($_POST['password']) &&
    isset(
$_POST['password2']) && !empty($_POST['password2']) &&
    isset(
$_POST['nombre']) && !empty($_POST['nombre']) &&
    isset(
$_POST['apellido']) && !empty($_POST['apellido']) &&
    isset (
$_POST['telefono']) && !empty($_POST['telefono']) &&
    isset (
$_POST['email']) && !empty($_POST['email'])) {
//pasamos las variables:
    
$username=$_POST['username'];
    
$password=$_POST['password'];
    
$password2=$_POST['password2'];
    
$nombre=$_POST['nombre'];
    
$apellido=$_POST['apellido'];
    
$telefono=$_POST['telefono'];
    
$email=$_POST['email'];
    
$check=0;
//entrando a la base de datos
    
$link mysql_connect('127.0.0.1','root','1465');
    
mysql_select_db('ged',$link);
//Seccion de funciones y demas
//añadimos la funcion que se encargara de generar un numero aleatorio 
/*    function genera_random($longitud){  
    $exp_reg="[^A-Z0-9]";  
    return substr(eregi_replace($exp_reg, "", md5(rand())) .  
    eregi_replace($exp_reg, "", md5(rand())) .  
    eregi_replace($exp_reg, "", md5(rand())),  
    0, $longitud);}*/
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían 
    
$checkuser mysql_query("SELECT username FROM user WHERE username='$username'"); 
    
$username_exist mysql_num_rows($checkuser);
    
$checkemail mysql_query("SELECT email FROM user WHERE email='$email'"); 
    
$email_exist mysql_num_rows($checkemail);
    if (
$email_exist>0) {
        
header('refresh:10; url=/regedit.html');
        echo 
"La cuenta de correo estan ya en uso.<br>";
        echo 
"Utilice otra Cuenta de correo electronico.<br>";
    }else{ 
        if (
$username_exist>0) {
            
header ('refresh:10; url=/regedit.html');
            echo 
"El nombre de usuario esta ya en uso.<br>";
            echo 
"Utilice otra Nombre de Usuario.<br>";
        }else{
//agregamos la variable $activate que es un numero aleatorio de  
//20 digitos crado con la funcion genera_random de mas arriba 
//            $activate = genera_random(20);   
//aqui es donde insertamos los nuevos valosres en la BD  activate y el valor 1 que es desactivado
//Comprobacion de la password
            
if($password!=$password2) { 
                
header('refresh:10; url=/regedit.html');
                echo 
"Las contraseñas no coinciden<br>";
                echo 
"Por Favor utilice una Contraseña valida<br> <br>";
                echo 
"Si tiene algun problema en crear su cuenta por favor enviar un correo a [email protected].<br>";
            }else{    
//comprobar Correo electronico
                
$cemail=($_POST['email']);
                if ( 
filter_var($cemailFILTER_VALIDATE_EMAIL) == TRUE){
//pasamos la password a encriptacion:
                    
$encript md5($_POST['password']);
// con esta sentencia insertamos los datos en la base de datos XD
                    
mysql_query("INSERT INTO user (username,password,nombre,apellido,telefono,email,ucheck,mcheck) 
                    VALUES ('{$username}','{$encript}','{$nombre}','{$apellido}','{$telefono}','{$email}','{$check}','{$check}')"
,$link);
// Ahora comprobaremos que todo ha ido correctamente
                    
$my_error mysql_error($link);
                    if(!empty(
$my_error)){
                        
header('refresh:10; url=/regedit.html');
                        echo 
"Ha habido un error al insertar los valores. $my_error";
                    }else{
                        
$idpj mysql_query("SELECT ID FROM user WHERE username='$username'");
                        
mysql_query("INSERT INTO pj (ID)
                        VALUES ('{$idpj}')"
,$link);
                        
header('refresh:10; url=/jj.php');
                        echo 
"Los datos han sido introducidos satisfactoriamente.<br>";
                        echo 
"Bienvenido no hay partida en estos momentos pero puedes entrar y solicitarlas.<br>";}
                        echo 
"Bienvenido no hay partida en estos momentos pero puedes entrar y solicitarlas.<br>";}
                        echo (
"<a href='jj.php'>entra a tu a la sesion y solicita una</a>");
                }else{
                    
header('refresh:10; url=/regedit.html');
                    echo 
"Direccion de correo invalida, Por Favor utilice un correo con el siguiente formato:<br> <br>";
                    echo 
"[email protected] <br><br>";
                    echo 
"Sugerimos los siguientes proveedores:<br><br>";
                    echo 
"Hotmail<br>";
                    echo 
"Gmail<br>";
                    echo 
"Yahoo<br>";
                }
            }
        }
    }
}else{
    
header('refresh:10; url=/regedit.html');
    echo 
"Error, no ha introducido todos los datos";}
?>

y esta es el codigo php que utiliso para insertar y actualisar los datos de la segunda tabla.

Código PHP:
<?php
ob_start
();
session_start();
//Configuracion de la cuenta
include("config/config.php");
//conectamos ala cuenta
mysql_connect ($dbhost$dbusername$dbuserpass);
mysql_select_db($dbname) or die('No se puede seleccionar la base de datos');
//comprobamos la secion
//sacamos la info de la BD tabla user
$iddata mysql_query("SELECT ID,username FROM user") or die(mysql_error());
//la pasamos a array
$beta mysql_fetch_array($iddata);
//y estraemos el valor de ID en la tabla user
$info $beta['ID'];
//sacamos la info de la BD tabla pj
$iddatab mysql_query("SELECT ID,namepj FROM pj WHERE ID = '$info'") or die(mysql_error());
//la pasamos a array
$dbt mysql_fetch_array($iddatab);
//y estraemos el valor de ID en la tabla pj
$dbtz $dbt['ID'];
//comparacion de las dos ID
if ($info == $dbtz) {
//manda a crear el personaje
    
header('refresh:1; url=play.html');
}else{
//manda a la sala de juegos
    
header('refresh:5; url=create.html');
    echo 
"$info.<br>";
    echo 
"$dbtz.<br>";
}
ob_end_flush();
?>

luego ago esto:


Código PHP:
<?php
ob_start
();
session_start();
if(isset(
$_POST['namepj']) && !empty($_POST['namepj'])){
    
$user=$_POST['user'];
    
$namepj=$_POST['namepj'];
    
$raza=$_POST['raza'];
    
$prof=$_POST['prof'];
    if(
$prof==0000){
        
header('refresh:10; url=/create.html');
        echo 
"Error, no ha introducido una Profecion correcta";
    }else{
        
$hibrid=$_POST['hibrid'];
        
$edad=$_POST['edad'];
        
$apa=$_POST['apa'];
        
$check=0;
        include(
"config/config.php");
    
// ya puedes acceder a la seccion de ".'<a href="members.php">Miembros</a>'."
    // Conectar a la base de datos
        
mysql_connect ($dbhost$dbusername$dbuserpass);
        
mysql_select_db($dbname) or die('No se puede seleccionar la base de datos');
        
$cnamepj mysql_query("SELECT namepj FROM pj WHERE namepj='$namepj'"); 
        
$namepj_exist mysql_num_rows($cnamepj);
        
$cid mysql_query("SELECT ID FROM pj WHERE ID='$id'"); 
        
$id_exist mysql_num_rows($cnamepj);
        
$act mysql_query("SELECT activate FROM pj WHERE namepj='$namepj'");
        if (
act>0){
            
header('refresh:20; url=/create.html');
            echo 
"Ya existe un personaje activado a esta cuenta.<br>";
        }else{
            if (
$namepj_exist>0) {
                
header('refresh:20; url=/create.html');
                echo 
"El nombre del personaje esta en uso.<br>";
                echo 
"Por favor utilice otro.<br>";
                echo 
"Por favor mandar un correo electrónico a [email protected]  con la siguiente información:<br>";
                echo 
"Nombre de la Cuenta.<br>";
                echo 
"Nombre del personaje a utilizar.<br>";
            }else{
                if (
$id_exist>0) {
                    
header('refresh:10; url=/index.html');
                    echo 
"El numero de ID esta colapsado.<br>";
                    echo 
"Por favor mandar un correo electrónico a [email protected]  con la siguiente información:<br>";
                    echo 
"Nombre de la Cuenta.<br>";
                    echo 
"Nombre del personaje a utilizar.<br>";
                }else{
                    
$idpj mysql_query("SELECT ID FROM user WHERE username='$user'") or die(mysql_error());
                    
$idpj mysql_fetch_array($idpj);
                    
$id $idpj[ID];
                    
$activate mysql_query("SELECT activate FROM pj WHERE ID='$id'");
                    if(
$activate == 1){
                        echo 
"Ha habido un error al insertar los valores.";
                        echo 
"Por favor mandar un correo electrónico a [email protected] con la siguiente información:<br>";
                        echo 
"Error ya existe un personaje creado a su Cuenta<br>";
                        echo 
"Nombre de la Cuenta.<br>";
                        echo 
"Nombre del personaje a utilizar.<br>";
                    }else{
                        
mysql_query("UPDATE pj SET namepj = '{$namepj}', raza = '{$raza}', prof = '{$prof}',  hibrid = '{$hibrid}', edad = '{$edad}', apa ='{$apa}' WHERE ID='$id' ");
    
// Ahora comprobaremos que todo ha ido correctamente
                        
if(!empty($my_error)){
                            
header('refresh:20; url=/create.html');
                            echo 
"Ha habido un error al insertar los valores. $my_error";
                            echo 
"Por favor mandar un correo electrónico a [email protected]  con la siguiente información:<br>";
                            echo 
"Este ERROR: $my_error<br>";
                            echo 
"Nombre de la Cuenta.<br>";
                            echo 
"Nombre del personaje a utilizar.<br>";
                        }else{
                            
header('refresh:10; url=/create2.html');
                            
mysql_error();
                            echo 
"Almacenando Informacion...Por favor espere.<br>";
                            echo 
"ID: $id<br>";
                            echo 
"namepj: $namepj<br>";
                            echo 
"raza: $raza<br>";
                            echo 
"prof: $prof<br>";
                            echo 
"hibrid: $hibrid<br>";
                            echo 
"edad: $edad<br>";
                            echo 
"apa: $apa";
                            
                        }
                    }
                }
            }
        
        }
    }
}else{
    echo 
"<meta http-equiv='refresh' content='20;url=/create.html' />";
    echo 
"Error, no ha introducido todos los datos";}
ob_end_flush();
?>

Última edición por GatorV; 26/10/2009 a las 09:32
  #4 (permalink)  
Antiguo 24/10/2009, 20:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: travajar php con base de datos update.

por favor, siempre depura tus consultas...
Código PHP:
mysql_query(/* tu consulta */) OR die(mysql_error()); 
así, si ocurre un error te lo mostrará inmediatamente...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 24/10/2009, 20:05
 
Fecha de Ingreso: mayo-2009
Mensajes: 200
Antigüedad: 15 años
Puntos: 7
Exclamación Respuesta: travajar php con base de datos update.

Cita:
Iniciado por pateketrueke Ver Mensaje
por favor, siempre depura tus consultas...
Código PHP:
mysql_query(/* tu consulta */) OR die(mysql_error()); 
así, si ocurre un error te lo mostrará inmediatamente...
pate no te entiendo, la consulta que devo hacer para que me arroje el error no la se, y tampoco en donde devo meter eso que me indicas.
  #6 (permalink)  
Antiguo 24/10/2009, 20:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: travajar php con base de datos update.

Cita:
Iniciado por arcanisgk1 Ver Mensaje
pate no te entiendo, la consulta que devo hacer para que me arroje el error no la se, y tampoco en donde devo meter eso que me indicas.
mmm...

me refiero a cualquier consulta que hagas... ¡no debes crear nada mas !!
Cita:
Iniciado por arcanisgk1 Ver Mensaje
esto es solo lo que quiero upgradear

mysql_query("UPDATE pj SET namepj = '{$namepj}', raza = '{$raza}', prof = '{$prof}', hibrid = '{$hibrid}', edad = '{$edad}', apa ='{$apa}' WHERE ID='$id' ");

[...]
como te digo, si dices que el UPDATE no lo hace...
Cita:
mysql_query("UPDATE pj SET namepj = '{$namepj}', raza = '{$raza}', prof = '{$prof}', hibrid = '{$hibrid}', edad = '{$edad}', apa ='{$apa}' WHERE ID='$id' ") or die(mysql_error());
usa tu sentido común... ¿entiendes???
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 24/10/2009, 20:19
 
Fecha de Ingreso: mayo-2009
Mensajes: 200
Antigüedad: 15 años
Puntos: 7
Exclamación Respuesta: travajar php con base de datos update.

te lo juro que no me manda ningun error pueser que el error venga de mas atras?
  #8 (permalink)  
Antiguo 24/10/2009, 20:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: travajar php con base de datos update.

Cita:
Iniciado por arcanisgk1 Ver Mensaje
te lo juro que no me manda ningun error pueser que el error venga de mas atras?
es mera lógica, recuerda que las sentencias se ejecutan de arriba hacia abajo... y si no llegan a ese punto, si... hay algo mal antes!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 24/10/2009, 21:45
 
Fecha de Ingreso: septiembre-2009
Ubicación: Neuquén
Mensajes: 142
Antigüedad: 14 años, 7 meses
Puntos: 12
Respuesta: travajar php con base de datos update.

Yo creo que te RE (contra re-mil contra) convendria optimizar tu tabla... Se puede organizar mejor, en diferentes tablas, por ejemplo...

¡Saludos!

P.D.: Otra cosa... Trabajar va con B larga xD
  #10 (permalink)  
Antiguo 25/10/2009, 02:27
 
Fecha de Ingreso: mayo-2009
Mensajes: 200
Antigüedad: 15 años
Puntos: 7
Exclamación Respuesta: travajar php con base de datos update.

primero que nada gracias a todos por su colaboracion.
he limpiado el codigo con el que estoy trabajando haora mismo y al utilisarlo correctamente le pido al final que me imprima las variables.

el primer codigo que utiliso es el siguiente:

primero creo la cuenta de usuario:
Código PHP:
mysql_query("INSERT INTO user (username,password,nombre,apellido,telefono,email,ucheck,mcheck) 
                    VALUES ('{$username}','{$encript}','{$nombre}','{$apellido}','{$telefono}','{$email}','{$check}','{$check}')"
,$link); 
luego que se crea el usuario solicito que busque la id del usuario y la meta en otra tabla donde el unico contenido es la id y todo lo demas es 0

Código PHP:
$idpj mysql_query("SELECT id FROM user WHERE username='$username'");
                        
$ids $idpj;
                        
mysql_query("INSERT INTO pj (id) VALUES ('{$idpj}')",$link); 
como me preguntaron de donde sale $link bueno aki se lo muestro:

Código PHP:
$link mysql_connect($dbhost$dbusername$dbuserpass);
    
mysql_select_db($dbname,$link) or die('No se puede seleccionar la base de datos');
$my_error mysql_error($link); 
cuando reviso la Id del usuario es 0001, cuando reviso la Id del Pj me marca 0, esto no deveri pasar si estoy asignando el mismo valor,por que cambia.

haora todo pasa y no manda errores, y me manda a al siguiente paso que es donde se le agregan datos a la tabla de Pj osea el update de la siguiente manera:

Código PHP:
$idpj mysql_query("SELECT id FROM user WHERE username='$user'") or die(mysql_error());
                    
$ids $idpj;

mysql_query("UPDATE pj SET id = '{$ids}', namepj = '{$namepj}', raza = '{$raza}', prof = '{$prof}', hibrid = '{$hibrid}', edad = '{$edad}', apa ='{$apa}' WHERE id='$ids' ") or die(mysql_error()); 
tambien hice que me imprimiera los valores que devia insertar en la tabla pj:

Almacenando Informacion...Por favor espere.
ID: Resource id #6 esto no deveria de ser lo logico es un "0001" o "1"
namepj: arcanisgk
raza: 001
prof: 0001
hibrid: 0000
edad: 55
apa: lolaso

Última edición por arcanisgk1; 25/10/2009 a las 02:35
  #11 (permalink)  
Antiguo 25/10/2009, 02:32
 
Fecha de Ingreso: mayo-2009
Mensajes: 200
Antigüedad: 15 años
Puntos: 7
Exclamación Respuesta: travajar php con base de datos update.

les dejo los codigos completos para que los revisen a ver si ven algo mal por que el de no pasar el valor de ID a otra ID:

creacion de un usuario:

Código PHP:
<?php
//Primero comprovamos datos que no esten vacion
session_start();
if(isset(
$_POST['username']) && !empty($_POST['username']) &&
    isset(
$_POST['password']) && !empty($_POST['password']) &&
    isset(
$_POST['password2']) && !empty($_POST['password2']) &&
    isset(
$_POST['nombre']) && !empty($_POST['nombre']) &&
    isset(
$_POST['apellido']) && !empty($_POST['apellido']) &&
    isset (
$_POST['telefono']) && !empty($_POST['telefono']) &&
    isset (
$_POST['email']) && !empty($_POST['email'])) {
//pasamos las variables:
    
$username=$_POST['username'];
    
$password=$_POST['password'];
    
$password2=$_POST['password2'];
    
$nombre=$_POST['nombre'];
    
$apellido=$_POST['apellido'];
    
$telefono=$_POST['telefono'];
    
$email=$_POST['email'];
    
$check=0;
//entrando a la base de datos
    
include("config/config.php");
    
$link mysql_connect($dbhost$dbusername$dbuserpass);
    
mysql_select_db($dbname,$link) or die('No se puede seleccionar la base de datos');
//Seccion de funciones y demas
//añadimos la funcion que se encargara de generar un numero aleatorio 
/*    function genera_random($longitud){  
    $exp_reg="[^A-Z0-9]";  
    return substr(eregi_replace($exp_reg, "", md5(rand())) .  
    eregi_replace($exp_reg, "", md5(rand())) .  
    eregi_replace($exp_reg, "", md5(rand())),  
    0, $longitud);}*/
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían 
    
$checkuser mysql_query("SELECT username FROM user WHERE username='$username'"); 
    
$username_exist mysql_num_rows($checkuser);
    
$checkemail mysql_query("SELECT email FROM user WHERE email='$email'"); 
    
$email_exist mysql_num_rows($checkemail);
    if (
$email_exist>0) {
        
header('refresh:10; url=/regedit.html');
        echo 
"La cuenta de correo estan ya en uso.<br>";
        echo 
"Utilice otra Cuenta de correo electronico.<br>";
    }else{ 
        if (
$username_exist>0) {
            
header ('refresh:10; url=/regedit.html');
            echo 
"El nombre de usuario esta ya en uso.<br>";
            echo 
"Utilice otra Nombre de Usuario.<br>";
        }else{
//agregamos la variable $activate que es un numero aleatorio de  
//20 digitos crado con la funcion genera_random de mas arriba 
//            $activate = genera_random(20);   
//aqui es donde insertamos los nuevos valosres en la BD  activate y el valor 1 que es desactivado
//Comprobacion de la password
            
if($password!=$password2) { 
                
header('refresh:10; url=/regedit.html');
                echo 
"Las contraseñas no coinciden<br>";
                echo 
"Por Favor utilice una Contraseña valida<br> <br>";
                echo 
"Si tiene algun problema en crear su cuenta por favor enviar un correo a [email protected].<br>";
            }else{    
//comprobar Correo electronico
                
$cemail=($_POST['email']);
                if ( 
filter_var($cemailFILTER_VALIDATE_EMAIL) == TRUE){
//pasamos la password a encriptacion:
                    
$encript md5($_POST['password']);
// con esta sentencia insertamos los datos en la base de datos XD
                    
mysql_query("INSERT INTO user (username,password,nombre,apellido,telefono,email,ucheck,mcheck) 
                    VALUES ('{$username}','{$encript}','{$nombre}','{$apellido}','{$telefono}','{$email}','{$check}','{$check}')"
,$link);
// Ahora comprobaremos que todo ha ido correctamente
                    
$my_error mysql_error($link);
                    if(!empty(
$my_error)){
                        
header('refresh:10; url=/regedit.html');
                        echo 
"Ha habido un error al insertar los valores. $my_error";
                    }else{
                        
$idpj mysql_query("SELECT id FROM user WHERE username='$username'");
                        
$ids $idpj;
                        
mysql_query("INSERT INTO pj (id) VALUES ('{$idpj}')",$link);
                        
header('refresh:5; url=/create.html');
                        echo 
"Los datos han sido introducidos satisfactoriamente.<br>";
                        echo 
"Bienvenido no hay partida en estos momentos pero puedes entrar y solicitarlas.<br>";
                        echo 
"ID: $idpj<br>";
                        echo 
"Usuario: $username<br>";
                        echo 
"Nombre: $nombre<br>";
                        echo 
"Apellido: $apellido<br>";
                        echo 
"Telefono: $telefono<br>";
                        echo 
"E-mail: $email<br>";}
                }else{
                    
header('refresh:10; url=/regedit.html');
                    echo 
"Direccion de correo invalida, Por Favor utilice un correo con el siguiente formato:<br> <br>";
                    echo 
"[email protected] <br><br>";
                    echo 
"Sugerimos los siguientes proveedores:<br><br>";
                    echo 
"Hotmail<br>";
                    echo 
"Gmail<br>";
                    echo 
"Yahoo<br>";
                }
            }
        }
    }
}else{
    
header('refresh:10; url=/regedit.html');
    echo 
"Error, no ha introducido todos los datos";}
?>
creacion del personaje primera parte:

Código PHP:
<?php
ob_start
();
session_start();
if(isset(
$_POST['namepj']) && !empty($_POST['namepj'])){
    
$user=$_POST['user'];
    
$namepj=$_POST['namepj'];
    
$raza=$_POST['raza'];
    
$prof=$_POST['prof'];
    if(
$prof==0000){
        
header('refresh:10; url=/create.html');
        echo 
"Error, no ha introducido una Profecion correcta";
    }else{
        
$hibrid=$_POST['hibrid'];
        
$edad=$_POST['edad'];
        
$apa=$_POST['apa'];
        
$check=0;
        include(
"config/config.php");
    
// ya puedes acceder a la seccion de ".'<a href="members.php">Miembros</a>'."
    // Conectar a la base de datos
        
mysql_connect ($dbhost$dbusername$dbuserpass);
        
mysql_select_db($dbname) or die('No se puede seleccionar la base de datos');
        
$cnamepj mysql_query("SELECT namepj FROM pj WHERE namepj='$namepj'"); 
        
$namepj_exist mysql_num_rows($cnamepj);
        
$cid mysql_query("SELECT id FROM pj WHERE namepj='$namepj'"); 
        
$id_exist mysql_num_rows($cnamepj);
        
$act mysql_query("SELECT activate FROM pj WHERE namepj='$namepj'");
        if (
act>0){
            
header('refresh:20; url=/create.html');
            echo 
"Ya existe un personaje activado a esta cuenta.<br>";
        }else{
            if (
$namepj_exist>0) {
                
header('refresh:20; url=/create.html');
                echo 
"El nombre del personaje esta en uso.<br>";
                echo 
"Por favor utilice otro.<br>";
                echo 
"Por favor mandar un correo electrónico a [email protected]  con la siguiente información:<br>";
                echo 
"Nombre de la Cuenta.<br>";
                echo 
"Nombre del personaje a utilizar.<br>";
            }else{
                if (
$id_exist>0) {
                    
header('refresh:20; url=/index.html');
                    echo 
"El numero de ID esta colapsado.<br>";
                    echo 
"Por favor mandar un correo electrónico a [email protected]  con la siguiente información:<br>";
                    echo 
"Nombre de la Cuenta.<br>";
                    echo 
"Nombre del personaje a utilizar.<br>";
                }else{
                    
$idpj mysql_query("SELECT id FROM user WHERE username='$user'") or die(mysql_error());
                    
$ids $idpj;
                    
$activate mysql_query("SELECT activate FROM pj WHERE id='$ids'");
                    if(
$activate == 1){
                        echo 
"Ha habido un error al insertar los valores.";
                        echo 
"Por favor mandar un correo electrónico a [email protected] con la siguiente información:<br>";
                        echo 
"Error ya existe un personaje creado a su Cuenta<br>";
                        echo 
"Nombre de la Cuenta.<br>";
                        echo 
"Nombre del personaje a utilizar.<br>";
                    }else{
                        
mysql_query("UPDATE pj SET id = '{$ids}', namepj = '{$namepj}', raza = '{$raza}', prof = '{$prof}', hibrid = '{$hibrid}', edad = '{$edad}', apa ='{$apa}' WHERE id='$ids' ") or die(mysql_error());
                        
// Ahora comprobaremos que todo ha ido correctamente
                        
if(!empty($my_error)){
                            
header('refresh:20; url=/create.html');
                            echo 
"Ha habido un error al insertar los valores. $my_error";
                            echo 
"Por favor mandar un correo electrónico a [email protected]  con la siguiente información:<br>";
                            echo 
"Este ERROR: $my_error<br>";
                            echo 
"Nombre de la Cuenta.<br>";
                            echo 
"Nombre del personaje a utilizar.<br>";
                        }else{
                            
header('refresh:10; url=/create2.html');
                            echo 
"Almacenando Informacion...Por favor espere.<br>";
                            echo 
"ID: $ids<br>";
                            echo 
"namepj: $namepj<br>";
                            echo 
"raza: $raza<br>";
                            echo 
"prof: $prof<br>";
                            echo 
"hibrid: $hibrid<br>";
                            echo 
"edad: $edad<br>";
                            echo 
"apa: $apa";
                            
                        }
                    }
                }
            }
        
        }
    }
}else{
    echo 
"<meta http-equiv='refresh' content='20;url=/create.html' />";
    echo 
"Error, no ha introducido todos los datos";}
ob_end_flush();
?>

Última edición por arcanisgk1; 25/10/2009 a las 02:38
  #12 (permalink)  
Antiguo 25/10/2009, 08:05
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: travajar php con base de datos update.

Cita:
Iniciado por arcanisgk1 Ver Mensaje
[...]
Código PHP:
$idpj mysql_query("SELECT id FROM user WHERE username='$user'") or die(mysql_error());
                    
$ids $idpj;

mysql_query("UPDATE pj SET id = '{$ids}', namepj = '{$namepj}', raza = '{$raza}', prof = '{$prof}', hibrid = '{$hibrid}', edad = '{$edad}', apa ='{$apa}' WHERE id='$ids' ") or die(mysql_error()); 
[...]ID: Resource id #6 esto no deveria de ser lo logico es un "0001" o "1" [...]
el Resource te sale porque estas haciendo mal tu query... recuerda que para obtener el valor debes hacer fetching con mysql_fetch_result() o similares...

$idpj obviamente es un apuntador al resultado del query... y no el ID !!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 25/10/2009, 11:12
 
Fecha de Ingreso: mayo-2009
Mensajes: 200
Antigüedad: 15 años
Puntos: 7
Exclamación Respuesta: travajar php con base de datos update.

Cita:
Iniciado por pateketrueke Ver Mensaje
el Resource te sale porque estas haciendo mal tu query... recuerda que para obtener el valor debes hacer fetching con mysql_fetch_result() o similares...

$idpj obviamente es un apuntador al resultado del query... y no el ID !!!
deveria de utilisar esto entonces:
Código PHP:
$idpj mysql_query("SELECT id FROM user WHERE username='$username'");
                        
$idp mysql_fetch_array($idpj)
                        
$ids $idp
  #14 (permalink)  
Antiguo 25/10/2009, 11:51
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: travajar php con base de datos update.

aún estas mal... porque mysql_fetch_array() devuelve eso.. un Array, ahora debes asignar a tu variable el índice exacto...

Código PHP:
$idp mysql_fetch_array($idpj);
$ids $idp['id']; 
además sigues teniendo errores de sintaxis, te falta una ;
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #15 (permalink)  
Antiguo 26/10/2009, 03:02
 
Fecha de Ingreso: mayo-2009
Mensajes: 200
Antigüedad: 15 años
Puntos: 7
Respuesta: travajar php con base de datos update.

listo funcionando mañana les pregunto otras cosas..
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 04:53.