Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] A partir de una consulta mostrar resultado en array

Estas en el tema de A partir de una consulta mostrar resultado en array en el foro de PHP en Foros del Web. El problema está en que encierras $arreglo entre paréntesis, déjalo así: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $insert = "INSERT INTO productos (clave) VALUES $arreglo ...

  #31 (permalink)  
Antiguo 31/01/2014, 11:49
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: A partir de una consulta mostrar resultado en array

El problema está en que encierras $arreglo entre paréntesis, déjalo así:

Código PHP:
Ver original
  1. $insert = "INSERT INTO productos (clave) VALUES $arreglo";

Recuerda que los valores de $arreglo ya están entre paréntesis (se me pasó eso en la respuesta anterior ).
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #32 (permalink)  
Antiguo 31/01/2014, 12:34
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Respuesta: A partir de una consulta mostrar resultado en array

xD y yo ya lei mil cosas y nada funcionaba jejejeje

Gracias Alexis con eso quedo bien....
pero tambien $usuario=$_GET['usuario']; (es un solo dato)

y es el mismo para todos los registros

intente insertarlo asi

$insert = "INSERT INTO productos (usuario,clave) VALUES ($usuario),$arreglo";

pero me arrojo el mismo error Column count doesn't match value count at row 1

aca tengo que usar un for para el insert???? o que me sugieres????
  #33 (permalink)  
Antiguo 31/01/2014, 12:45
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: A partir de una consulta mostrar resultado en array

No es necesario ningún bucle, así como inserto comillas simples y paréntesis entre cada dato, también puedo insertar el dato del usuario:

Código PHP:
Ver original
  1. $usuario = "'Juan'"; //Usuario de ejemplo
  2. $arreglo = "\'9\',\'10\',\'11\',\'12\'"; //Valor original
  3. $arreglo = str_replace("\'", "", $arreglo); //Elimino las barras invertidas y los apóstrofos
  4. $arreglo = explode(",", $arreglo); //Convierto la cadena en un array
  5. $arreglo = "('" . implode("', $usuario), ('", $arreglo) . "', $usuario)"; //Encierro a cada dato entre comillas y paréntesis

Con esto, $arreglo quedaría así:

Código HTML:
Ver original
  1. ('9', 'Juan'), ('10', 'Juan'), ('11', 'Juan'), ('12', 'Juan')

Y solamente tendrías que implementarlo en la inserción:

Código PHP:
Ver original
  1. $insert = "INSERT INTO productos (clave, usuario) VALUES $arreglo";

Esto sería lo mismo que hacer lo siguiente:

Código MySQL:
Ver original
  1. INSERT INTO productos (clave, usuario) VALUES ('9', 'Juan'), ('10', 'Juan'), ('11', 'Juan'), ('12', 'Juan')

Si el dato del usuario es un número, por ejemplo el Id, y en la tabla el campo del usuario es de tipo entero, quedaría así:

Código MySQL:
Ver original
  1. INSERT INTO productos (clave, usuario) VALUES ('9', 45), ('10', 45), ('11', 45), ('12', 45)

Te sugiero analizar cada bloque de código que algún usuario te proporciones, pues si lo hubieras hecho con los que te mostré en las respuestas anteriores, ya hubieras resuelto esto como lo acabo de hacer. No te limites a copiar y pegas el código, analízalo y adáptalo a tus necesidades, no olvides marcar el tema como solucionado si es que esto soluciona tu problema.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #34 (permalink)  
Antiguo 31/01/2014, 12:50
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Respuesta: A partir de una consulta mostrar resultado en array

Gracias Alexis eres un genio en esto
por último porfa recomiendame algún libro o tutorial para leer porque me queda mucho que aprender

Saludos nuevamente Gracias ;)
  #35 (permalink)  
Antiguo 31/01/2014, 12:58
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: A partir de una consulta mostrar resultado en array

Como alguna vez le dije a un amigo, la lógica de la programación es la misma en todos los lenguajes, solamente varía la sintaxis y las funciones nativas que cada lenguaje posea, cuando se tengan dudas con algo al respecto, en el manual oficial de cada lenguaje encuentras la orientación necesaria para darle solución a tus problemas.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #36 (permalink)  
Antiguo 31/01/2014, 13:01
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Respuesta: A partir de una consulta mostrar resultado en array

Cita:
Iniciado por Alexis88 Ver Mensaje
Como alguna vez le dije a un amigo, la lógica de la programación es la misma en todos los lenguajes, solamente varía la sintaxis y las funciones nativas que cada lenguaje posea, cuando se tengan dudas con algo al respecto, en el manual oficial de cada lenguaje encuentras la orientación necesaria para darle solución a tus problemas.

Saludos
Gracias por todo... un abrazo :)

Etiquetas: mysql, resultado, select, sql
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:27.