Foros del Web » Programando para Internet » PHP »

Ejecución extraña

Estas en el tema de Ejecución extraña en el foro de PHP en Foros del Web. Hola a todos y gracias por leer esto, al administrador decirle que el link de conexión con facebook no funciona. Veamos tengo el siguient codigo: ...
  #1 (permalink)  
Antiguo 18/12/2011, 19:23
 
Fecha de Ingreso: diciembre-2011
Mensajes: 3
Antigüedad: 12 años, 4 meses
Puntos: 0
Ejecución extraña

Hola a todos y gracias por leer esto, al administrador decirle que el link de conexión con facebook no funciona.

Veamos tengo el siguient codigo:

<?php
$conexion = mysql_connect('*', '*', '*'); // se conecta con el servidor
mysql_select_db('campuslista', $conexion); // selecciona la base de datos
$result = mysql_query("SELECT * FROM SITIOS", $conexion) or die(mysql_error());
$num_fields = mysql_num_fields($result);
for($i=2;$i<$num_fields;$i++){
mysql_select_db('campuslista', $conexion); // selecciona la base de datos
$tabla = mysql_query("SELECT EVENTO".$i." FROM SITIOS", $conexion) or die(mysql_error());
while ($registro = mysql_fetch_array($tabla)) {
if ($registro[0] == "")
{
mysql_query("ALTER TABLE `SITIOS` DROP `EVENTO".$i."`");
}
else
{
echo $registro[0];
}
}
}
?>


Alguien me explica porque se ejecutan simultaneamente las dos acciones finales y como evitarlo? Gracias.
  #2 (permalink)  
Antiguo 18/12/2011, 21:30
Avatar de jorgelpadronb  
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 12 años, 8 meses
Puntos: 37
Respuesta: Ejecución extraña

Código PHP:
Ver original
  1. if ($registro[0] == "")
  2. {
  3.    mysql_query("ALTER TABLE `SITIOS` DROP `EVENTO".$i."`");
  4. }
  5. else
  6. {
  7.     echo $registro[0];
  8. }

Te refieres a esto? No debería ser, pues una cosa excluye a la otra cuando usas else. A no ser que la condición $registro[0] == "" quede indeterminada por algún motivo. Prueba sustituirla por esto: $registro[0] === ""

Saludos.
__________________
Los hombres pequeños, nunca se sienten pequeños; los hombres grandes, nunca se sienten grandes.

No sé quien fué el que dijo eso, pero está bueno.
  #3 (permalink)  
Antiguo 18/12/2011, 21:32
Avatar de jorgelpadronb  
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 12 años, 8 meses
Puntos: 37
Respuesta: Ejecución extraña

Código PHP:
Ver original
  1. if ($registro[0] == "")
  2. {
  3.    mysql_query("ALTER TABLE `SITIOS` DROP `EVENTO".$i."`");
  4. }
  5. else
  6. {
  7.     echo $registro[0];
  8. }

Te refieres a esto? No debería ser, pues una cosa excluye a la otra cuando usas else. A no ser que la condición $registro[0] == "" quede indeterminada por algún motivo. Prueba sustituirla por esto: $registro[0] === ""

Saludos.
__________________
Los hombres pequeños, nunca se sienten pequeños; los hombres grandes, nunca se sienten grandes.

No sé quien fué el que dijo eso, pero está bueno.
  #4 (permalink)  
Antiguo 18/12/2011, 21:35
Avatar de jorgelpadronb  
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 12 años, 8 meses
Puntos: 37
Respuesta: Ejecución extraña

Vaya, es la segunda vez que me pasa esto en el día de hoy. Disculpa, es que inserté mi respuesta y no me saltó de nuevo al tema, entonces le dí enviar por segunda vez y ahora salió doble.
__________________
Los hombres pequeños, nunca se sienten pequeños; los hombres grandes, nunca se sienten grandes.

No sé quien fué el que dijo eso, pero está bueno.
  #5 (permalink)  
Antiguo 19/12/2011, 12:59
 
Fecha de Ingreso: diciembre-2011
Mensajes: 3
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Ejecución extraña

Cita:
Iniciado por jorgelpadronb Ver Mensaje
Código PHP:
Ver original
  1. if ($registro[0] == "")
  2. {
  3.    mysql_query("ALTER TABLE `SITIOS` DROP `EVENTO".$i."`");
  4. }
  5. else
  6. {
  7.     echo $registro[0];
  8. }

Te refieres a esto? No debería ser, pues una cosa excluye a la otra cuando usas else. A no ser que la condición $registro[0] == "" quede indeterminada por algún motivo. Prueba sustituirla por esto: $registro[0] === ""

Saludos.
Gracias, lo ejecuto mediante un cronjob pero no debería ser un inconveniente. El tema es que me ejecuta el echo y posteriormente elimina la columna. No se porque.
  #6 (permalink)  
Antiguo 19/12/2011, 13:47
Avatar de lalooo  
Fecha de Ingreso: agosto-2011
Mensajes: 12
Antigüedad: 12 años, 8 meses
Puntos: 4
Respuesta: Ejecución extraña

Seguramente tienes algún registro vacío en alguna de las columnas, porque tu ciclo while recorre todos registros de cada columna y caso de que se encuentre alguno vacío la borra
  #7 (permalink)  
Antiguo 22/12/2011, 17:25
 
Fecha de Ingreso: diciembre-2011
Mensajes: 3
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Ejecución extraña

Claro, es lo que deseo que haga, el problema es que elimina igualmente las que tienen contenido

Etiquetas: extraña, mysql, registro, sql, tabla
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 07:03.