Foros del Web » Programando para Internet » PHP »

Necesito ayuda insert

Estas en el tema de Necesito ayuda insert en el foro de PHP en Foros del Web. Hola a todos , soy nuevo en este foro pero lo encontre muy interesante por la cantidad de informacion que abarca. Veamos tengo un problemilla ...
  #1 (permalink)  
Antiguo 17/11/2009, 09:55
 
Fecha de Ingreso: noviembre-2009
Mensajes: 76
Antigüedad: 14 años, 5 meses
Puntos: 2
Exclamación Necesito ayuda insert

Hola a todos , soy nuevo en este foro pero lo encontre muy interesante por la cantidad de informacion que abarca.

Veamos tengo un problemilla con una magina web que estoy creando. Y me he quedado atascado.

Estoy desarrollando un juego ROL Online y lo mio ciertamente es el J+ y C++ no tanto mysql y php , el problema que tengo es el siguiente , necesito crear una pagina en php , la cual debe interactuar con una base de datos , la question es que entiendo las consultas e inserciones simples de sql , pero esta me deja algo agobiado.

Aqui van los datos precisos:

Base de datos : rolgamers_db

Tablas necesarias : characters , items

Formato de las tablas :

Characters: 14 campos y los necesarios son : characterId , Name

Items : 7 campos y los necesarios son : ownerId(la misma que el characterId) , ItemId(siempre sera 25000) , objectId ( prymary key autoincrementable) , count(cantidad de items que se insertaran)


El proposito de esta pagina debe ser introducir el nombre de "character" en un campo de formulario y aceptar (Submit) lo que debe hacer el php es en relacion al nombre de "character" "characters.name" seleccionar (consulta) el "characterId" y guardarlo en una variable y despues en la tabla "items" hacer un INSERT con VALUES [(ownerId) = "&characterId" (objectId) = "NULL" (ItemId) = "25000" (count) = "500"]

Lo que no se construir es el codigo , por eso pido si alguien puede que por favor me ayude.

Aqui van variables como ejemplo para ver que se puede hacer:


Variables:

BasedeDatos: game
Tablas: las arriba mencionadas
Host: localhost
User: root
Pass: root

Ejemplo de datos para tablas:

Characters:

Name | characterId |

Darkstar | 010022 |



Items :

ownerId | objectId | ItemId | count |

010022 | 07001 | 724 | 6 |



Si alguien me puede dar un ejemplo del codigo que pueda usar se lo agradeceria.


Atentamente: Stan
  #2 (permalink)  
Antiguo 17/11/2009, 10:05
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Necesito ayuda insert

Tu consulta abarca dos campos: Programación en PHP y la interacción MySQL.
En principio, casi todo el problema es específicamente de PHP, por lo que yo te sugeriría que postearas directamente en el Foro de PHP, donde te van a ayudar mejor, y si algo de la inserción de datos a MySQL presenta problemas, preguntar aquí.

Para que entiendas bien: Conexión a la base, toma de datos de formularios, almacenamiento de variables en los scripts, tablas visuales en la página, transferencia de variables a la sentencia de SQL, son todos asuntos de programación en PHP, no de BBDD.
La sentencia SQL en sí, las consultas y las tablas de la base, si son asunto de SQL. Pero como todo el problema comienza con los usuarios interactuando con la página web, es mejor que comiences por allí y luego vemos cómo resolver bien las consultas necesarias.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 17/11/2009, 10:13
 
Fecha de Ingreso: noviembre-2009
Mensajes: 76
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Necesito ayuda insert

Gracias por la respuesta rapida , bueno por lo que estube viendo en el foro , practicamente lo que tendria que crear son 2 archivos php , uno seria p.ej. connect.php , que haria la conexion con la bdd , y luego seria por ejemplo el insert.php que seria el que tomaria la variable de "name" de la tabla de characters para hacer una consulta con ella y tomar la segunda variable que seria el "characterId" para luego insertarlo junto con los demas VALUES en la tabla "items"

o me equivoco ?

bueno seguire tu consejo y posteare en php , a ver si alguien me ayuda con lo del formulario y demas.

gracias
  #4 (permalink)  
Antiguo 17/11/2009, 10:14
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Hola, Foxaurus. Bienvenido al foro.

Traslado el tema a una sección que encaja mejor con tu pregunta.
Tema trasladado desde la sección de Mysql.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 17/11/2009, 11:48
 
Fecha de Ingreso: noviembre-2009
Mensajes: 76
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Necesito ayuda insert

Bueno de momento veo que nadie ha posteado , he visto que lo unico que necesito es un formulario con un campo de texto que guarde una variable , y luego atravez de esta variable haga una consulta sql para guardar el resultado como otra variable , y con ella ya hacer el registro en la tabla definitiva , pero no se como hacerlo.
  #6 (permalink)  
Antiguo 17/11/2009, 11:51
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Necesito ayuda insert

www.php.net/mysql_connect
www.php.net/mysql_query

es lo que necesitas.
__________________
Hospedaje Web al mejor costo!
  #7 (permalink)  
Antiguo 17/11/2009, 11:56
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Necesito ayuda insert

pues como tu dices primero debes crear un formulario donde pases una variable y luego otra pagina donde recuperes el valor y lo introduzcas a un query donde puedas almacenar en tu bd
  #8 (permalink)  
Antiguo 17/11/2009, 12:04
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Necesito ayuda insert

un ejemplo basico:

index.php

Código php:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <title>Documento sin t&iacute;tulo</title>
  6. </head>
  7.  
  8. <body>
  9. <form id="form1" name="form1" method="post" action="procesar.php">
  10.   <label>Dato:
  11.   <input type="text" name="dato" />
  12.   </label>
  13.   <p>
  14.     <label>
  15.     <input type="submit" name="Submit" value="Enviar" />
  16.     </label>
  17.   </p>
  18. </form>
  19. </body>
  20. </html>

procesar.php
Código php:
Ver original
  1. <?php
  2. include "conexion.php";
  3. $dato=$_POST['dato'];
  4. conectar();
  5. mysql_query("INSERT INTO tabla(campo1)VALUE('$dato')");
  6. desconectar();
  7. ?>

conexion.php

Código php:
Ver original
  1. <?php
  2. function conectar()
  3. {
  4.     mysql_connect("localhost","root","");
  5.     mysql_select_db("nombre_base_datos");
  6. }
  7. function desconectar()
  8. {
  9.     mysql_close();
  10. }
  11. ?>

espero te sirva, suerte
  #9 (permalink)  
Antiguo 17/11/2009, 12:38
 
Fecha de Ingreso: noviembre-2009
Mensajes: 76
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Necesito ayuda insert

He intentado hacer una prueba con el ejemplo que me habeis dado , y al intentar ejecutarlo , tras enviar el formulario me da error de apache y no continua con la ejecucion
  #10 (permalink)  
Antiguo 17/11/2009, 12:42
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Necesito ayuda insert

cual es el error??
  #11 (permalink)  
Antiguo 17/11/2009, 12:57
 
Fecha de Ingreso: noviembre-2009
Mensajes: 76
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Necesito ayuda insert

vale tengo otra duda , por ejemplo si yo pongo un codigo que sea :


mysql_query("SELECT charid FROM prueba WHERE name ='$name'");

declarando antes atravez de un formulario la variable $name

que codigo debo poner para que luego ese query salga por pantalla con un echo , o se almacene en otra variable que se llame $charid ????

Alguien me lo puede decir porfavor
  #12 (permalink)  
Antiguo 17/11/2009, 12:57
 
Fecha de Ingreso: noviembre-2009
Mensajes: 76
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Necesito ayuda insert

el error de APACHE era mio sorry , simplemente mala syntaxis en los archivos ya esta arreglado
  #13 (permalink)  
Antiguo 17/11/2009, 12:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Necesito ayuda insert

Debes usar mysql_fetch_*:
mysql_fetch_row
mysql_fetch_array
mysql_fetch_assoc
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #14 (permalink)  
Antiguo 17/11/2009, 13:00
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Necesito ayuda insert

podrias poner:


Código php:
Ver original
  1. $busq=mysql_query("SELECT charid FROM prueba WHERE name ='$name'");
  2. $consulta=mysql_fethc_array($busq);
  3. echo $consulta['charid'];

espero salga
  #15 (permalink)  
Antiguo 17/11/2009, 13:01
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Necesito ayuda insert

ha y si debes de recuperar la variable $name para q puedas encontrar el registro q buscas porque sino no estarias buscando nada
  #16 (permalink)  
Antiguo 17/11/2009, 13:06
 
Fecha de Ingreso: noviembre-2009
Mensajes: 76
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Necesito ayuda insert

Cita:
Iniciado por dcreate Ver Mensaje
podrias poner:


Código php:
Ver original
  1. $busq=mysql_query("SELECT charid FROM prueba WHERE name ='$name'");
  2. $consulta=mysql_fethc_array($busq);
  3. echo $consulta['charid'];

espero salga



Lo probe pero asi no sale me da este error :


Fatal error: Call to undefined function mysql_fethc_array() in C:\wamp\www\procesar.php on line 12

si tienes ideas ponlas , mientras voy a buscar lo que me pusieron sobre buscar los mysql fetch
  #17 (permalink)  
Antiguo 17/11/2009, 13:07
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Necesito ayuda insert

y como lo dice david puedes utilizar el


la diferencia de estos es


mysql_fetch_row()->devuelve el resultado en array numerico, $var[0]
mysql_fetch_assoc()->devuelve el resultado en array asosiativo, $var['campo']
mysql_fetch_array()->devuelve el resultado en array de los tipos, $var[0] o $var['campo']
  #18 (permalink)  
Antiguo 17/11/2009, 13:07
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Necesito ayuda insert

Es que el nombre de la función es mysql_fetch_array, no mysql_fethc_array.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #19 (permalink)  
Antiguo 17/11/2009, 13:08
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Necesito ayuda insert

es q me equivoq, esta mal escrito fetch, es asi:

Código php:
Ver original
  1. $consulta=mysql_fetch_array($busq);
  #20 (permalink)  
Antiguo 17/11/2009, 13:37
 
Fecha de Ingreso: noviembre-2009
Mensajes: 76
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Necesito ayuda insert

vale de momento la idea principal marcha perfectamente, solo falta 1 cosa os explico


<?php

include "conexion.php";

$name=$_POST['name'];

conectar();

$busq=mysql_query("SELECT charid FROM prueba WHERE name ='$name'");


$busq=mysql_query("SELECT charid FROM prueba WHERE name ='$name'");

$consulta=mysql_fetch_array($busq);

mysql_query("INSERT INTO prueba2(ownerid,itemid,count)

VALUES('$consulta',25000,5000)");

desconectar();

?>




este es el codigo de lo que se ejecuta , va perfecto , añade la insercion y todo , lo unico que en los valores de (ownerid) no me inserta el valor sino que inserta "0" porque es ? alguien lo sabe ? , tal vez porque no reconoce la variable ?
  #21 (permalink)  
Antiguo 17/11/2009, 13:39
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Necesito ayuda insert

Es que $consulta es un array, si quieres recuperar el valor del campo charid, debes usar $consulta['charid']
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #22 (permalink)  
Antiguo 17/11/2009, 13:40
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Respuesta: Necesito ayuda insert

Qué tal...

Creo que ya te dieron el link oficial para que veas como funciona mysql_fetch_array. Sin embargo te lo dejo de nuevo:

http://www.php.net/mysql_fetch_array

No lo estás sabiendo utilizar...

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #23 (permalink)  
Antiguo 17/11/2009, 13:45
 
Fecha de Ingreso: noviembre-2009
Mensajes: 76
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Necesito ayuda insert

vale ya esta simplemente tenia que meter otra variable algo asi :


$ownerid=$consulta['charid'];

mysql_query("INSERT INTO prueba2(ownerid,itemid,count) VALUES('$ownerid',25000,5000)");


gracias a todos chicos , soys unos fieras , me habeis salvado de un atasco enorme , y lo peor es que comparado con el proyecto que estoy haciendo , esto era algo insignificante ( encuanto a programacion ) pero me tenia atascado gracias de nuevo a todos
  #24 (permalink)  
Antiguo 17/11/2009, 15:18
 
Fecha de Ingreso: noviembre-2009
Mensajes: 76
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Necesito ayuda insert

una ultima pregunta cuales serian los codigos para que despues de hacer el INSERT

desconecte de la bdd y vaya a una pagina por ejemplo google.com
  #25 (permalink)  
Antiguo 17/11/2009, 15:39
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Necesito ayuda insert

en mi archivo conexion hay una funcion q se llama desconectar()
  #26 (permalink)  
Antiguo 17/11/2009, 15:41
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Necesito ayuda insert

por ejemplo

Código php:
Ver original
  1. mysql_query("INSERT ...");
  2. desconectar();
  3. echo '<script>document.location="www.google.com"</script>';
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 19:45.