Foros del Web » Programando para Internet » PHP »

Problema con este bucle de repeticion

Estas en el tema de Problema con este bucle de repeticion en el foro de PHP en Foros del Web. Me esta dando error 500 @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original do { $fb -> publicarImagen ( $row_Recordset210 [ 'galeria' ] . '/images/' . $row_Recordset210 ...
  #1 (permalink)  
Antiguo 28/06/2011, 10:03
 
Fecha de Ingreso: mayo-2011
Mensajes: 167
Antigüedad: 13 años, 5 meses
Puntos: 1
Problema con este bucle de repeticion

Me esta dando error 500

Código PHP:
Ver original
  1. do {
  2. $fb->publicarImagen($row_Recordset210['galeria'].'/images/'.$row_Recordset210['archivo'].'.'.$row_Recordset210['extension'], '=)');    
  3.      } while ($row_Recordset210 = mysql_fetch_assoc($Recordset210));

alguien me puede ayudar?
  #2 (permalink)  
Antiguo 28/06/2011, 10:07
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 9 meses
Puntos: 177
Respuesta: Problema con este bucle de repeticion

podrías postear el metodo publicarImagen()
__________________
la la la
  #3 (permalink)  
Antiguo 28/06/2011, 10:17
 
Fecha de Ingreso: mayo-2011
Mensajes: 167
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Problema con este bucle de repeticion

claro
Código PHP:
Ver original
  1. function publicarImagen($ruta, $mensaje) {  
  2.         $this->fb->setFileUploadSupport(true);  
  3.  
  4.         $params = array(  
  5.             'access_token' => self::ACCESS_TOKEN,  
  6.             'source' => "@$ruta"  
  7.         );  
  8.         if($mensaje) $params['message'] = $mensaje;  
  9.  
  10.         $res = $this->fb->api('/'.self::ID_ALBUM.'/photos', 'POST', $params);  
  11.         if(!$res or $res->error)  
  12.             return false;  
  13.  
  14.         return true;  
  15.     }
  #4 (permalink)  
Antiguo 28/06/2011, 11:04
 
Fecha de Ingreso: mayo-2011
Mensajes: 167
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Problema con este bucle de repeticion

Lo mas raro de todo es que si hace bien toda su funcion.. solo q devuelve error 500
  #5 (permalink)  
Antiguo 28/06/2011, 11:23
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 11 meses
Puntos: 43
Respuesta: Problema con este bucle de repeticion

Hola elcapitolio !

Lo que me parece raro es la utilización del bucle do while, siempre entraría la primera vez al bloque do sin comprobar la condición, sería hasta la segunda iteración que se comprobaría la condición dentro del while, esto quiere decir que la variable $row_Recordset210 estaría nula al inicio y te debería generar algún error, hasta la segunda iteración se le definiría el valor retornado por mysql_fetch_assoc.

Un saludo y suerte !
__________________
Una contraseña es como la ropa interior. No deberías dejarlas afuera a la vista de otras personas, deberías cambiarla regularmente, y ni se te ocurra prestarla a extraños.
  #6 (permalink)  
Antiguo 28/06/2011, 11:27
 
Fecha de Ingreso: mayo-2011
Mensajes: 167
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Problema con este bucle de repeticion

esta es mi consulta...

$numeroe=$row_portadas["galeria"]-$row_Recordset21["galeria"]; //ahorita el valor es 7


$query_Recordset210 = "SELECT * FROM portadas ORDER BY id DESC LIMIT $numeroe";
$Recordset210 = mysql_query($query_Recordset210, $noticias) or die(mysql_error());
$row_Recordset210 = mysql_fetch_assoc($Recordset210);
$totalRows_Recordset210 = mysql_num_rows($Recordset210);


como podre solucionarlo.. :S me urge arreglar esto

Muchas Gracias!
  #7 (permalink)  
Antiguo 28/06/2011, 12:06
 
Fecha de Ingreso: mayo-2011
Mensajes: 167
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Problema con este bucle de repeticion

Creo q apenas entiendo lo q me kerias decir...
lo cambie de esta menera...

pero sigo igual :(

Código PHP:
Ver original
  1. for($x = 0 ; $x < mysql_num_rows($Recordset210) ; $x++){
  2. $row_Recordset210 = mysql_fetch_assoc($Recordset210);
  3. $fb->publicarImagen($row_Recordset210['galeria'].'/images/'.$row_Recordset210['archivo'].'.'.$row_Recordset210['extension'], $mensaje=$row_Recordset210['titulo']);    
  4.      }
  #8 (permalink)  
Antiguo 28/06/2011, 12:22
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 9 meses
Puntos: 177
Respuesta: Problema con este bucle de repeticion

reemplaza el primer codigo que posteaste por esto:

while ($row_Recordset210 = mysql_fetch_assoc($Recordset210))
{
$fb->publicarImagen($row_Recordset210['galeria'].'/images/'.$row_Recordset210['archivo'].'.'.$row_Recordset210['extension'], '=)');
}


a ver que pasa

.
__________________
la la la
  #9 (permalink)  
Antiguo 28/06/2011, 12:32
 
Fecha de Ingreso: mayo-2011
Mensajes: 167
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Problema con este bucle de repeticion

gracias truman_truman por la ayuda.. ya lo intente y sigue igual :S

pasare todo el codigo por si alguien me puede dedicar un minutito para examinarlo!!!

Código PHP:
Ver original
  1. $editFormAction = $_SERVER['PHP_SELF'];
  2. if (isset($_SERVER['QUERY_STRING'])) {
  3.   $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
  4. }
  5.  
  6. $archivo=explode(".",$_FILES['archivo']['name']);
  7. $nombre=$archivo[0];
  8. $extension=$archivo[1];
  9.  
  10. //Script nombres de fotografos
  11. $cadena = $_POST['fotografos'];
  12. $cadena=implode("",$cadena);
  13. $cadena=substr($cadena,0,-1);//quitamos ultima coma.
  14. $cadena=explode(",",$cadena);//pasamos a array la cadena, partiendo por las comas, lo cual no sería necesario si la trabajas desde el inicio como array.
  15. if(count($cadena)>1){ //si el array cadena tiene más de un elemento
  16. $ultimo=array_pop($cadena);//sacamos el último valor del arreglo
  17. $cadena=implode(", ",$cadena);//colocamos las comas y pasamos el array a cadena
  18. $cadena.=" y $ultimo";//agregamos el ultimo elemento con una y de por medio.
  19. }
  20. else {
  21. $ultimo=array_pop($cadena);//sacamos el último valor del arreglo
  22. $cadena=implode(", ",$cadena);//colocamos las comas y pasamos el array a cadena
  23. $cadena.="$ultimo";//agregamos el ultimo elemento con una y de por medio.
  24. }
  25. // fin de script
  26.  
  27. $maxRows_portadas = 30;
  28. $pageNum_portadas = 0;
  29. if (isset($_GET['pageNum_portadas'])) {
  30.   $pageNum_portadas = $_GET['pageNum_portadas'];
  31. }
  32. $startRow_portadas = $pageNum_portadas * $maxRows_portadas;
  33.  
  34. mysql_select_db($database_noticias, $noticias);
  35. $query_portadas = "SELECT * FROM portadas ORDER BY id DESC";
  36. $query_limit_portadas = sprintf("%s LIMIT %d, %d", $query_portadas, $startRow_portadas, $maxRows_portadas);
  37. $portadas = mysql_query($query_limit_portadas, $noticias) or die(mysql_error());
  38. $row_portadas = mysql_fetch_assoc($portadas);
  39.  
  40. $query_Recordset21 = "SELECT * FROM portadas where extra = '1' ORDER BY id DESC";
  41. $Recordset21 = mysql_query($query_Recordset21, $noticias) or die(mysql_error());
  42. $row_Recordset21 = mysql_fetch_assoc($Recordset21);
  43. $totalRows_Recordset21 = mysql_num_rows($Recordset21);
  44.  
  45.  
  46. $ano = date("Y");
  47. $orden = date("Y-m-d H:i:s");
  48. $_POST['titulo'] = str_replace("'", "&quot;", $_POST['titulo']);
  49. if (isset($_POST['anunciar'])){ $extra=1; } else { $extra=$_POST['extra']; }
  50. if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  51.     unlink("tmp/".$_FILES['archivo']['name']);
  52.   $insertSQL = sprintf("INSERT INTO portadas (id, orden, galeria, archivo, extension, titulo, fecha, dia, mes, ano, lugar, fotos, categoria, extra) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
  53.                        GetSQLValueString($_POST['id'], "int"),
  54.                        GetSQLValueString($orden, "text"),
  55.                        GetSQLValueString($_POST['galeria'], "text"),
  56.                        GetSQLValueString($nombre, "text"),
  57.                        GetSQLValueString($extension, "text"),                      
  58.                        GetSQLValueString($_POST['titulo'], "text"),
  59.                        GetSQLValueString($_POST['dia'], "text"),
  60.                        GetSQLValueString($_POST['fecha'], "text"),
  61.                        GetSQLValueString($_POST['mes'], "text"),
  62.                        GetSQLValueString($ano, "text"),
  63.                        GetSQLValueString($_POST['lugar'], "text"),
  64.                        GetSQLValueString($cadena, "text"),
  65.                        GetSQLValueString($_POST['categoria'], "text"),
  66.                        GetSQLValueString($extra, "text"));
  67.  
  68.   mysql_select_db($database_noticias, $noticias);
  69.   $Result1 = mysql_query($insertSQL, $noticias) or die(mysql_error());
  70.  
  71.  
  72. if (isset($_POST['anunciar'])){
  73. $numeroe=$row_portadas["galeria"]-$row_Recordset21["galeria"]; 
  74. setlocale(LC_TIME, 'es_MX');
  75. $fechae=strftime('%A %d de %B',strtotime(date('Y-m-d H:i:s')));
  76. $query_Recordset210 = "SELECT * FROM portadas ORDER BY id DESC LIMIT 4";
  77. $Recordset210 = mysql_query($query_Recordset210, $noticias) or die(mysql_error());
  78. $row_Recordset210 = mysql_fetch_assoc($Recordset210);
  79. $totalRows_Recordset210 = mysql_num_rows($Recordset210);
  80.  
  81.  
  82. $fb = new Fb();
  83. while ($row_Recordset210 = mysql_fetch_assoc($Recordset210))
  84. {
  85. $fb->publicarImagen($row_Recordset210['galeria'].'/images/'.$row_Recordset210['archivo'].'.'.$row_Recordset210['extension'], $mensaje=$row_Recordset210['titulo']);
  86. }
  87. $fb->publicarNota('¡'.$numeroe.' nuevos eventos publicados el '.$fechae.'. Entra Ya!');
  88.  
  89. }
  90. }
  91.  
  92. if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
  93.   $insertSQL = sprintf("INSERT INTO fotografos (nombre) VALUES (%s)",
  94.                        GetSQLValueString($_POST['nombre'], "text"));
  95.  
  96.   mysql_select_db($database_noticias, $noticias);
  97.   $Result1 = mysql_query($insertSQL, $noticias) or die(mysql_error());
  98.  
  99.   $insertGoTo = "trepa.php";
  100.   if (isset($_SERVER['QUERY_STRING'])) {
  101.     $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
  102.     $insertGoTo .= $_SERVER['QUERY_STRING'];
  103.   }
  104.   header(sprintf("Location: %s", $insertGoTo));
  105. }
  106.  
  107.  
  108. $totalPages_portadas = ceil($totalRows_portadas/$maxRows_portadas)-1;
  109.  
  110. mysql_select_db($database_noticias, $noticias);
  111. $query_ultimo = "SELECT galeria FROM portadas ORDER BY galeria DESC";
  112. $ultimo = mysql_query($query_ultimo, $noticias) or die(mysql_error());
  113. $row_ultimo = mysql_fetch_assoc($ultimo);
  114. $totalRows_ultimo = mysql_num_rows($ultimo);
  115.  
  116. mysql_select_db($database_noticias, $noticias);
  117. $query_fotografos = "SELECT * FROM fotografos ORDER BY id ASC";
  118. $fotografos = mysql_query($query_fotografos, $noticias) or die(mysql_error());
  119. $row_fotografos = mysql_fetch_assoc($fotografos);
  120. $totalRows_fotografos = mysql_num_rows($fotografos);
  #10 (permalink)  
Antiguo 28/06/2011, 12:48
 
Fecha de Ingreso: mayo-2011
Mensajes: 167
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Problema con este bucle de repeticion

Lo siento por volve trillado este post... pero tengo el problema ya hize muchas prubas!!! y al parecer no esta en el bucle el problema....


tenia esto...
Código PHP:
Ver original
  1. $fb = new Fb();
  2. do {
  3. $fb->publicarImagen($row_Recordset210['galeria'].'/images/'.$row_Recordset210['archivo'].'.'.$row_Recordset210['extension'], $mensaje=$row_Recordset210['titulo']);
  4.  } while ($row_Recordset210 = mysql_fetch_assoc($Recordset210));
y elimine

$fb->publicarNota('¡'.$numeroe.' nuevos eventos publicados el '.$fechae.'. Entra Ya!');

y funciono bien!! y luego intente viceversa elimine el do y deje solo el $fb->publicarNota y tmb funciona el problema como que esta al usar los dos... alguna sugerencia

Última edición por elcapitolio; 28/06/2011 a las 13:00 Razón: Problema solucionado gracias por la ayuda!! era problema de la clase fb

Etiquetas: bucle, repeticion
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 19:22.