PHP - Multiples consultas a mysql y guardarlas en un archivo de texto

   
Vista:

Multiples consultas a mysql y guardarlas en un archivo de texto

Publicado por Hector (5 intervenciones) el 05/05/2014 00:48:01
Hola a todos,
Tengo que extraer datos de una base de datos mysql, pero solo ciertos datos y guardarlos en un archivo de texto, si alguien me puede ayudar. es algo así:

$values = mysql_query("SELECT CODART, DESART, PRELTA FROM ".$db_tabla." where CODART=11007");

guardar en archivo de texto, luego otra consulta.

$values = mysql_query("SELECT CODART, DESART, PRELTA FROM ".$db_tabla." where CODART=11015");

guardar debajo de los datos anteriores en el mismo archivo de texto.

los códigos que debo consultar (CODART) los tengo en una tabla de excel. son como 100 consultas, por códigos.
y los códigos no son consecutivos.

agradezco todas la ayudas desde ya. gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Multiples consultas a mysql

Publicado por Hector (5 intervenciones) el 06/05/2014 00:01:04
Estimados, ya pude hacerlo, pero seguramente el codigo se puede mejorar ya que soy novato, ademas necesito optimizar el codigo ya que son como 100 consultas una por cada Id. aca dejo el codigo a ver si me entienden.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<html>
<body>
<?php
$link = mysql_connect("localhost", "user", "*******");
mysql_select_db("preciosweb", $link);
 
$result = mysql_query("SELECT * FROM ART where Id=11001", $link);
 
 
$ar=fopen("Preciosweb1.txt","a") or die("Problemas en la creacion");
 
  fputs($ar, mysql_result($result, 0, "Id"));
  fputs($ar, ", ");
  fputs($ar, mysql_result($result, 0, "Nombre"));
  fputs($ar,"\n");
 
$result = mysql_query("SELECT * FROM F_ART where Id=11003", $link);
 
 
  fputs($ar, mysql_result($result, 0, "Id"));
  fputs($ar, ", ");
  fputs($ar, mysql_result($result, 0, "Nombre"));
  fputs($ar,"\n");
 
$result = mysql_query("SELECT * FROM F_ART where Id=11008", $link);
 
 
  fputs($ar, mysql_result($result, 0, "Id"));
  fputs($ar, ", ");
  fputs($ar, mysql_result($result, 0, "Nombre"));
  fputs($ar,"\n");
 
exit;
 
?>
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Multiples consultas a mysql

Publicado por xve (5515 intervenciones) el 06/05/2014 11:06:13
Hola Hector, yo lo haría algo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<html>
<body>
<?php
$link = mysql_connect("localhost", "user", "*******");
mysql_select_db("preciosweb", $link);
 
$result = mysql_query("SELECT * FROM ART where Id=11001 ||  Id=11003 || Id=11008", $link);
 
$ar=fopen("Preciosweb1.txt","a") or die("Problemas en la creacion");
 
while($row=mysql_fetch_array($result))
{
    fputs($ar, $row["Id"]);
    fputs($ar, ", ");
    fputs($ar, $row["Nombre"]);
    fputs($ar,"\n");
}
 
fclose($ar);
?>
</body>
</html>

Es un poco mas corto, y utilizas únicamente una sola consulta a la base de datos... Si mañana tienes que añadir mas id's, o la consulta tiene que devolver mas registros, únicamente tienes que modificar la consulta sql.

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Multiples consultas a mysql

Publicado por Hector (5 intervenciones) el 06/05/2014 18:57:47
Gracias, ahora se ve mucho. existira una forma de dejar guardado en alguna forma los parametros, en este caso los ID, para poder repetir esto unas 1.000 veces. tal ves en alguna tabla.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Multiples consultas a mysql

Publicado por xve (5515 intervenciones) el 06/05/2014 22:29:57
Hola Hector, a que te refieres, a repetir esta instrucción 1000 veces pero con diferentes id's?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Multiples consultas a mysql

Publicado por Hector (5 intervenciones) el 07/05/2014 23:00:19
si correcto, con diferentes id. son como 3000 productos pero los códigos no son consecutivos, quiero hacerlos por grupos de 100 aproximadamente. los códigos van desde el 10000 al 99999, entonces la idea seria hacer una tabla en la base de datos y extraer uno por uno los id y hacer la consulta a otra tabla en la cual están los datos que necesito. es lo que se me ocurre.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Multiples consultas a mysql

Publicado por xve (5515 intervenciones) el 08/05/2014 07:56:38
Hola Hector, no se muy bien lo que quieres hacer, pero puedes vincular las dos tablas? es decir, en una sola consulta puedes vincular las dos tablas por los id's.

Nos puedes comentar exactamente que quieres hacer, y la estructura de las dos tablas? de esta manera intento explicarte la mejor manera que se me ocurra para solucionar tu problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Multiples consultas a mysql

Publicado por Hector (5 intervenciones) el 09/05/2014 14:16:09
Hola, muchas gracias por contestar, el problema que tengo es que instale una web con mysql, en la empresa, pero la base de datos de ventas esta en access, los códigos de productos (ID), no solo comprenden productos, si no también códigos que se usan en contabilidad, entonces no puedo tomar todos los códigos y consultar precios a la base de datos, pues me mostraría tambien las cuentas de contabilidad. bueno solucione el problema de access convirtiendo la base de access a mysql con Kexi, soluciono el problema de la compatibilidad, pero ahora debo hacer una tabla en sql que contenga todos los códigos de los productos solamente, luego abrir esa tabla tomar el primer código y con ese código consultar el precio y guardarlo en un archivo csv. para actualizar la web, y luego tomar el segundo y el tercero etc..

creo me conteste solo, jjajaj, ahora a trabajar, ya tengo la idea clara,

si tienes una forma de hacerlo cuéntame, muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar