Foros del Web » Programando para Internet » PHP »

trabajar con datos de una consulta

Estas en el tema de trabajar con datos de una consulta en el foro de PHP en Foros del Web. Wenas, mi duda es ¿se puede trabajar con datos a partir de una consulta tal y como se puede hacer como con Access? Por poner ...
  #1 (permalink)  
Antiguo 18/07/2014, 11:18
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 9 años, 9 meses
Puntos: 30
trabajar con datos de una consulta

Wenas, mi duda es ¿se puede trabajar con datos a partir de una consulta tal y como se puede hacer como con Access?

Por poner un ejemplo: creo una consulta en access donde se liste los usuarios en el que el nombre empieze por una letra especifica y se crea una tabla con esos datos y a partir de ahí trabajar con esa consulta generada.

Sé que lo podemos hacer con arrays, aunque lo que quiero saber si existe la posibilidad de ahorrarnos trabajar con arrays y seguir trabajando con SQL con esa tabla-consulta generada donde una vez realizado todo el trabajo, se guarden las modificaciones y la tabla-consulta generada, desaparezca al terminar.

Grácias.
  #2 (permalink)  
Antiguo 18/07/2014, 12:57
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: trabajar con datos de una consulta

Tocayo2, sinceramente no entendí tu planteamiento.

Sería bueno que nos cuentes cuánto sabes de PHP y el motor de base de datos que planeas usar, para recomendarte algún tutorial o búsqueda por donde puedas comenzar.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 18/07/2014, 13:22
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 9 años, 9 meses
Puntos: 30
Respuesta: trabajar con datos de una consulta

Bueno, no soy hacker, lo suficiente para ser capaz de armar un CMS desde zero. No llevo años programando así que por el momento solo sé trabajar con MySQL (phpmyadmin) y estoy armando un sistema que trabaja, primordialmente con consultas sobre todos los datos almacenados, pero la verdad que me fastidia mucho tener que guardar los datos de la consulta en un array. Para mi sería mucho más sencillo que una variable guarde una sentencia SQL dinámicamente para que cuando haga la consulta pueda acceder a la misma sentencia SQL dinámica pero aplicándole los datos que he obtenido con la consulta generada.

Tal como lo hacia antaño con Access:
-Tenia dos tablas, A y B
- Hacia una consulta mezclando datos de A y B en una misma consulta (crándose una tabla con esos datos) y mediante el formulario trabajaba con esa tabla creada a partir de la consulta.

Sé que podría conseguir lo mismo si por cada consulta creo una tabla con los datos via PHP pero no sé tanto de programación como para saber si es buena práctica o si ya hay algo que haga eso o si hay otros métodos más efectivos...

Ando algo perdido y la verdad que no encuentro nada por internet.
  #4 (permalink)  
Antiguo 18/07/2014, 13:34
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: trabajar con datos de una consulta

Así tan general, seguramente no encontrarás mucho, necesitas ser más específico.

Puedes comenzar por esto: https://www.google.com.mx/#lr=lang_e...+php+mysql+pdo

[Off-topic]
Elegiste un muy buen nombre de usuario

Solo espero que mi club de fans no te confunda conmigo, porque hay uno que otro que podría sacarte de tus casillas.
[/Off-topic]
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 18/07/2014, 13:42
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 9 años, 9 meses
Puntos: 30
Cita:
Iniciado por Triby Ver Mensaje
Así tan general, seguramente no encontrarás mucho, necesitas ser más específico.

Puedes comenzar por esto: [url]https://www.google.com.mx/#lr=lang_es&q=tutorial+php+mysql+pdo[/url]

[Off-topic]
Es que no sé como explicarlo mejor jejeje yo tecleo más de lo que hablo!!

Cita:
Iniciado por Triby Ver Mensaje
Elegiste un muy buen nombre de usuario

Solo espero que mi club de fans no te confunda conmigo, porque hay uno que otro que podría sacarte de tus casillas.
[/Off-topic]
Por ahí he leido que hay una opción para bloquear a las personas que me tocan los $%#"! así que no dudaré en utilizarlo a la primera, es lo que haría si fuese moderador. A la primera que.... ZAS! le corto las alas! Como tampoco he visto normativa para moderadores, yo es lo que haría!

Ostrás se me olvidó decir grácias por pasarme ese link, me miraré a ver como funciona el PDO, haré pruebas y bueno trataré de averiguar si puede hacer lo que yo quiero. Grácias.

Última edición por Triby; 18/07/2014 a las 16:33 Razón: Combinar mensajes seguidos
  #6 (permalink)  
Antiguo 18/07/2014, 13:58
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: trabajar con datos de una consulta

Cita:
Iniciado por Triby2 Ver Mensaje
Wenas, mi duda es ¿se puede trabajar con datos a partir de una consulta tal y como se puede hacer como con Access?

Por poner un ejemplo: creo una consulta en access donde se liste los usuarios en el que el nombre empieze por una letra especifica y se crea una tabla con esos datos y a partir de ahí trabajar con esa consulta generada.

Sé que lo podemos hacer con arrays, aunque lo que quiero saber si existe la posibilidad de ahorrarnos trabajar con arrays y seguir trabajando con SQL con esa tabla-consulta generada donde una vez realizado todo el trabajo, se guarden las modificaciones y la tabla-consulta generada, desaparezca al terminar.

Grácias.
Se pueden encadenar consultas sin problemas y hacer consultas sobre el resultado de las consultas, lo que buscas son sub-consultas.
hay muchas formas de hacerlas y creo que es lo mas apropioado antes que hacerlo con array.

Igualmente decir que este temas es de SQL no de php, por lo que deberias de haber posteado en el lugar correspondiente, tenlo en cuenta para la proxima.

Un saludo
  #7 (permalink)  
Antiguo 18/07/2014, 14:10
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 9 años, 9 meses
Puntos: 30
Respuesta: trabajar con datos de una consulta

Cita:
Iniciado por xerifandtomas Ver Mensaje
Se pueden encadenar consultas sin problemas y hacer consultas sobre el resultado de las consultas, lo que buscas son [URL="http://dev.mysql.com/doc/refman/5.0/es/subqueries.html"]sub-consultas[/URL].
hay muchas formas de hacerlas y creo que es lo mas apropioado antes que hacerlo con array.

Igualmente decir que este temas es de SQL no de php, por lo que deberias de haber posteado en el lugar correspondiente, tenlo en cuenta para la proxima.

Un saludo
Ok, muchas gracias, lo postee aquí ya que como sql lo manejo con php y las consultas realizadas las trabajo con php por eso lo publiqué en la sección de PHP. (valga toda esa redundancia).

Voy a mirarme lo de las sub-consutlas ahora.

NOTA: mientras estabas posteando tu respuesta yo estaba haciendo un añadido a la última respuesta que tenía con lo cual lo publico en esta respuesta.

AÑADIDO:
He encontrado esto para hacer una consulta en PDO:
Código PHP:
Ver original
  1. 01 <?php
  2. 02 $nombre = "Juan";
  3. 03 try{
  4. 04     $conn = new PDO('mysql:host=localhost;dbname=basededatos', $usuario, $contra);
  5. 05    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  6. 06
  7. 07    $sql = $conn->prepare('SELECT * FROM usuarios WHERE nombre = :Nombre');
  8. 08    $sql->execute(array('Nombre' => $nombre));
  9. 09    $resultado = $sql->fetchAll();
  10. 10
  11. 11    foreach ($resultado as $row) {
  12. 12        echo $row["Id"];
  13. 13    }
  14. 14}catch(PDOException $e){
  15. 15    echo "ERROR: " . $e->getMessage();
  16. 16}
  17. 17?>
Ejemplo perfecto de lo que me refiero, así lo explico mejor. Como ves, se tiene que guardar los datos de la consulta en el array $row, con lo cual se tiene que trabajar con ese array para hacer las diferentes gestiones etc, con lo cual implica utilizar funciones para arrays y demás.

A mi lo que me gustaría es que los datos almacenados en $resultado pudiese directamente gestionarlos como si se tratase de una tabla directamente con SQL. Ejemplo con $resultado del ejemplo anterior.
Código PHP:
Ver original
  1. $valor = 'Valor1';
  2. $sql = $conn->prepare('SELECT campo1, campo2 FROM {$resultado} WHERE campo2 = :X');
  3. $sql->execute(array(X' => $valor));
  4. $usuarios = $sql->fetchAll();

Y poder recorrer $usuarios desde un formulario donde habrá un <input text> por cada campo que contenga $usuarios.

¿Me he explicado mejor?
  #8 (permalink)  
Antiguo 18/07/2014, 16:38
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: trabajar con datos de una consulta

Cita:
Iniciado por Triby2 Ver Mensaje
Por ahí he leido que hay una opción para bloquear a las personas que me tocan los $%#"! así que no dudaré en utilizarlo a la primera, es lo que haría si fuese moderador. A la primera que.... ZAS! le corto las alas! Como tampoco he visto normativa para moderadores, yo es lo que haría!

Ostrás se me olvidó decir grácias por pasarme ese link, me miraré a ver como funciona el PDO, haré pruebas y bueno trataré de averiguar si puede hacer lo que yo quiero. Grácias.
Por supuesto que hay una normativa para moderadores, solo que no está a la vista, como las políticas de FDW. Si te llegase a molestar alguien por el nombre, solamente avisa, que nosotros le cortaremos las alas.

Por cierto, la sugerencia de usar PDO para conexión a base de datos es por seguridad y confiabilidad, aparte de que las funciones mysql_* ya son obsoletas.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: sql, tabla, usuarios
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 13:56.