Foros del Web » Programando para Internet » PHP »

Insertar array en mysql

Estas en el tema de Insertar array en mysql en el foro de PHP en Foros del Web. Hola a todos tengo este codigo: <?php // Lanza todos los errores error_reporting(E_ALL | E_STRICT); // Tiempo ilimitado para el script set_time_limit(0); require_once 'ExcelToArray.php'; $obj ...
  #1 (permalink)  
Antiguo 22/05/2014, 15:29
 
Fecha de Ingreso: diciembre-2006
Mensajes: 32
Antigüedad: 17 años, 4 meses
Puntos: 0
Insertar array en mysql

Hola a todos tengo este codigo:

<?php
// Lanza todos los errores
error_reporting(E_ALL | E_STRICT);
// Tiempo ilimitado para el script
set_time_limit(0);

require_once 'ExcelToArray.php';
$obj = new ExcelToArray('MuestraLista.xlsx', 'Codigo');
//echo $obj->getDate('B2') . '<br>';
//$fech = $obj->getValueCellFromExcel('B2');
//echo PHPExcel_Style_NumberFormat::toFormattedString($fe ch,'YYYY-MM-DD' );

echo 'Cantidad Filas: ' . $obj->countRows() . '<br>';
echo 'Cantidad Columnas: ' . $obj->countColumns() . '<br>';
$a = ($obj->isColumn('Articulo'))? '1' : '0';
echo 'Existe columna Articulo: ' . $a . '<br>';
$a = ($obj->isColumn('Codigo'))? '1' : '0';
echo 'Existe columna Codigo: ' . $a . '<br>';

echo '<pre>';
echo '<h1>Arreglo Total</h1><br>';
echo 'Este es el arreglo que debes usar para realizar las consultas mysql.<br>';
var_dump($obj->getArray());
echo '</pre>';

anda genial muestra todos los array en la pagina, lo que yo necesito es que todo eso lo inserte en la base de datos que tengo que se llama:

products

donde hay una tabla:

datos

con los campos:

Articulo
Descripcion
Unidad
ListaA
ListaB
ListaC
ListaD
ListaE

para conectarme uso este codigo:

// Conectando, seleccionando la base de datos
$link = mysql_connect('localhost', 'root', '')
or die('No se pudo conectar: ' . mysql_error());
echo 'Connected successfully';
mysql_select_db('products') or die('No se pudo seleccionar la base de datos');

lo que no se como hacer es para pasar los datos...

$q_MySQL_Array = "INSERT INTO datos () VALUES ('$array')";
$MySQL_Array = mysql_query($q_MySQL_Array) or die (mysql_error());

eso de arriba no me sirve...ojala me puedan ayudar, gracias y saludos

Landom
  #2 (permalink)  
Antiguo 22/05/2014, 16:14
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Insertar array en mysql

Como es un array, utiliza la función implode, con la cual unirás a todos los valores del array en una cadena que podrás insertar en la BD.

Código PHP:
Ver original
  1. $valores = "('" . implode("', '", $array) . "')";
  2. $q_MySQL_Array = "INSERT INTO datos (Articulo, Descripcion, Unidad, ListaA, ListaB, ListaC, ListaD, ListaE) VALUES {$valores}";

No olvides desinfectar los datos.

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
  #3 (permalink)  
Antiguo 22/05/2014, 16:21
 
Fecha de Ingreso: diciembre-2006
Mensajes: 32
Antigüedad: 17 años, 4 meses
Puntos: 0
Respuesta: Insertar array en mysql

Hola Alexix88, gracias por tu respuesta...mira lo probe y me tira este error:

Notice: Undefined variable: array in C:\xampp\htdocs\terere\index.php on line 33

Warning: implode(): Invalid arguments passed in C:\xampp\htdocs\terere\index.php on line 33

la verdad que no tengo mucha idea de php por lo que no se que es lo que me quiere decir con ese error...
  #4 (permalink)  
Antiguo 22/05/2014, 16:34
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Insertar array en mysql

La variable $array que usé en el ejemplo, representa al array que tienes, el cual solo tú debes saber en qué variable se encuentra almacenada. Por favor no te limites a copiar y pegar el código que se te proporciona, analízalo y adecúalo a tus necesidades.

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
  #5 (permalink)  
Antiguo 22/05/2014, 16:42
 
Fecha de Ingreso: diciembre-2006
Mensajes: 32
Antigüedad: 17 años, 4 meses
Puntos: 0
Respuesta: Insertar array en mysql

Gracias, el tema que el unico codigo que tengo es el que pegue..no se cual es mi array...la verdad que no entiendo casi nada de php por eso recurri al foro...espero me puedan ayudar y gracias
  #6 (permalink)  
Antiguo 22/05/2014, 16:56
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Insertar array en mysql

Pues, me parece que el array es lo que genera esto: $obj->getArray(), entonces, ese es el array al que debes de aplicar lo que te indiqué en el comentario anterior. Analiza el código, por favor, analízalo, el que sepas poco o mucho sobre el lenguaje, no te exime de hacerlo. Existen manuales a los que puedes consultar en caso de dudas o incluso una simple búsqueda en Google puede serte de mucha ayuda.
__________________
«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
  #7 (permalink)  
Antiguo 22/05/2014, 17:10
 
Fecha de Ingreso: diciembre-2006
Mensajes: 32
Antigüedad: 17 años, 4 meses
Puntos: 0
Respuesta: Insertar array en mysql

Yo te agradezco la intensión, pero la idea es que uno recurre al foro para encontrar verdadera ayuda (no significa que me hagan el trabajo) no para que me manden a leer...es obvio que tengo mucho pero mucho que aprender entre otras cosas leyendo, probando, consultando etc...pero posteo la duda que tengo porque existe la necesidad de resolver mi problema en la medida de lo posible en un tiempo razonable, no tal vez en meses o mas que me puede llevar aprender a resolver el problema que tengo..
Es por eso que uno recurre al foro, si ya tengo casi todo hecho, obviamente tambien con ayuda, y hay una parte que no puedo resolver la idea no es mandar a nadie a leer ni al colegio ni nada, eso es obvio que lo tiene que hacer pero la idea de un foro es ayudar y parece que las respuestas son pistas tipo adivinanzas en vez de ayudas..

Gracias igual por intentarlo no me sirvio sigue con error

Notice: Array to string conversion in C:\xampp\htdocs\terere\index.php on line 33

pero deja no te hagas problema igual me ayudaste ya....
  #8 (permalink)  
Antiguo 22/05/2014, 17:16
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Insertar array en mysql

¿Adivinanzas? ¿Tengo que ser más explícito para que puedas entender algo tan simple? Y ni la excusa del poco conocimiento sobre el lenguaje te exime de ello. Si te dije que consultes manuales sobre el lenguaje, es para que aprendas, ya que tú mismo dices que no sabes mucho sobre PHP. Yo lo hago a diario porque sé que me falta mucho por aprender, nunca se puede saberlo todo. Te limitaste a copiar y pegar el primer código que te pasé, sin siquiera haberlo analizado, ¿es que a caso esperas a que te demos todo servido?, te estoy dando una muy clara idea de cómo puedes dar solución a tu problema. Si no entiendes, vuelve a leer una y otra vez, analiza línea a línea el código, con calma y paciencia, consulta manuales si tienes dudas sobre la sintaxis o los métodos que usas, pero no esperes a que se te de todo exactamente como lo estás buscando. En el foro orientamos, aclaramos dudas, pero no hacemos todo el trabajo que le corresponde a quien elabora la publicación. Me pregunto si habrás leído lo que dije en la primera línea del último comentario que hice.

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
  #9 (permalink)  
Antiguo 22/05/2014, 17:23
 
Fecha de Ingreso: diciembre-2006
Mensajes: 32
Antigüedad: 17 años, 4 meses
Puntos: 0
Respuesta: Insertar array en mysql

Y yo me pregunto que parte de lo que te yo te puse no entendiste? jamas me paso en un foro semajante burrada ni en este ni en ningun otro que consulto, todas las veces que pedi ayuda me dieron ayuda=solucion=lo que vos quieras llamarle servido terminado y no se cuantas boludeces pusiste...si te parece asi directamente no te metas a ayudar y listo tu ayuda no sieve, para nada sirve solo generas confusion y que la gente se vaya a otro lado a consultar lo que justamente no sabe y pide ayuda

A VER SI ENTENDES ¿QUE ANALISIS PUEDO HACER SI NO ENTIENDO TE DIJE?

esto es como que alguien quiera saber como se dice buen dia en ingles y lo masndes a estudiar verb to be para que pueda conjugar y decir buen dia (que es good morning aclaro por las dudas que no lo sepas)

sos un ridiculo..

haceme un favor no te metas mas y si el resto piensa como vos no hay drama recurrire a otro lado y listo no tengo 7 años de antiguedad en el foro para que vos me vengas con huevadas....

te repito..abstenete de contestar a este usuario...considero que no ayudas te haces el que sabes y queres que los que dicen que no saben ADIVINEN...

abstenete en futuras respuestas por favor...
  #10 (permalink)  
Antiguo 22/05/2014, 17:38
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Insertar array en mysql

Además de obstinado, eres un malcriado. Para participar en el foro, tengo que pausar mis labores, ¿y para qué?, ¿para encontrarme con un tipo tan malcriado como tú?

Te dije que analizaras código, pues para la única línea que añadí en mi respuesta, te dejé un enlace hacia la documentación oficial de la función implode. Si no entiendes o de plano no sabes sobre el lenguaje, lo mejor que puedes hacer es estudiar, por eso te dije que leas manuales al respecto, ¿o crees que acá todos nacimos sabiendo sobre esto? Creo que la mayoría de usuarios del foro, tenemos ya cientos de horas de estudio constante, el cual no se detiene hasta la fecha pues nunca se termina de aprender.

Aquí nadie te va a dar la respuesta exacta a tus problemas, te van a orientar, hacerte ver algún error que cometas, pero es para que pienses, analices y adaptes a tus necesidades. Si buscas que alguien te de todo servido, lo mejor será que contrates a un programador que haga la labor por ti, acá nadie nos paga por ayudar y aún así lo hacemos con personas a las que probablemente jamás conoceremos en nuestras vidas.

Así que ya sabes, si quieres que alguien te haga todo el trabajo, que implementen el código que exactamente necesitas, busca y contrata a un programador, aquí te vamos a orientar, no a hacer lo que tú debes de hacer, que es adaptar las soluciones que se te dan al problema que tienes.

Y por favor, si vas a seguir con esa actitud y con tanta majadería, mejor consulta en otra parte. Ojo que estás violando la norma 2.10 de las políticas del foro, si dices que llevas tanto tiempo acá, al menos deberías conocerlas.

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

Última edición por Alexis88; 22/05/2014 a las 17:50 Razón: Corrección gramatical

Etiquetas: mysql, select, sql, tabla
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 15:23.