Foros del Web » Programando para Internet » PHP »

base de datos mysql

Estas en el tema de base de datos mysql en el foro de PHP en Foros del Web. Hola estoy haciendo una tabla en una base de datos mysql, recibo los datos de un formulario y quiero guardar varias variables en un mismo ...
  #1 (permalink)  
Antiguo 24/11/2009, 05:12
 
Fecha de Ingreso: octubre-2009
Mensajes: 75
Antigüedad: 14 años, 6 meses
Puntos: 0
base de datos mysql

Hola estoy haciendo una tabla en una base de datos mysql, recibo los datos de un formulario y quiero guardar varias variables en un mismo campo o de alguna otra forma, ya que solo quiero añadir un enlace, seria añadir una palabras delante y otras atras de la variable, ahora mismo lo tengo asi:
mysql_query ("INSERT INTO cursos ( nombrecurso) VALUES ( '".$_GET['nombre']."')",$link) , el problema es que no se como ponerlo para que se guarde de esta forma, y esta misma pregunta la hago para la actualizacion, como lo actualizaria, ya que no quiero que borre lo que hay dentro si no que lo mantenga y se implemente lo nuevo.

Un saludo y gracias de antemano.
  #2 (permalink)  
Antiguo 24/11/2009, 05:36
 
Fecha de Ingreso: septiembre-2008
Mensajes: 18
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: base de datos mysql

Hola me parece que te convendria trabajar con el GET fuera de la consulta o sea como $consulta=$_GET y despues mas alla de esto trabajar con % % entre medio de las variables.
Debe ser esa tu inquietud aunque no estoy muy seguro.
  #3 (permalink)  
Antiguo 24/11/2009, 05:53
 
Fecha de Ingreso: octubre-2009
Mensajes: 75
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: base de datos mysql

Cita:
Iniciado por xavim Ver Mensaje
Hola me parece que te convendria trabajar con el GET fuera de la consulta o sea como $consulta=$_GET y despues mas alla de esto trabajar con % % entre medio de las variables.
Debe ser esa tu inquietud aunque no estoy muy seguro.

gracias mira lo he puesto asi y me funciona, '$url$archivo_nombre$url1' , lo unico que ahora para la consulta de actualizacion, nose como ponerlo ya que quiero guardar el nuevo resultado pero que me mantenga el que tenia anteriormente, tienes alguna idea de como ponerlo??

un saludo
  #4 (permalink)  
Antiguo 24/11/2009, 06:08
 
Fecha de Ingreso: septiembre-2008
Mensajes: 18
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: base de datos mysql

No entiendo algo... $url$archivo_nombre$url1 son datos nuevos verdad. Y ahora e un campo que tiene por ejemplo "Mama" quieres agregarle toda la otra cadena al lado ?
  #5 (permalink)  
Antiguo 24/11/2009, 06:11
 
Fecha de Ingreso: octubre-2009
Mensajes: 75
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: base de datos mysql

Cita:
Iniciado por xavim Ver Mensaje
No entiendo algo... $url$archivo_nombre$url1 son datos nuevos verdad. Y ahora e un campo que tiene por ejemplo "Mama" quieres agregarle toda la otra cadena al lado ?

si son todos campos nuevos, que los guardo en variables y los guardo, y ahora como tu dices en un campo que contiene "mama" , guardar al lado toda esa cadena, lo intento hacer con una consulta, el resultado guardarlo en una variable, y ponerlo detras de la cadena, me lo guarda pero me guarda caracteres raros... nose como hacerlo... gracias por la paciencia que tienes jeje
  #6 (permalink)  
Antiguo 24/11/2009, 06:22
 
Fecha de Ingreso: septiembre-2008
Mensajes: 18
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: base de datos mysql

Seria bueno que pongas aqui el codigo asi lo vemos, por otro lado.... tienes un id en tu tabla verdad ? El campo este en el que guardas es tipo TEXT ?
  #7 (permalink)  
Antiguo 24/11/2009, 06:42
 
Fecha de Ingreso: octubre-2009
Mensajes: 75
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: base de datos mysql

Cita:
Iniciado por xavim Ver Mensaje
Seria bueno que pongas aqui el codigo asi lo vemos, por otro lado.... tienes un id en tu tabla verdad ? El campo este en el que guardas es tipo TEXT ?
el codigo que tenog para la actualizacion es :


mysql_query ("update cursos set nombrearchivo='$url$archivo_nombre$url1$archivo_no mbre$url2' where nombrecurso='$nombrecur'",$link);

y tengo un identificador que es numerico, y donde lo guardo es numerico y el error que me da cuando coje la variable de la consulta como dije antes es este:

<a href="../../../cursos/civeonline.mdb">civeonline.mdb'Resource id #4

el Resource id #4 es el error, que no se ni porque me sale.

un saludo
  #8 (permalink)  
Antiguo 24/11/2009, 07:10
Avatar de Fairy_Boy  
Fecha de Ingreso: octubre-2009
Ubicación: Kokiri Forest
Mensajes: 235
Antigüedad: 14 años, 6 meses
Puntos: 5
Respuesta: base de datos mysql

Hola.
Porque tantas variables para un solo campo de la bd?
porque te complicas tanto, en vez de poner todas esas variables para ese campo, deberias
unirlas en una sola y luego insertar dicha variable.

y un update que te sirva de ejemplo, seria:

Código PHP:
<?php
mysql_query
("UPDATE tu_tabla SET id = '".$campo1."', nom = '".$campo2."' WHERE id = '".$id."'");
?>
ojala te sirva.
=)
  #9 (permalink)  
Antiguo 24/11/2009, 08:25
 
Fecha de Ingreso: octubre-2009
Mensajes: 75
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: base de datos mysql

Cita:
Iniciado por Fairy_Boy Ver Mensaje
Hola.
Porque tantas variables para un solo campo de la bd?
porque te complicas tanto, en vez de poner todas esas variables para ese campo, deberias
unirlas en una sola y luego insertar dicha variable.

y un update que te sirva de ejemplo, seria:

Código PHP:
<?php
mysql_query
("UPDATE tu_tabla SET id = '".$campo1."', nom = '".$campo2."' WHERE id = '".$id."'");
?>
ojala te sirva.
=)

eso ya me da= tener varias variables que solo una, ahroa el problema que tengo es como hacer que al actualizar me mantenga el conetenido que tenia antes el campo y se añada el contenido nuevo....:S
  #10 (permalink)  
Antiguo 24/11/2009, 08:33
Avatar de Fairy_Boy  
Fecha de Ingreso: octubre-2009
Ubicación: Kokiri Forest
Mensajes: 235
Antigüedad: 14 años, 6 meses
Puntos: 5
Respuesta: base de datos mysql

luego del set, como en el update que te comente,
debes poner los campos que quieres que se actualicen y los que no, se mantienen.
en ese caso (el ejemplo), se actualiza el ID y el NOM, si quieres que sea solo 1, lo pones.
Saluos!
  #11 (permalink)  
Antiguo 24/11/2009, 08:51
 
Fecha de Ingreso: junio-2009
Mensajes: 128
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: base de datos mysql

Hola amigo;
No sé si ya te hayan ayudado como tu esperabas pero deberias pegarnos mas del código

$url$archivo_nombre$url1$archivo_no mbre$url2

lo importante saber es estas variables de donde las estas sacando?


Saludos
__________________
krowmx
Hostings y Dominios
Tú defines la idea, nosotros la desarrollamos
  #12 (permalink)  
Antiguo 24/11/2009, 09:31
 
Fecha de Ingreso: octubre-2009
Mensajes: 75
Antigüedad: 14 años, 6 meses
Puntos: 0
Exclamación Respuesta: base de datos mysql

yo no quiero que actualicen unos campos si y otros no, yo quiero actulizar un campo, pero sin borrar el contenido que tenia es decir actualizar añadiendo lo nuevo pero sin borrar lo que tenia antes, sabeis como hacerlo??

las variables las genero yo.

$nombre = $_POST['nombre'];
echo "&nbsp;";
$archivo = $_POST['archivo'];
$url = '<a href="../../../cursos/';
$url1 = '">';
$url2 = '</a>';

// Conectar con la BD
$link = mysql_connect('localhost', 'root', '');
if (!$link)
{
die('No se pudo conectar: ' . mysql_error());
}
echo 'Conectado a la BD';

// Seleccionar la BD
$db = mysql_select_db("prueba",$link)
or die("No se pudo seleccionar la BD");


echo 'BD seleccionada';
echo "<br /><br />";
$archivo_nombre= $_FILES["archivo"]["name"];
$archivo_peso= $_FILES["archivo"]["size"];
$archivo_temporal= $_FILES["archivo"]["tmp_name"];


// Insertar filas

mysql_query ("update cursos set nombrearchivo='$url$archivo_nombre$url1$archivo_no mbre$url2' where nombrecurso='$nombrecur'",$link);
if (@copy($archivo_temporal,'../cursos/'.$archivo_nombre)){
echo "Archivo subido $archivo_temporal = $archivo_nombre<br>";
}
echo "USUARIO VALE";


?>

ese es el codigo entero lo que hago es copiar un docuemnto que subo de un formulario en una carpeta y luego el nombre lo copio como un enlace en la base de datos, y yo quiero que los enlaces se vayan copiadno seimpre en el mismo campo, sin borrar el anterior enlace.

Un saludo.
  #13 (permalink)  
Antiguo 24/11/2009, 09:36
Avatar de Fairy_Boy  
Fecha de Ingreso: octubre-2009
Ubicación: Kokiri Forest
Mensajes: 235
Antigüedad: 14 años, 6 meses
Puntos: 5
Respuesta: base de datos mysql

Haaaa!!!
acabo de entender xD
pero en ese caso, si actualizas un campo, con un nuevo dato, pero sin eliminar el anterior,
seria mas un insert que un update
y si lo ves asi, seria una nueva fila mejor dicho, por ende, tendria que poseer
los demas campos, ya que la id (Primary key) no se puede duplicar.
nose si me entiendes =)
  #14 (permalink)  
Antiguo 24/11/2009, 09:42
 
Fecha de Ingreso: octubre-2009
Mensajes: 75
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: base de datos mysql

Cita:
Iniciado por Fairy_Boy Ver Mensaje
Haaaa!!!
acabo de entender xD
pero en ese caso, si actualizas un campo, con un nuevo dato, pero sin eliminar el anterior,
seria mas un insert que un update
y si lo ves asi, seria una nueva fila mejor dicho, por ende, tendria que poseer
los demas campos, ya que la id (Primary key) no se puede duplicar.
nose si me entiendes =)
si te entiendo, pero nose como hacerlo, el campo en el que quiero que se añada no es la clave primaria el campo se llama nombrearchivo ...pero nose como hacerlo...
  #15 (permalink)  
Antiguo 24/11/2009, 09:45
Avatar de Fairy_Boy  
Fecha de Ingreso: octubre-2009
Ubicación: Kokiri Forest
Mensajes: 235
Antigüedad: 14 años, 6 meses
Puntos: 5
Respuesta: base de datos mysql

si, pero en el fondo te digo esto, porque tendrias duplicidad de datos
x filas conteniendo lo mismo no tendria mucho sentido.
incluso no teniendo una PK en la tabla.
  #16 (permalink)  
Antiguo 24/11/2009, 09:50
 
Fecha de Ingreso: octubre-2009
Mensajes: 75
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: base de datos mysql

Cita:
Iniciado por Fairy_Boy Ver Mensaje
si, pero en el fondo te digo esto, porque tendrias duplicidad de datos
x filas conteniendo lo mismo no tendria mucho sentido.
incluso no teniendo una PK en la tabla.
no tendria duplicidad, ya que lo que yo quiero es actualizar un campo con lo que contenia antes y el neuvo dato, pero sin añadir una nueva fila, ya que esa seria una de las cosas que compruebo que tenga el mismo codigo para hacer hay la actualizacion, con esto consigo que no haya datos duplicados, actulizando un campo con el dato que tenia anteriormente y el dato actual que le ingreso, pero acutalizarlo se, pero caudno lo actualizo se borra el dato anterior y se me guarda el neuvo y yo lo que quiero es que se guarden los datos, no se si me estoy explicando bien....
  #17 (permalink)  
Antiguo 24/11/2009, 10:02
Avatar de Fairy_Boy  
Fecha de Ingreso: octubre-2009
Ubicación: Kokiri Forest
Mensajes: 235
Antigüedad: 14 años, 6 meses
Puntos: 5
Respuesta: base de datos mysql

En realidad, nuevamente no te entiendo.
porque al actualizar un dato, lo "cambias" osea, reemplazas su contenido.
de que forma piensas que podrias hacerlo?
ya que si no insertas otra fila y no quieres que borre los datos anteriores pero si actualizarlos
no se me ocurre otra manera "logica", porlomenos en una consulta.
Saludos!
  #18 (permalink)  
Antiguo 24/11/2009, 10:32
 
Fecha de Ingreso: octubre-2009
Mensajes: 75
Antigüedad: 14 años, 6 meses
Puntos: 0
Exclamación Respuesta: base de datos mysql

Cita:
Iniciado por Fairy_Boy Ver Mensaje
En realidad, nuevamente no te entiendo.
porque al actualizar un dato, lo "cambias" osea, reemplazas su contenido.
de que forma piensas que podrias hacerlo?
ya que si no insertas otra fila y no quieres que borre los datos anteriores pero si actualizarlos
no se me ocurre otra manera "logica", porlomenos en una consulta.
Saludos!
me has entendido bien jeje yo quiero actualizar pero tambien guardando el dato anterior en mismo campo, lo estoy intentando realizar con una consulta tal que me tome ese campo y luego ponerlo como variable y que lo guarde antes o despues del nuevo dato que ingreso ya eso me da igual, pero en vez de guardarme el resultado me guarda una parte pero me incluye este error,Resource id #4, y me da igual hacerlo con una consulta o con lo que sea lo importante es hacerlo jeje XD, pero ami solo se me ocurre con la forma de la consulta, hay alguna otra forma para cojer le dato que hay en ese campo y leugo añadirlo a la vez que añado el nuevo campo??? un saludo y gracias
  #19 (permalink)  
Antiguo 24/11/2009, 11:19
Avatar de Fairy_Boy  
Fecha de Ingreso: octubre-2009
Ubicación: Kokiri Forest
Mensajes: 235
Antigüedad: 14 años, 6 meses
Puntos: 5
Respuesta: base de datos mysql

Tu, lo que quieres es concatenar los 2 campos y asi ir guardandolos?
algo asi como:
tener "casa" y al actualizar esa fila, en especial ese dato, luego quede "casa casa2" ???
o algo asi???
en ese caso, deberias hacer una consulta antes de actualizarlo.
y a partir de los datos obtenidos de la consulta, guardar en una variable, el dato de dicho campo a actualizar.
luego, antes de actualizar, concatenar el contenido de la variable anterior con el de la
que posee el nuevo dato y luego actualizar la fila con el dato completo.
^^

PD: ese Resource id #4 debe ser por un echo que estas haciendo.
intenta mostrarlo con print_r($variable);
Saludos!
  #20 (permalink)  
Antiguo 25/11/2009, 09:37
 
Fecha de Ingreso: junio-2009
Mensajes: 128
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: base de datos mysql

Sería así:

Código PHP:

// Insertar filas

$query=mysql_query("SELECT nombrearchivo FROM cursos WHERE nombrecurso='$nombrecur'",$link);
$res=mysql_fetch_assoc($query); //CON ESTO SACAS EL VALOR ANTERIOR
$valoranterior=$res["nombrearchivo"];

mysql_query ("update cursos set nombrearchivo='$valoranterior$url1$archivo_no mbre$url2' where nombrecurso='$nombrecur'",$link); //concatenas con los nuevos valores
if (@copy($archivo_temporal,'../cursos/'.$archivo_nombre)){
echo 
"Archivo subido $archivo_temporal = $archivo_nombre<br>"
__________________
krowmx
Hostings y Dominios
Tú defines la idea, nosotros la desarrollamos
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 02:55.