elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Ayuda con función en ciclo FOR, nadieee ????
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con función en ciclo FOR, nadieee ????  (Leído 3,885 veces)
mokoMonster


Desconectado Desconectado

Mensajes: 301


<? ...


Ver Perfil
Ayuda con función en ciclo FOR, nadieee ????
« en: 27 Enero 2011, 23:05 pm »

Función en Ciclo FOR
[/b]
Hola a todos,

Dejen que les explique el por que es un problema.
Estoy haciendo un sistema de reservaciones y obviamente tiene una base de datos.

Desde la pagina tablareserv.php llamo a la función que esta dentro de una tabla que se despliega según los días del mes($m) y las habitaciones disponibles($habitacion).
echo "<table width='90%' align='center' border='1' cellspacing='0' cellpadding='0'>"
echo 
"<tr><td>&nbsp;</td>";
for(
$dia=1;$dia<=$m;$dia++){
    echo 
"<td width='25'><center><font color='#FFFFFF'><b>".$dia."</b></font></center></td>";
}
echo 
"</tr>"
for(
$habitacion=1;$habitacion<=$habitaciones;$habitacion++){
	
echo 
"<tr>";
	
echo 
'<td width="125">Habitacion '.$habitacion.'</td>';
    
devuelve_conteo($habitacion,$m);
	
echo 
"</tr>"
}
echo 
"</table>"

Esta función esta en un include y es la que se encarga de hacer el ciclo correspondiente para que la siguiente función checar_disponibilidad() se ejecute correctamente.
function devuelve_conteo($habitacion,$m)
{
	
$dia_conteo=1;
	
	
while(
$dia_conteo<$m+1)
	
	
{
	
	
    echo 
"<td><center>",checar_disponibilidad($habitacion,$dia_conteo),"</center></td>";
	
	
	
$dia_conteo++;
	
	
}
}

Esta es la función checar_disponibilidad que es en la que radica el problema.
function checar_disponibilidad($habitacion,$dia_conteo)
{
	
$link=Conectarse();
	
$con=mysql_query("SELECT f_ll_dia FROM Reservaciones WHERE f_ll_dia='".$dia_conteo."' AND f_ll_mes='".date('M')."' AND f_ll_ano='".date('Y')."'",$link)or die(mysql_error());
	
$c_fecha=mysql_fetch_array($con);

	
$con2=mysql_query("SELECT * FROM Reservaciones WHERE numero_habitacion='".$habitacion."'",$link)or die(mysql_error());
	
$c_habitacion=mysql_fetch_array($con2);

	
if(
$habitacion==$c_habitacion['numero_habitacion']&&$dia_conteo==$c_fecha['f_ll_dia'])
	
{
	
	
echo 
'RESERVADA';
	
}
	
else
	
{
	
	
echo 
'L';
	
}
}

Hasta aquí la tabla funciona, se despliega correctamente, solo que obviamente vacía por que aun no hay registros, Ahora supongamos que se añade un registro, que llega el día 20 de Enero a la Habitación numero 5, entonces ahora el valor de $c_habitacion['numero_habitacion'] = 5 y $c_fecha['f_ll_dia'] = 20.
En este momento cuando se consulta tablareserv.php en la tabla aparece que la Habitación 5 el día 20 de Enero esta RESERVADA.

Perooooooo cuando se agrega otra entrada a la tabla de la base de datos con   $c_habitacion['numero_habitacion'] = 9 y $c_fecha['f_ll_dia'] = 12 (noten que cambio a 9 y 12 respectivamente), bueno hasta aquí están de acuerdo en que en tablareserv.php debería imprimir que:

*La habitación 5 el 20 de Enero esta Reservada.
*La habitación 9 el 12 de Enero esta Reservada.

Pero no sucede así, lo que sucede a la hora de mostrar la tabla aparece que:
*La habitación 5 esta ocupada el 20 y el 12 de Enero.

Osea que se imprimen en la misma fila y no debe ser así.
Alguien me podría orientar un poco?

Saludos.


En esta linea es donde creo que esta el problema..
Código:
	if($habitacion==$c_habitacion['numero_habitacion']&&$dia_conteo==$c_fecha['f_ll_dia'])



« Última modificación: 28 Enero 2011, 23:54 pm por mokoMonster » En línea

"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Ayuda con función en ciclo FOR, nadieee ????
« Respuesta #1 en: 29 Enero 2011, 03:40 am »

Es un poco complicado entender tu problema, explica tu problema utilizando PoC o ejemplos mas claros, así todos te entenderán.


En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
bomba1990


Desconectado Desconectado

Mensajes: 395



Ver Perfil WWW
Re: Ayuda con función en ciclo FOR, nadieee ????
« Respuesta #2 en: 29 Enero 2011, 04:49 am »

hay dos cosa, una no somos adivinos y la segunda si nos das mas informacion podrias ayudarnos a ayudarte.

hay dos cosas, primero serciorate de que en la bd salga como es debido y segundo

Código
  1.  
  2.  
  3. $con=mysql_query("SELECT f_ll_dia FROM Reservaciones WHERE f_ll_dia='".$dia_conteo."' AND f_ll_mes='".date('M')."' AND f_ll_ano='".date('Y')."'",$link)or die(mysql_error());
  4.  
  5. $c_fecha=mysql_fetch_array($con);
  6.  
  7.  
  8. $con2=mysql_query("SELECT * FROM Reservaciones WHERE numero_habitacion='".$habitacion."'",$link)or die(mysql_error());

no seria mejor si resumes estas dos sentencias en una sola?? no te ahorras codigo?
En línea

"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Ayuda con función en ciclo FOR, nadieee ????
« Respuesta #3 en: 29 Enero 2011, 13:00 pm »

hay dos cosa, una no somos adivinos y la segunda si nos das mas informacion podrias ayudarnos a ayudarte.

hay dos cosas, primero serciorate de que en la bd salga como es debido y segundo

Código
  1.  
  2.  
  3. $con=mysql_query("SELECT f_ll_dia FROM Reservaciones WHERE f_ll_dia='".$dia_conteo."' AND f_ll_mes='".date('M')."' AND f_ll_ano='".date('Y')."'",$link)or die(mysql_error());
  4.  
  5. $c_fecha=mysql_fetch_array($con);
  6.  
  7.  
  8. $con2=mysql_query("SELECT * FROM Reservaciones WHERE numero_habitacion='".$habitacion."'",$link)or die(mysql_error());

no seria mejor si resumes estas dos sentencias en una sola?? no te ahorras codigo?

Por esa razón se puede usar PoC o hacer todo maqueteado.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
bomba1990


Desconectado Desconectado

Mensajes: 395



Ver Perfil WWW
Re: Ayuda con función en ciclo FOR, nadieee ????
« Respuesta #4 en: 30 Enero 2011, 06:10 am »

Por esa razón se puede usar PoC o hacer todo maqueteado.

me puedes decir que es PoC??
En línea

"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Ayuda con función en ciclo FOR, nadieee ????
« Respuesta #5 en: 30 Enero 2011, 15:38 pm »

Cita de: Wikipedia
A proof of concept or a proof of principle is realization of a certain method or idea(s) to demonstrate its feasibility,[1] or a demonstration in principle, whose purpose is to verify that some concept or theory is probably capable of being useful. A proof-of-concept may or may not be complete, and is usually small and incomplete.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Ayuda]Ciclo Foreach PHP
PHP
rolly21102 4 4,807 Último mensaje 16 Junio 2010, 03:05 am
por bomba1990
ayuda urgente con este ciclo porfavor!
Programación C/C++
Lee 6 3,832 Último mensaje 6 Noviembre 2010, 10:34 am
por Horricreu
Ayuda con un ciclo
Java
xAgramonx 3 3,224 Último mensaje 25 Noviembre 2010, 19:30 pm
por xAgramonx
[Ayuda!] Como detener un ciclo (C)
Programación C/C++
Snako 2 8,139 Último mensaje 11 Abril 2011, 08:32 am
por Akai
ayuda con ciclo while!
Programación C/C++
el1000erroresxd 3 2,850 Último mensaje 5 Junio 2016, 03:37 am
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines