Foros del Web » Programando para Internet » PHP »

Conectar a BD sql y hacer una consulta

Estas en el tema de Conectar a BD sql y hacer una consulta en el foro de PHP en Foros del Web. Hola, necesito hacer un script en php que en la primera pagina salga una caja para poner el mes y el año y que al ...
  #1 (permalink)  
Antiguo 07/06/2012, 05:39
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 11 años, 10 meses
Puntos: 0
Conectar a BD sql y hacer una consulta

Hola, necesito hacer un script en php que en la primera pagina salga una caja para poner el mes y el año y que al pulsar me ejecute estas consultas y las muestre por pantalla, y es que me he vuelto loco y no he conseguido hacerlo.

Las he probado en la bd en phpmyadmin y funcionan.
La fecha la necesito pedir para filtrar en la consulta.

Consultas:

Esta devuelve
Usuario, nº reservas

Código:
SELECT tmo4c_users.name, COUNT (idUsuario)            
FROM tmo4c_users, tmo4c_zst_reservas
WHERE  tmo4c_users.id = tmo4c_zst_reservas.idUsuario AND fecha_ini between '2012-06-01 00:00:00' AND '2012-06-30 00:00:00'
GROUP BY tmo4c_zst_reservas.idUsuario
ORDER BY idUsuario desc
Esta devuelve el nº de reservas
Código:
SELECT COUNT (idUsuario)     
FROM tmo4c_zst_reservas
WHERE idUsuario <> 42 AND idUsuario <> 43 AND idUsuario <> 185 AND idUsuario <> 186 AND fecha_ini between '2012-06-01 00:00:00' AND '2012-06-30 00:00:00'

MUchas Gracias y aver si alguien me puede ayudar.
  #2 (permalink)  
Antiguo 07/06/2012, 06:58
Avatar de webseficientes  
Fecha de Ingreso: enero-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 320
Antigüedad: 19 años, 2 meses
Puntos: 14
Respuesta: Conectar a BD sql y hacer una consulta

El funcionamiento básico de php es hacer un petición al servidor y que el servidor te devuelva una respuesta.

En tu caso lo que tendrias que hacer es un formulario en html, que envie la información a un archivo php que procese el pedido y te devuelva la respuesta.

En en el escenario más básico tendrías:
- un formulario html donde pones el mes y el año y el botón aceptar (una página html).
- una pagina php que recibe la petición, la procesa, da la respuesta (una página php).

deberías leer un poco sobre como crear formularios html, y sobre php:
- Request, Post, Get
- conexión a base de datos MySql
__________________
Gerardo Benitez
Programador Web Freelance, SEO, Diseño web
  #3 (permalink)  
Antiguo 07/06/2012, 08:43
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Conectar a BD sql y hacer una consulta

Gracias lo primero, lo de entrada de datos me aclaro, pero para hacer la consulata a la BD tengo este script y no me va, creo que es la sentencia de sql.

Código PHP:
<?PHP 

$user_name 
"aqui el user"
$password "la pass"
$database "la bd"
$server "localhost:/tmp/mysql5.sock"
$db_handle mysql_connect($server$user_name$password); 
$db_found mysql_select_db($database$db_handle); 

if (
$db_found) { 

$SQL "SELECT tmo4c_users.name, COUNT (idUsuario) FROM tmo4c_users, tmo4c_zst_reservas WHERE  tmo4c_users.id = tmo4c_zst_reservas.idUsuario GROUP BY tmo4c_zst_reservas.idUsuario ORDER BY idUsuario desc"
$resultado mysql_query($SQL); 
echo 
conectado;
echo 
mysql_flech_array($resultado);

else { 
print 
"Database NOT Found "
mysql_close($db_handle); 


?>
Si que muestra conectado con lo que hay conexion pero devuelve este error:
Código PHP:
Fatal errorCall to undefined function mysql_flech_array() in /ranking.php on line 16 
QUe hago mal? Poruqe la consulta en phpmyadmin si que va.

Saludos
  #4 (permalink)  
Antiguo 07/06/2012, 08:50
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Conectar a BD sql y hacer una consulta

mysql_flech_array() devuelve un array deberias utilizar un while para recorrerlo

while($row=mysql_flech_array($resultado)){
echo $row['campo']
}

Algo mas o menos asi...
  #5 (permalink)  
Antiguo 07/06/2012, 08:53
Avatar de webseficientes  
Fecha de Ingreso: enero-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 320
Antigüedad: 19 años, 2 meses
Puntos: 14
Respuesta: Conectar a BD sql y hacer una consulta

echo mysql_flech_array($resultado);

Esta mal escrito es mysql_fetch_array

__________________
Gerardo Benitez
Programador Web Freelance, SEO, Diseño web
  #6 (permalink)  
Antiguo 07/06/2012, 09:24
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Conectar a BD sql y hacer una consulta

Ante todo gracias por el interes, a ver, he probado esto:

Código PHP:
<?PHP 

$user_name 
"x"
$password "x"
$database "x"
$server "localhost:/tmp/mysql5.sock"
$db_handle mysql_connect($server$user_name$password); 
$db_found mysql_select_db($database$db_handle); 

if (
$db_found) { 

$SQL "SELECT tmo4c_users.name, COUNT (idUsuario) FROM tmo4c_users, tmo4c_zst_reservas WHERE  tmo4c_users.id = tmo4c_zst_reservas.idUsuario GROUP BY tmo4c_zst_reservas.idUsuario ORDER BY idUsuario desc";  

$resultado mysql_query($SQL$db_handle);

while(
$row mysql_fetch_array($resultado)){
    echo 
$row[0];
    echo 
$row[1];
}


else { 
print 
"Database NOT Found "
mysql_close($db_handle); 


?>
Sigo atascado...

Falla en el while Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource i
Saludos

Última edición por dagarmo6; 07/06/2012 a las 09:33
  #7 (permalink)  
Antiguo 07/06/2012, 09:58
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Conectar a BD sql y hacer una consulta

Vale he averiguado que con una consulta simple como mostrar toda la tabla funciona. pero nada mas que pongo en campo COUNT(idUsuario) falla! Alguien sabe porque?

Gracias
  #8 (permalink)  
Antiguo 07/06/2012, 10:11
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Conectar a BD sql y hacer una consulta

Un count(xxx) te va a devolver un registro único. Si quieres usarlo en una consulta de multiples resultados, tendras que usar group by con los mismos campos que select.

Cita:
SELECT tmo4c_users.name, COUNT (idUsuario) FROM tmo4c_users, tmo4c_zst_reservas WHERE tmo4c_users.id = tmo4c_zst_reservas.idUsuario GROUP BY tmo4c_users.name ORDER BY idUsuario desc
saludos.
  #9 (permalink)  
Antiguo 07/06/2012, 10:21
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Conectar a BD sql y hacer una consulta

Perdona mi ignorancia pero no te he entendido, es que lo pruebo en phpmyadmin y va mi consulta, me devuelve 2 columnas con cada una sus datos.
He probado la que me has pasado y phpmyadmin me va pero en el codigo de php falla.
Si me puedes explicar un poco mas porfavor
  #10 (permalink)  
Antiguo 07/06/2012, 10:33
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Conectar a BD sql y hacer una consulta

mmm...probé de hacer el select con un group by diferente del select y si, tambien funciona, osea que la info que te dí no es correcta.

La consulta tuya, la que posteaste, también te funciona en phpmadmin?
  #11 (permalink)  
Antiguo 07/06/2012, 10:40
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Conectar a BD sql y hacer una consulta

Sisi, me funcionan pero nada mas que lo meto al codigo de php pufff! error, nada mas que quito el count me funciona todo, pero claro no sale lo que quiero...

Y si se puede solucionar con php me da igual
  #12 (permalink)  
Antiguo 07/06/2012, 10:47
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Conectar a BD sql y hacer una consulta

prueba con
Cita:
SELECT tmo4c_users.name, COUNT (tmo4c_zst_reservas.idUsuario) as idUsr FROM tmo4c_users, tmo4c_zst_reservas WHERE tmo4c_users.id = tmo4c_zst_reservas.idUsuario GROUP BY tmo4c_users.name ORDER BY idUsuario desc
  #13 (permalink)  
Antiguo 07/06/2012, 10:56
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Conectar a BD sql y hacer una consulta

Nada, lo mismo en phpmyadmin todo ok, pero nada mas que paso a php falla, y si quito el count funciona, va estar el problema en el count. Toy pensando como solucionarlo con php pero no me aclaro
  #14 (permalink)  
Antiguo 07/06/2012, 11:10
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Conectar a BD sql y hacer una consulta

Tienes un espacio aqui!!
Cita:
COUNT (idUsuario)
cambia por
COUNT(idUsuario)
Sin embargo, hize la prueba y en mi editor sql (que no es phpmyadmin) también da error.

A ver si acertamos esta vez!

COUNT (idUsuario)
  #15 (permalink)  
Antiguo 07/06/2012, 11:14
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Conectar a BD sql y hacer una consulta

Siiiiiiii maldito " " si no ve! jajaja, eres un maquina, muchisimas gracias!!!

Las pequeñas cosas son las que dan guerra. Saludos
  #16 (permalink)  
Antiguo 07/06/2012, 11:17
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Conectar a BD sql y hacer una consulta

Si fuera una máquina, no habriamos necesitado 8 mensajes para solucionar algo tan obvio!!!
Saludos y hasta otra!

Etiquetas: bd, sql, 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 17:24.