Foros del Web » Programando para Internet » PHP »

Problema con php y consulta sql

Estas en el tema de Problema con php y consulta sql en el foro de PHP en Foros del Web. Buenas, despues de mucho tiempo por aquí leyendo y aprendiendo, creo que este es mi primer post, ahí va mi consulta: Resulta que quiero hacer ...
  #1 (permalink)  
Antiguo 31/05/2008, 09:18
 
Fecha de Ingreso: marzo-2006
Mensajes: 2
Antigüedad: 18 años, 1 mes
Puntos: 0
Problema con php y consulta sql

Buenas, despues de mucho tiempo por aquí leyendo y aprendiendo, creo que este es mi primer post, ahí va mi consulta:

Resulta que quiero hacer un sistema de reservas para un hotel (es un trabajo de clase, no es real xD).

El asunto esta en que yo me he montado dos archivos php, en uno hay un formulario en el que pido la fecha en la que quieren hacer la reserva, y el numero de noches que quieren estar, lo complicado llega en el segundo php, donde recojo los datos, paso la fecha con una formula a numero, i mediante unos bucles i consultas intento mirar en la base de datos si las habitaciones estan ocupadas o no para esos dias.

Elsegundo php me da el siguiente error:

3075
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Archivos de programa\EasyPHP 2.0b1\www\bo2.php on line 52
Error en SELECT * FROM habitacions
MySQL dice:

(Usease que parece que da el error al ejecutar la consulta)

He estado mirando por los foros i no veo el posible fallo (nose si es sintaxis, planteamiento o que....).

La verdad es que soy bastante principiante en php, os dejo el codigo a ver si alguien me puede ayudar:

Código PHP:
<?php

$dia
$_POST["dia"];
$mes$_POST["mes"];
$any$_POST["any"];
$nits$_POST["nits"];


//echo("$dia $mes $any");
/* Establim connexió amb el servidor de BD (host,usuari,contrasenya */
$conn=mysql_connect("localhost","root","");
/*identifiquem la base de dades que volem utilitzar*/
$err_db=mysql_select_db("ilerasi");


$a[0] = 0// gener 31 dies
$a[1] = 31// febrer 28 dies
$a[2] = 59//març 31
$a[3] = 90// abril 30
$a[4] = 120// may 31
$a[5] = 151//juny 30
$a[6] = 181;
$a[7] = 212;
$a[8] = 243;
$a[9] = 273;
$a[10] = 304;
$a[11] = 334;



$numero=( $any 2000) * 365 intval(( $any 2000)/4) + $a[$mes-1] + $dia;


for(
$i=0$i$nits$i++)
{
    echo(
"$numero</br>");
    
    
/* A $resul ens guardem el resultat de la consulta 
    if (!$resul=mysql_query($sql))
    {
        echo "no s'ha pogut realitzar la consulta";
        echo mysql_error();
        exit;
    }
 */
    
$sql2="SELECT * FROM habitacions";
     
$result=mysql_fetch_array($sql2) or die("Error en $sql2 <br>MySQL dice: ".mysql_error());  
    
    while (
$busca_lliuresmysql_fetch_array($sql2)) 
    {
        
$ocupada=0;
        
$sql="SELECT * FROM detall_reserva WHERE data='$numero'";
        while(
$tots_ocupatsmysql_fetch_array($sql))
        {
            if(
$busca_lliures['$numero_habitacio']=$tots_ocupats['$numero_habitacio'])
                
$ocupada=1;
        }
    
//echo("$tots_ocupats['$numero_habitacio']");
    
echo("<br>");
    echo(
"$ocupada");
    
//mysql_free_result($sql); // libera los registros de la tabla
    
}
    
//mysql_free_result($sql2); // libera los registros de la tabla
    
$numero=$numero+1;

}
mysql_close("ilerasi"); // cierra la conexion con la base de datos

?>

Muchas gracias anticipadas!
  #2 (permalink)  
Antiguo 31/05/2008, 09:36
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Problema con php y consulta sql

Hola jmperera, estas trabajando mal tus consultas debes de enviar tus consultas a un cursor o query mysql_query() para poder ejecutarlas prueba así tu código:

Código PHP:
$sql2 "SELECT * FROM habitacions"
$result mysql_query($sql2) or die("Error en $sql2 <br>MySQL dice: ".mysql_error());     
    while (
$busca_lliuresmysql_fetch_array($result))  
    { 
        
$ocupada=0
        
$sql "SELECT * FROM detall_reserva WHERE data='$numero'";
        
$result2 mysql_query($sql)  or die("Error en $sql <br>MySQL dice: ".mysql_error());
        while(
$tots_ocupatsmysql_fetch_array($result2)) 
        { 
            if(
$busca_lliures['numero_habitacio'] == $tots_ocupats['numero_habitacio']) 
                
$ocupada=1
        } 
    
//echo("$tots_ocupats['$numero_habitacio']"); 
    
echo("<br>"); 
    echo(
"$ocupada"); 
    
//mysql_free_result($sql); // libera los registros de la tabla 
    

    
//mysql_free_result($sql2); // libera los registros de la tabla 
    
$numero=$numero+1


mysql_close("ilerasi"); // cierra la conexion con la base de datos 
Saludos.
  #3 (permalink)  
Antiguo 31/05/2008, 09:52
 
Fecha de Ingreso: marzo-2006
Mensajes: 2
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Problema con php y consulta sql

Mil millones de gracias!!


Ya decia yo que no podia ser que se ejecutara directamente la consulta si solo es una cadena de texto

Como dice el dicho: nunca te acostaras sin saber una cosa mas.


Me acabas de alegrar el dia


Bueno, voy a ver si acabo el sistema entero, funciona y lo entrego la semana próxima.



Saludos!!
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 14:52.