Foros del Web » Programando para Internet » PHP »

Migrando a Mysql, ya no me va el else {

Estas en el tema de Migrando a Mysql, ya no me va el else { en el foro de PHP en Foros del Web. Hola, Tengo una página que funciona desde tiempo, pero estoy intentando actualizar a mysqli de mysql. El primer if con query mysqli funciona pero despues ...
  #1 (permalink)  
Antiguo 20/01/2014, 15:18
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 15 años
Puntos: 6
Migrando a Mysql, ya no me va el else {

Hola,
Tengo una página que funciona desde tiempo,
pero estoy intentando actualizar a mysqli de mysql.
El primer if con query mysqli funciona
pero despues el else no se ejecuta para nada.
He puesto el else en una pagina aparte y funciona sin lo anterior,
asi que pues ya ni idea.

Esta primera parte funciona:
Código PHP:
if (!empty($_SESSION['reservas']['paso1']['percentage']) && !empty($_SESSION['reservas']['paso1']['terms'])) {    
if (
$salida $llegada){
//esto imprime:<br>
echo "test"
Este segundo query tuve que cambiar, antes usaba if {
do{
while }
}
Y ahora lo tengo asi y funciona:
Código PHP:
//miramos si disponible
$consulta ="SELECT DATE_FORMAT(llegada, '%e %b %Y') as lleg, DATE_FORMAT(salida, '%e %b %Y') as sal,tiporeserva, propiedad, TO_DAYS('$salida') - TO_DAYS('$llegada') as dias from bookings where ( propiedad = '$propiedad' )
AND (('$llegada' BETWEEN llegada AND date_sub(salida, interval +1 day)) 
or ('$salida' BETWEEN date_sub(llegada, interval -1 day) AND salida) or (llegada <= '$llegada' AND salida >= '$salida') or (llegada >= '$llegada' AND salida <= '$salida'))"
;
if (
$resultado $dbh->query($consulta)) {
     while (
$row $resultado->fetch_object()) {
       if (
$row->tiporeserva=="larga"){ echo "<p>This property is available only for long term rentals, consult us for a price.</p>
"
; } 
else { 
$propiedad str_replace("_"" "$propiedad); 
echo 
"<p>$propiedad is not available from $arrival_display to $departure_display.</p>"
echo 
"<p>$propiedad is occupied from "$row->lleg ." until "$row->sal ."</p>"
}
    } 
//end while
}//fin mirar si disponible 
Ahora cuando añado un else ya no funciona lo que no funciona no es el query, porque nisiquiera imprime un echo, el query tambien lo he cambiado pensando que era el query, pero es el else que es incorrecto:
Código PHP:
else {    
//esto no imprime:
echo "test";    
$sql "SELECT llegada, salida, propiedad, TO_DAYS('$salida') - TO_DAYS('$llegada') as dias from bookings where ( propiedad = '$propiedad' ) AND ((llegada = '$salida') OR (salida = '$llegada'))"
if (
$resultado $dbh->query($sql)) {
while (
$rows $resultado->fetch_assoc()){
//esto no imprime
echo "test";
$dias=$rows['dias'];
$llegadabase=$rows['llegada'];
$salidabase=$rows['salida'];
}
}
if (
$salida==$llegadabase)

  #2 (permalink)  
Antiguo 20/01/2014, 16:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Migrando a Mysql, ya no me va el else {

Si ordenaras tu código con propiedad no tendrías este tipo de inconvenientes, claramente ese es el principal problema.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 20/01/2014, 16:21
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 15 años
Puntos: 6
Respuesta: Migrando a Mysql, ya no me va el else {

Cita:
Iniciado por pateketrueke Ver Mensaje
Si ordenaras tu código con propiedad no tendrías este tipo de inconvenientes, claramente ese es el principal problema.
Gracias, pero no entiendo, esto con mysql_query funciona.
A que se refiere a quitar las comillas en el query?
  #4 (permalink)  
Antiguo 20/01/2014, 16:24
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 15 años
Puntos: 6
Respuesta: Migrando a Mysql, ya no me va el else {

Cita:
Iniciado por pateketrueke Ver Mensaje
Si ordenaras tu código con propiedad no tendrías este tipo de inconvenientes, claramente ese es el principal problema.
o te refieres a orger by propiedad?

Pensaba que el query sql no ha cambiado sino el php para usarlo?
Es que los queries estan bien, no son códigos nuevos.
  #5 (permalink)  
Antiguo 20/01/2014, 17:13
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 15 años
Puntos: 6
Respuesta: Migrando a Mysql, ya no me va el else {

Para aclarar las dudas,
he hecho las consultas en phpmyadmin,
La primera consulta con las fechas que estoy usando para la prueba
devuelve 0 como debe de ser ya que es false, debe de ejecutarse el else:
Código MySQL:
Ver original
  1. SELECT DATE_FORMAT( llegada, '%e %b %Y' ) AS lleg, DATE_FORMAT( salida, '%e %b %Y' ) AS sal, tiporeserva, propiedad, TO_DAYS( '2014-01-18' ) - TO_DAYS( '2014-01-03' ) AS dias
  2. FROM bookings
  3. propiedad = 'Banana_Beach_1FE'
  4. )
  5. AND (
  6. (
  7. '2014-01-03'
  8. BETWEEN llegada
  9. AND date_sub( salida, INTERVAL +1
  10. DAY )
  11. )
  12. OR (
  13. '2014-01-18'
  14. DAY )
  15. AND salida
  16. )
  17. OR (
  18. llegada <= '2014-01-03'
  19. AND salida >= '2014-01-18'
  20. )
  21. OR (
  22. llegada >= '2014-01-03'
  23. AND salida <= '2014-01-18'
  24. )
  25. )
  26. LIMIT 0 , 30

La segunda devuelve 1 fila, tambien es correcto:
Código MySQL:
Ver original
  1. SELECT llegada, salida, propiedad, TO_DAYS('2014-01-18') - TO_DAYS('2014-01-03') as dias from
  2. bookings where ( propiedad = 'Banana_Beach_1FE' ) AND ((llegada = '2014-01-18') OR (salida = '2014-01-03'))
Código HTML:
Ver original
  1. llegada     salida  propiedad   dias    
  2. 2014-01-18  2014-01-25  Banana_Beach_1FE    15
El problema no está en las consultas sin en el output.

Etiquetas: mysql, select, sql
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 20:21.