Foros del Web » Programando para Internet » PHP »

Conectar a base de datos Mysql

Estas en el tema de Conectar a base de datos Mysql en el foro de PHP en Foros del Web. Hola, Tengo una pequeña duda. Me gustaria hacer que en cuando un usuario ponga sus opcioones en un formulario, estas se guardaran en una base ...

  #1 (permalink)  
Antiguo 20/12/2005, 03:55
 
Fecha de Ingreso: diciembre-2005
Ubicación: BCN
Mensajes: 165
Antigüedad: 12 años
Puntos: 2
Conectar a base de datos Mysql

Hola,

Tengo una pequeña duda.

Me gustaria hacer que en cuando un usuario ponga sus opcioones en un formulario, estas se guardaran en una base de datos, y cuando el usuario vuleva , sus prefrencias y/o todo lo que habia configurado siga igual.

No se ni como se conecta a una base de datos, ni como se ponen sus opciones en la base de datos, ni como se ven sus opciones en el panel de control.

Muchas gracias.
  #2 (permalink)  
Antiguo 20/12/2005, 03:58
 
Fecha de Ingreso: abril-2005
Ubicación: Piura - Perú
Mensajes: 189
Antigüedad: 12 años, 7 meses
Puntos: 0
usa $SESSION
  #3 (permalink)  
Antiguo 20/12/2005, 05:50
 
Fecha de Ingreso: diciembre-2005
Ubicación: BCN
Mensajes: 165
Antigüedad: 12 años
Puntos: 2
Estuve por ahi buscando y ya encontre como conectar a la base de datos.

El caso ahora es q no se como aplicar las opciones q el usuario ha puesto y guardarlas en la base de datos

Gracias
  #4 (permalink)  
Antiguo 20/12/2005, 06:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
pekpon ...

Lo que te hace falta es leer un tutorial de uso de Mysql con PHP completo .. de principio a fin para saber como usar el procedimiento completo.

Pero antes de llegar a eso . .tendrás que saber algo más básico (que no sabemos si ya lo controlas): recoger los datos que envias desde tu formulario HTML a un script PHP .. por qué esa es la "base" de todo esto .. De ahí pasarás a crear la sentencia SQL que corresponda (INSERT ...) y ejecutarla (mysql_query())

Te recomiendo seguir alguno de los tutoriales que veras en:
http://www.forosdelweb.com/showthrea...936#post238936

Intenta a partir de ahí hacer tus pruebas y preguntar cosas concretas (con el código que tengas hecho en la mano y aquí publicado para verlo).

Un saludo,
  #5 (permalink)  
Antiguo 20/12/2005, 06:52
 
Fecha de Ingreso: diciembre-2005
Ubicación: BCN
Mensajes: 165
Antigüedad: 12 años
Puntos: 2
Cluster....

Gracias por el manual pero me leí un ejemplo en webtller donde se ve muy bien como funciona todo.

En la web te ponen un noticiero en la base de datos con dos campos:titulo y contenido.

Como q yo no kiero noticias...cambien un poco el script y le puse un campo mas.....
el ejemplo de webtaller me va muy bien pero al añadirle un campo mas me dice al procesar el formulario: "No has introducido todos los datos"

A continuacion os pongo su formulario y su script y el mio para ver si encontrais el fallo:

Ejemplo formulario de Webtaller:
Código:
<form name="webtaller" action="insertar_datos.php" method="post">
Título: <input type="text" name="titulo"><br>
Contenido: <textarea name="contenido"></textarea><br>
<input type="enviar" value="Enviar">
</form>
Script PHP Webtaller:
Código PHP:
<?php

    
// Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
    
if(isset($_POST['titulo']) && !empty($_POST['titulo']) &&
    isset(
$_POST['contenido']) && !empty($_POST['contenido'])) {

        
// Si entramos es que todo se ha realizado correctamente

        
$link mysql_connect("localhost","usuario","contraseña");
        
mysql_select_db("webdb",$link);

        
// Con esta sentencia SQL insertaremos los datos en la base de datos
        
mysql_query("INSERT INTO noticias (titulo,contenido)
        VALUES ('{$_POST['titulo']}','{$_POST['contenido']}')"
,$link);

        
// Ahora comprobaremos que todo ha ido correctamente
        
$my_error mysql_error($link);

        if(!empty(
$my_error) {

            echo 
"Ha habido un error al insertar los valores. $my_error"

        } else {

            echo 
"Los datos han sido introducidos satisfactoriamente";

        }

    } else {

        echo 
"Error, no ha introducido todos los datos";

    }

?>
Ahora mi formulario:
Código:
<form name="Jugadores" action="insertar_datos.php" method="post">
  <p>Usuario<br />
    <input name="usuario" type="hidden" id="usuario" value="<?=$_COOKIE['LogUsuario']?>" />
  </p>
  <p>Portero<br />
    Valdes
      <label>
      <input name="portero" type="radio" value="casillas"
    <br />
    Casillas
    <label></label>
    <input name="portero" type="radio" value="Valdes" />
    <br />
    Bartez
    <label>
    <input name="portero" type="radio" value="Bartez" />
    </label>
</p>
  <p>Defensa<br />
  Puyol
    <label></label>
    <input name="defensa" type="radio" value="Puyol" />
    <br />
  Stam
    <label></label>
    <input name="defensa" type="radio" value="Stam" />
    <br />
  Oleguer
    <label>
    <input name="defensa" type="radio" value="Oleguer" />
    </label>
  </p>
  <p>
    <label>
    <input type="submit" name="Submit" value="Enviar" />
    </label>
  </p>
</form>
Y mi Script PHP:
Código PHP:
<?php

    
// Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
    
if(isset($_POST['usuario']) && !empty($_POST['usuario']) &&
    isset(
$_POST['portero']) && !empty($_POST['portero']) &&
    isset(
$_POST['defensa']) && !empty($_POST['defensa'])) {
        
// Si entramos es que todo se ha realizado correctamente

        
$link mysql_connect("host","user","pass");
        
mysql_select_db("BD",$link);

        
// Con esta sentencia SQL insertaremos los datos en la base de datos
        
mysql_query("INSERT INTO noticias (usuario,portero,defensa)
        VALUES ('{$_POST['usuario']}','{$_POST['portero']}','{$_POST['defensa']}')"
,$link);

        
// Ahora comprobaremos que todo ha ido correctamente
        
$my_error mysql_error($link);

        if(!empty(
$my_error)) {

            echo 
"Ha habido un error al insertar los valores. $my_error"

        } else {

            echo 
"Los datos han sido introducidos satisfactoriamente";

        }

    } else {

        echo 
"Error, no ha introducido todos los datos";

    }

?>
DEberia ir todo bien pero me pone eso: "no ha introducido todos los datos"
  #6 (permalink)  
Antiguo 20/12/2005, 07:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Haber empezado por ahí .. (!)

Revisa tu lógica con los isset() y usos de empty() negando (con el ! delante) ..

Con emtpy() te sobra .. no hace falta el "isset()" por qué empty() devuelve un verdadero si la variable mencionada es nula, 0 o cadena vacia ... lo cual ya implica que "esté definida" la variable cosa que hace -solo- isset().

Por cierto:
Código PHP:
Usuario<br />
    <input name="usuario" type="hidden" id="usuario" value="<?=$_COOKIE['LogUsuario']?>" />
  </p>
Eso NUNCAAAAAAA! se debe hacer .. es un ERROR GRAVE de seguridad .. Ese dato de una variable de una cookie (o sesión) NO debes propagarlo en el formulario como un campo oculto. DEBES! usarlo en tu script PHP de proceso directamente.

Esta sentencia SQL es correcta ..

Código PHP:
mysql_query("INSERT INTO noticias (usuario,portero,defensa) 
        VALUES ('{$_POST['usuario']}','{$_POST['portero']}','{$_POST['defensa']}')"
,$link); 
pero incluso para que veas "coloreado" y diferenciado variables de SQL fijo de la sentencia se suele usar:

Código PHP:
mysql_query("INSERT INTO noticias (usuario,portero,defensa) 
        VALUES ('"
.$_COOKIE['LogUsuario']."','".$_POST['portero']."','".$_POST['defensa']."')",$link); 
Ahí ves como ya he incluido directamente el valor de tu cookie que identifica al usuario .. NO viene del formulario .. por ende no es suceptible a ser "alterada" por otros médios con una simple replica de tu formulario HTML que apunte a tu script PHP. Por lo menos así ganas un minimo de seguridad.

Por esto mismo te recomendé un manual de PHP .. no para que veas un "código" que te pueda servir .. sino para que aprendas lo básico de PHP como para que puedas tomar un ejemplo de estas características y modificarlo a tu antojo.


Un saludo,
  #7 (permalink)  
Antiguo 20/12/2005, 07:29
 
Fecha de Ingreso: diciembre-2005
Ubicación: BCN
Mensajes: 165
Antigüedad: 12 años
Puntos: 2
Gracias por tu ayuda pero no te he entendido cuando te has referido a los isset() i empty().

De todas formas ahora me voy a leer el manual que me has pasado

Gracias
  #8 (permalink)  
Antiguo 20/12/2005, 07:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Puedes ver la documentación oficial de ambas funciones:

www.php.net/isset
www.php.net/empyt

No sé si entiendes la diferencia entre que una variable esté "definida" y que tenga algún valor (y/o que su valor sea distinto a NULL, cadena vacia ('') o 0 (cero))

La función isset() sólo sirve para ver si una variable está definida o no .. no mira su valor. empty() ve si la variable está definida y seguidamente si su valor es "nulo", 0 o cadena vacia. Por ende .. es "redundate" usar isset() y empty() si lo que buscas es que tal variable tenga un valor distinto a nulo, 0 o sea una cadena vacia.

Un saludo,
  #9 (permalink)  
Antiguo 20/12/2005, 10:11
 
Fecha de Ingreso: diciembre-2005
Ubicación: BCN
Mensajes: 165
Antigüedad: 12 años
Puntos: 2
Ya he resuelto el tema issets i empty.....

Una vez creada la tabla como puedo hacer para q se muestren las opciones de cada usuario?

Es decir, yo me registro y todo eso....y se crea en la BBDD una tabla con mi nombre mi defensa.....

En cuando yo voy al panel de administracion, como hago q la pagina coja ls opciones de cada usuario que estan en la base de datos ??

Gracias y saludos
  #10 (permalink)  
Antiguo 20/12/2005, 10:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Es decir, yo me registro y todo eso....y se crea en la BBDD una tabla con mi nombre mi defensa.....
Pero .. seguro que creas una "Base de datos" o creas "registros" en cierta tabla de esa Base de datos .. Es importante que "hablemos" el mismo idioma .. por qué así no nos entenderemos.

No sé ya realmente a que te refieres ni veo la "tabla" que usas o como gestionas esos datos. Es necesario ver la estructura de tus tablas.

Cita:
En cuando yo voy al panel de administracion, como hago q la pagina coja ls opciones de cada usuario que estan en la base de datos ??
Tampoco sé a que te refieres con esto ..
Te refires a "listar" todos los registros de esa tabla de "usuarios"? (si es que lo usas así) .. o sólo los datos en concreto de UNO de esos usuarios .. o un listado de TODOS los usuarios donde por un link tipo "ver detalle" podamos ver más datos de ese Usuario? .. Concretalo e intenta hablar de "campos", "registros", tablas y base de datos para que todos nos entendamos ..

Te recomiendo la lectura de este tutorial (y en general todos los que veras en el mismo sitio) sobre "Base de datos" (orientado a Mysql, sencillo, al grano y en castellano):

http://www.mysql-hispano.org/page.php?id=23

Un saludo,
  #11 (permalink)  
Antiguo 20/12/2005, 13:30
 
Fecha de Ingreso: diciembre-2005
Ubicación: BCN
Mensajes: 165
Antigüedad: 12 años
Puntos: 2
Perdona que no me exprese bien, tienes razon, ademas de que todo esta echo un lio y mi cabeza ya no sabe enlazar las ideas ni nada....

Voy a explicarte mi proyecto de principio a fin y luego te explicare correctamente mi duda.....

Mira...
El proyecto que quiero hacer es el de crear un juego de futbol en el que tu de alguna manera diriges tu equipo, pero no se juegan los partidos.
Los partidos se realizan mediante los porcentajes y habilidades que tienen los jugadores de cada equipo. En fin....una liga donde poder competir mis amigos y yo.....

Una vez registrado el usuario, se va a una pagina donde tienes dos opciones, 1- Tu cuenta: donde se cambia la contraseña tal i cual.....y 2ª- Crear equipo: donde se crea el primer equipo de cada usuario.

Los jugadores que hay a elegir son gratis y el usuario puede elegir cualquiera de ellos ya que son gratuitos. Tambien se escoje un nombre de equipo, el tipo de alineacion y ya esta.

Una vez creado he hecho con el script anterior, que en la tabla de la base de datos "administracion" (que yo habia creado anteriormente) se pongan las opciones que el usuario habia escojido en el formulario anterior.

Una vez aqui el usuario puede ir al panel de control donde estan las propiedades de su equipo, que se pueden cambiar. Ahi tambien se muestra el dinero que el usuario tiene (que se ha ganado con los partidos), y tambien la opcion de fichar a nuevos jugadores.

Luego ya vendria cuando se juegan los partidos tal y cual.....

Esto es basicamente el juego.

Luego, mi pregunta era:

Como puedo hacer para que en el panel de administracion me salgan los jugadores, el nombre de equipo, la alineacion....Estos ya se habian escrito en la tabla "administracion" en el primer paso de Crear el primer equipo.


Estoy viendo que si creo una tabla que se llame como el usuario y dentro esten sus jugadores y opciones, y luego en el panel de administracion llamo a esa tabla...seria mas facil....pero no se crear una tabla desde el formulario....

En fin, espero haberte aclarado como va esto y Muchas Gracias
  #12 (permalink)  
Antiguo 20/12/2005, 14:39
 
Fecha de Ingreso: diciembre-2005
Ubicación: BCN
Mensajes: 165
Antigüedad: 12 años
Puntos: 2
Os h aclarado el problema o os lo e complicado mas
  #13 (permalink)  
Antiguo 20/12/2005, 14:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Como puedo hacer para que en el panel de administracion me salgan los jugadores, el nombre de equipo, la alineacion....Estos ya se habian escrito en la tabla "administracion" en el primer paso de Crear el primer equipo.
Ok .. Pero tu en tu tabla de "administración"? o donde registras todos esos datos del los jugadores, el nombre del equipo y demás . .Tú, guardas el "ID" del usuario o ese "LogUsuario" que . .cuando tu usuario hace "login" en tu sistema creas esa Cookie: $_COOKIE['LogUsuario'] para identificarlo.

Con eso estableces la "relación" y asingas a cada "usuario" sus propiedades. Por otro lado . .cuando haces "login" en el sistema tienes disponible esa cookie: $_COOKIE['LogUsuario'] que contiene el usuario que está autentificado en tu sistema.

Según esto .. se trataría de hacer consultas SQL a esa tabla de "administración" tipo:

$sql="SELEC * FROM administracion WHERE usuario='".$_COOKIE['LogUsuario']."'";

Realmente no sé que campo ni que tabla almacena el dato del "usuario" (o dueño de esos datos) ni si se relaciona con más tablas (nunca indicaste el "modelo de datos" que usas completo)... pero esa es la filosofía.

Cita:
Estoy viendo que si creo una tabla que se llame como el usuario y dentro esten sus jugadores y opciones, y luego en el panel de administracion llamo a esa tabla...seria mas facil....pero no se crear una tabla desde el formulario....
Aquí ya me perdí .. creo que has empezado el trabajo por el final .. En cualquier desarrollo que involucre una "base de datos" por médio primero debes sentarte y diseñarla en función de los datos que vas a gestionar y la relación que mantienen estos con ellos mismos. Sino, luego todo se complica .. me parece que esto no lo has hecho y eso es lo que te está complicado hacer cosas "sobre la marcha" ..

No se trata de "crear tablas" sino registros .. Un modelo de datos que necesitas sería tipo

usuarios tabla
id_usuario
nombre
blabla

equipos tabla
id_equipo
nombre
blabla

partidos tabla
id_partido
id_equipo_1
id_equipo_2
fecha
etc ..

equipo usuario tabla
id_equipo_usuario
id_equipo
id_usuario
fecha_creacion ..

etc .. etc .. etc ...

En fin ... se trata de "diseñar" tu modelo de datos .. las "entidades" que lo componen .. y de ahí empezar a relacionar .. Yo he puesto unas cuantas "tablas" y algunas "relaciones" .. pero no sé si seran las que necesitas y si está todo . .en realidad esto requiere de un "analisis" más profundo.

Si quieres hacerlo bien . .empieza por lo que te comento. Sino, se te va a liar mucho el tema.


Un saludo,

Última edición por Cluster; 20/12/2005 a las 15:02
  #14 (permalink)  
Antiguo 21/12/2005, 01:18
 
Fecha de Ingreso: diciembre-2005
Ubicación: BCN
Mensajes: 165
Antigüedad: 12 años
Puntos: 2
Gracias pero la consulta que me has puesto no funciona.

Por lo demas gracias, ya estoy diseñando mis tablas
  #15 (permalink)  
Antiguo 21/12/2005, 04:23
 
Fecha de Ingreso: diciembre-2005
Ubicación: BCN
Mensajes: 165
Antigüedad: 12 años
Puntos: 2
Hago la cnexion y todo eso pero cuando lo ejecuto no me sale nada
  #16 (permalink)  
Antiguo 21/12/2005, 04:56
 
Fecha de Ingreso: diciembre-2005
Ubicación: BCN
Mensajes: 165
Antigüedad: 12 años
Puntos: 2
Estoy desesperado ya no se que puede fallar...

Segun el tutorial q me paso cluster, ponia en uno de BD:

Código PHP:
$sserver="localhost"
$suser=""//usuario de la base de datos
//No sabes lo que es? Preguntale a tu hoster!
$spassword=""//password de la base de datos
//No sabes lo que es? Preguntale a tu hoster tambien!
$sdb=""//nombre de la base de datos
//No sabes cual es? que acaso no tienes panel de control?
//Si no tienes panel de control y el hoster no responde
//   cambia de hoster...
$ilink=mysql_connect($sserver,$suser,$spassword) or die("RIP");
mysql_select_db($sdb,$ilink);
$squery="Select (campos) from (tabla) (where) (order)";
//no sabes lo que es SELECT? pues a aprender sintaxis SQL!
$iquery=mysql_query($squery,$ilink);
if (
$iquery>0) {
   
$irow=0;
   
$ilastrow=mysql_num_rows($iquery);
   while (
$irow<$ilastrow) {
        
$campo=mysql_result($iquery,$irow,"(campo)");
        
//asi obtienes los datos de un campo
        //repetir segun sea necesario
       
$irow++;
   }
}
//quieres actualizar algo?
$squery="Delete/Insert/Update...";
mysql_query($squery,$ilink); 
Lo configure todo bien pero no pasa nada en la pagina,....ayudadme porfavor que ya no se q probar mas...
  #17 (permalink)  
Antiguo 21/12/2005, 05:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por pekpon
Estoy desesperado ya no se que puede fallar...

Segun el tutorial q me paso cluster, ponia en uno de BD:

Código PHP:
$sserver="localhost"
$suser=""//usuario de la base de datos
//No sabes lo que es? Preguntale a tu hoster!
$spassword=""//password de la base de datos
//No sabes lo que es? Preguntale a tu hoster tambien!
$sdb=""//nombre de la base de datos
//No sabes cual es? que acaso no tienes panel de control?
//Si no tienes panel de control y el hoster no responde
//   cambia de hoster...
$ilink=mysql_connect($sserver,$suser,$spassword) or die("RIP");
mysql_select_db($sdb,$ilink);
$squery="Select (campos) from (tabla) (where) (order)";
//no sabes lo que es SELECT? pues a aprender sintaxis SQL!
$iquery=mysql_query($squery,$ilink);
if (
$iquery>0) {
   
$irow=0;
   
$ilastrow=mysql_num_rows($iquery);
   while (
$irow<$ilastrow) {
        
$campo=mysql_result($iquery,$irow,"(campo)");
        
//asi obtienes los datos de un campo
        //repetir segun sea necesario
       
$irow++;
   }
}
//quieres actualizar algo?
$squery="Delete/Insert/Update...";
mysql_query($squery,$ilink); 
Lo configure todo bien pero no pasa nada en la pagina,....ayudadme porfavor que ya no se q probar mas...
Esto que has puesto no tiene sentido .. (tal cual).

Pon el código que uses o has probado concretamente .. no tutoriales.

Cita:
$sql="SELEC * FROM administracion WHERE usuario='".$_COOKIE['LogUsuario']."'";
Visto que no dominas mucho el tema . .no puedes decir "no me funciona" simplemente . indica el código que usastes para probarlo. Y sobre todo por favor indica la estructura de la tabla que usas completa .. por qué ya te comenté que no sabemos que campos usas . .ni de que tipo son .. ni que almacenas en ellos ni nada ..

Un saludo,
  #18 (permalink)  
Antiguo 21/12/2005, 06:41
 
Fecha de Ingreso: diciembre-2005
Ubicación: BCN
Mensajes: 165
Antigüedad: 12 años
Puntos: 2
Haber...primero disculparme por lo mal que estoy llevando el tema...

La tabla "administracion" consta de 7 campos:
usuario
alineacion
equipo
defensa
medio
delantero
portero


Esos son los campos de la tabla

He usado dos codigos para conectar con mysql:

1- De Webtaller:

conexion.ini.php:
Código PHP:
<? // Fichero con los datos de conexion a la BBDD

function Conectarse()

{

$db_host="localhost"// Host al que conectar, habitualmente es el ‘localhost’

$db_nombre="bbdd"// Nombre de la Base de Datos que se desea utilizar

$db_user="user"// Nombre del usuario con permisos para acceder

$db_pass="password"// Contraseña de dicho usuario

// Ahora estamos realizando una conexión y la llamamos ‘$link’

$link=mysql_connect($db_host$db_user$db_pass) or die ("Error conectando a la base de datos.");

// Seleccionamos la base de datos que nos interesa

mysql_select_db($db_nombre ,$link) or die("Error seleccionando la base de datos.");

// Devolvemos $link porque nos hará falta más adelante, cuando queramos hacer consultas.

return $link;

}

?>
Debidamente configurado con mis datos

y luego ago la consulta....

Código PHP:
<?

include('conexion.inc.php'); // Suponemos que el archivo con los datos es ‘conexión.inc.php’

// Así llamaremos a la función que tenía los datos para conectarse

$link Conectarse();

// En una variable tipo STRING escribimos la consulta.

$sql="SELECT * FROM administracion WHERE  usuario='".$_COOKIE['LogUsuario']."'";

// Con la función ‘mysql_query()’ realizamos la consulta que queramos en la base de datos

// seleccionada previamente. Es decir le entramos la consulta que habíamos llamado ‘$sql’

$result mysql_query($sql) or die(&#8220;La siguiente consulta contiene algún error:<br>nSQL: <b>$sql</b>”);

// Ahora tenemos en ‘$result’ todos los registros de la consulta, ahora debemos mostrarlos uno a uno

while ($row mysql_fetch_array($result))

// El while ya deberíamos saber que hace, ‘mysql_fetch_array()’ avanza uno a uno los registros

// Como hemos metido un registro en $row, tendremos que mostrar lo que nos interese en pantalla.

echo &#8220;El portero es: <b>“.$row[‘portero’].”</b><br>n”; 
echo &#8220;El defensa es: <b>“.$row[‘defensa’].”</b><br>n”; 
echo &#8220;El medo es: <b>“.$row[‘medio’].”</b><br><br>n”; 
}

?>
He puesto todo esto pero no me sale, asi que debo hacer algo mal pero en el tutorial e seguido todos los pasos....nose....

Y luego pues he hecho lo mismo que aqui pero con el sistema del manual que me pasaste cluster

Tambien he creado otras tablas pero esas aun no las utilizo...

Saludos y gracias
  #19 (permalink)  
Antiguo 21/12/2005, 08:20
 
Fecha de Ingreso: diciembre-2005
Ubicación: BCN
Mensajes: 165
Antigüedad: 12 años
Puntos: 2
Os he de explicar las otras tablas? o no hce falta
  #20 (permalink)  
Antiguo 21/12/2005, 08:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. que es lo que no te sale? .. por favor . .debes ser más explicito en tus respuestas.

Además . .realiza unas pruebas:

Si haces:

echo $sql;

que ves?

(debes ver la sentencia SQL completa con el valor de $_COOKIE .. que corresponda .. )

Que datos guardas en el campo "usuario" (pon una muestra de tatos de esa tabla "administracion")

Un saludo,
  #21 (permalink)  
Antiguo 21/12/2005, 09:24
 
Fecha de Ingreso: diciembre-2005
Ubicación: BCN
Mensajes: 165
Antigüedad: 12 años
Puntos: 2
Esta es mi tabla:



Respecto a que no me sale nada me refiero a que cuando escribo los codigos php en la red me sale todo como si no hubiera codigo

en blanco vaya...

Saludos
  #22 (permalink)  
Antiguo 21/12/2005, 09:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
¿Y no usas un campo ID (autonumérico y único)? .. Eso te hace falta si o si para muchas cosas (sobre todo para establecer relaciones .. eliminar registros ..etc).

bueno .. y probastes hacer un:
Código PHP:
$sql="SELECT * FROM administracion WHERE  usuario='".$_COOKIE['LogUsuario']."'";
echo 
"La sentencia SQL a ejecutar es: ".$sql
que ves ahí!?

Un saludo,
  #23 (permalink)  
Antiguo 21/12/2005, 15:48
 
Fecha de Ingreso: diciembre-2005
Ubicación: BCN
Mensajes: 165
Antigüedad: 12 años
Puntos: 2
En el codigo que me has escrito interpreto que $sql=es la consulta que mira en la tabla administrcion, los registros correspndientes a el usuario en mi caso "pekpon".

He probado el codigo que me has escrito y en la pagina he puesto:
<?php
$sql="SELECT * FROM administracion WHERE usuario='".$_COOKIE['LogUsuario']."'";
echo "La sentencia SQL a ejecutar es: ".$sql;
?>

Poniendo el archivo de conexion delante pero cuando abro el navegador y miro l pagina me sale:

La sentencia SQL a ejecutar es: SELECT * FROM administracion WHERE usuario='pekpon'

pero no me sale la tabla con los datos.....

Haber si al fin podemos arreglar mis problemas que me empiezo a sentar mal por vosotros por tener que aguantarme...

Saludos
  #24 (permalink)  
Antiguo 22/12/2005, 02:58
 
Fecha de Ingreso: diciembre-2005
Ubicación: BCN
Mensajes: 165
Antigüedad: 12 años
Puntos: 2
Por cierto....he probado esto....:

Código PHP:
$link mysql_connect("Host""Usuario""Pass");
mysql_select_db("mydb"$link);
$result mysql_query("SELEC * FROM administracion WHERE usuario='".$_COOKIE['LogUsuario']."'"$link);
echo 
"Nombre Equipo: ".mysql_result($result0"equipo")."<br>";
echo 
"Portero: ".mysql_result($result0"portero")."<br>";
echo 
"Defensa :".mysql_result($result0"defensa")."<br>";
echo 
"Medio:".mysql_result($result0"medio")."<br>"
y me sale esto....:

Código:
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/webcindario/footballleague/users/administracion.php on line 136
Nombre Equipo:

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/webcindario/footballleague/users/administracion.php on line 137
Portero:

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/webcindario/footballleague/users/administracion.php on line 139
 Defensa:

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/webcindario/footballleague/users/administracion.php on line 141
Medio:
PERO.....

pruebo esto....:

Código PHP:
<?php
$link 
mysql_connect("localhost""usuario","pass");
mysql_select_db("mydb"$link);
$result mysql_query("SELECT * FROM administracion"$link);
echo 
"Nombre Equipo: ".mysql_result($result0"equipo")."<br>";
echo 
"Portero: ".mysql_result($result0"portero")."<br>";
echo 
"Medio :".mysql_result($result0"medio")."<br>";
echo 
"Defensa :".mysql_result($result0"defensa")."<br>";

?>
y si que funciona....weno almenos me devuelve esto:

Nombre Equipo: Pek's
Portero: German Lux
Medio : Peirone
Defensa : Rivas

Nose....
  #25 (permalink)  
Antiguo 22/12/2005, 06:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El problema que tienes con tu ejemplo (el primero de tu último mensaje) es que por A o B motivo esa consulta SQL NO está entregando resultados. NO puedes acceder a un resutlado concreto si este NO existe.

Código PHP:
<?
mysql_select_db
("mydb"$link);
$result mysql_query("SELEC * FROM administracion WHERE usuario='".trim($_COOKIE['LogUsuario'])."'"$link) or die (mysql_error());
if (
mysql_num_rows($result) == 1){ // Con esto sólo esperamos UN resultado o ninguno pero no más.
$row mysql_fetch_array($result);
echo 
"El portero es: <b>".$row['portero']."</b><br>"
echo 
"El defensa es: <b>".$row['defensa']."</b><br>"
echo 
"El medo es: <b>".$row['medio']."</b><br><br>"

} else {
echo 
"No hay resultados";
}
?>
Ahora .. "¿por qué no hay resultados?" .. La prueba que te indiqué sobre hacer un "echo a $Sql" se trata de ver si está tomando el valor adecuado y se está formando correctamente tu sentencia SQL.

Al parecer la consulta SQL es correcta:
SELECT * FROM administracion WHERE usuario='pekpon'

Corresponde con lo que tu tienes en tu tabla para el campo "usuario" .. así que debería funcionar correctamente. Revisa siempre en tus pruebas que el valor de tu cookie sea el correcto (no sea que te expire y no te des cuenta).

Tambien podrías usar un "trim()" para "limpiar" el dato por si tiene espacios o salto de línea que no veas y por eso no coincide tu dato "pekpon" que tienes en tu cookie con lo que realmente tienes en tu campo "usuario" de ese registro.

Un saludo,
  #26 (permalink)  
Antiguo 22/12/2005, 07:06
 
Fecha de Ingreso: diciembre-2005
Ubicación: BCN
Mensajes: 165
Antigüedad: 12 años
Puntos: 2
Cluster,,,eres fantastico!!!!!

Porfin el maldito equipo se refleja en el panel de administracion muchas gracias!!!

Haber Cluser....aun me qdan algnos enigmas mas por resolver......

Mira cuando un usuario quiere cambiar de jugador...(por ejemplo)...

Como se hace para que cuando se aprete en grabar,enviar..etc...no se cree otra cuenta si no que se actualice el registro.....cambiando el portero..el defensa..el medio...etc

Muchas gracias y no se que podria hacer por ti ya que me estas ayudando mucho deberas

GRACIAS
  #27 (permalink)  
Antiguo 22/12/2005, 07:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
pekpon .. yo (y muchos que lean este mensaje) no van a entender cuando hablas en terminos que tu Aplicación usa .. es como si yo te comentase un problema mio y te hablase de cosas como alguien de "Operaciones cierra una OP" .. (como veras .. eso para ti no significará nada como para mi no significa nada "un usuario quiere cambiar de jugador).

Debes comentar el tema a nivel de datos .. en base a las "tablas" y modelo de datos que por aquí mas o menos se ha ido "sonsacando" de lo que realmente trabajas.

Esta aclaración sería algo más lógica:
"Como se hace para que cuando se aprete en grabar,enviar..etc...no se cree otra cuenta si no que se actualice el registro.....cambiando el portero..el defensa..el medio...etc"

Ahora .. volvemos a lo de siempre .. hablas de cosas y no queda claro si ya estás haciendo algo al respecto (con código que estés empleando) o no sabes hacerlo y quieres implementarlo ..

¿Por qué crees que lo que dices tiende a crea confusión ?.. por qué dices (textual): "no se cree otra cuenta si no que se actualice el registro" .. por mi parte leo eso y pienso que por algún otro médio ya estás "editando" los datos de un "usuario" pero usas las mismas rutinas y sentencias SQL para crear el registro y por eso se crea nuevamente.

Por ende.. EXPÓN el código que ya uses (para no entretenerse en hacer todo lo que ya pudieras tener implementado!!!!!!!!).

Sólo te puedo comentar que por favor veas algo más sobre lo que significa una Base de datos .. su SQL y las sentencias SQL básicas ..por qué creo que las usas -sin- saber que hacen. Por ejemplo .. si ya has usando un "INSERT" debes saber que eso crea registros .. y ahora para "actualizar" tienes otra sentencia SQL bien básica que es "UPDATE" .. y un "update" a que? .. a cierto registro no a todos .. por ende algo tipo:

UPDATE tabla SET campo='valor' WHERE id_registro='1"

por ejemplo.

Si te fijas bien .. hace unos mensajes más arriba te hacía mención que necesitas un campo tipo "ID" que es autonumérico y único .. TU no lo usas, eso va a complicar mucho este tipo de operaciones de insercción de datos .. o de borrados "seguros" sin confusiones (por ejemplo por tener un "nombre" de usuario igual a otro!!!!! ... lo cual podrías no permitirlo .. pero si te basas en esos "ID's" .. realmente eso ya te daría igual).

Un saludo,
  #28 (permalink)  
Antiguo 22/12/2005, 08:24
 
Fecha de Ingreso: diciembre-2005
Ubicación: BCN
Mensajes: 165
Antigüedad: 12 años
Puntos: 2
Haber si nos entendemos bien....

Lo que quiero implementar en la pagina de administracion de equipo, es una sentencia "sql" que actualice el registro del usuario en mi caso "pekpon" una vez hechos algunos cambios de equipo:
No tengo ni idea de como se hace.
Tengo a un defensa(stam por ejemplo) en el registro que corresponde a el usuario "pekpon". Entonces si en la pagina de administrar equipo, me cambio el jugador actual por otro, quiero que al apretar enviar, el registro de la tabla "administracion" se actualice cambiando al actual defensa, por Stam....
  #29 (permalink)  
Antiguo 22/12/2005, 08:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues lo primero que tienes que hacer es mostrar los datos que registras de ese registro pero en un formulario con los valores pre-definidos en ellos.

Sería el mismo código que esto:
Cita:
<?
mysql_select_db("mydb", $link);
$result = mysql_query("SELEC * FROM administracion WHERE usuario='".trim($_COOKIE['LogUsuario'])."'", $link) or die (mysql_error());
if (mysql_num_rows($result) == 1){ // Con esto sólo esperamos UN resultado o ninguno pero no más.
$row = mysql_fetch_array($result);
echo "El portero es: <b>".$row['portero']."</b><br>";
echo "El defensa es: <b>".$row['defensa']."</b><br>";
echo "El medo es: <b>".$row['medio']."</b><br><br>";

} else {
echo "No hay resultados";
}
?>
pero generando un formulario:

actualizar_equipo.php
Código PHP:
<? 
mysql_select_db
("mydb"$link); 
$result mysql_query("SELEC * FROM administracion WHERE usuario='".trim($_COOKIE['LogUsuario'])."'"$link) or die (mysql_error()); 
if (
mysql_num_rows($result) == 1){ // Con esto sólo esperamos UN resultado o ninguno pero no más. 
$row mysql_fetch_array($result);
?>
<form action="procesa_actualiza_datos.php" method="post">
?> 
<input type="text" name="portero" value="<? echo $row['portero']?>">  
Y así con el resto ...
<input type="submit" name="modificar" value="modificar">
<?
} else { 
echo 
"No existe registro a editar"

?>
Con eso harías el UPDATE a tu BD:

procesa_actualiza_equipo.php
Código PHP:
<?
$link 
mysql_connect("localhost""usuario","pass");
mysql_select_db("mydb"$link);
mysql_query("UPDATE administracion SET portero='".trim($_POST['portero'])."' WHERE usuario='".trim($_COOKIE['LogUsuario'])."'") or die (mysql_error());
//y así con el resto de campos que puedas actualizar .. separados por comas despues del SET .. revisa un manual de SQL de Mysql
header ("Location: otrapagina.php");
?>

Un saludo,
  #30 (permalink)  
Antiguo 22/12/2005, 16:56
 
Fecha de Ingreso: diciembre-2005
Ubicación: BCN
Mensajes: 165
Antigüedad: 12 años
Puntos: 2
Bien...todo me funciono perfectamente a la primera!

Te explico mi siguiente problema:

Cuando el usuario quiere comprar un jugador necesita creditos que es dinero en el juego...

Estos creditos se van ganando cada vez q se ganan partidos...

Los creditos de cada usuario los he incluido en la tabla administracion campo "credito"

Imaginate que tengo 40 creditos y me "compro" un jugador, es decir:

actualizo la tabla administracion con el nombre del jugador que he comprado.....

si el jugador vale 30 creditos....como puedo hacer para que el campo "credito" que es donde se almacenan los creditos baje 30 puntos y se qde en 10 creditos...que seriala resta del jugador nuevo con el dinero que ya tenia ???

Esque no se como se hace esto...

No se si me he explicado bien....weno..

Saludos y Gracias
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 14:41.