Foros del Web » Programando para Internet » PHP »

Como podria hacer algo comoe sto.. Urgente y.y

Estas en el tema de Como podria hacer algo comoe sto.. Urgente y.y en el foro de PHP en Foros del Web. Buenas el codigo y l problma estan bien explicados en otro post que realize.. el problema s referente a q los cron job no me ...
  #1 (permalink)  
Antiguo 10/04/2010, 15:59
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Como podria hacer algo comoe sto.. Urgente y.y

Buenas el codigo y l problma estan bien explicados en otro post que realize.. el problema s referente a q los cron job no me envan el formulario ya q ellos solamente leen el script directamente:
como podria yo hacer esto:
Código PHP:
<HTML>  
<HEAD>  
<TITLE>edicion_a_la_vez.php</TITLE>  
</HEAD>  
<BODY>  
<h1 align="center">Edición de varios registros a la vez</h1>  
<?  
//Conexion con la base  
include ('conexion.php');  

if (!
$_POST){  
   
//si no recibo datos de POST, muestro el formulario  
    
    
   //extraemos de la base de datos los registros a mostrar  
   //Ejecutamos la sentencia SQL, limitando la búsqueda a 80 registros  
    
$fecha=date('Y-m-d'); 
   
$ssql="select * from inversiones where fechafin<='$fecha' limit 80";  
   
$result=mysql_query($ssql);  
   echo 
"<form name='formulario' action='funciona5.php' method=post>";  
   echo 
"\n<table align=center>";  
   echo 
"\n<tr><td><b>Nombre</b></td><td><b>plazo</b></td><td><b>ganancia</b></td></tr>";  
   
$i 1;  
   while (
$fila=mysql_fetch_array($result)){   
        echo 
"\n<input type=text name='fecha$i' value='" $fecha "'>";  
         echo 
"<tr>";  
      echo 
"\n<input type=text name='email$i' value='" $fila["email"] . "'>";  
      echo 
"<tr>";  
      echo 
"<tr>";  
      echo 
"\n<input type=hidden name='nombre$i' value='" $fila["nombre"] . "'>";  
      echo 
"<tr>";  
          echo 
"\n<input type=hidden name='id$i' value='" $fila["id"] . "'>";  
      echo 
"<tr>";  
      echo 
"<td>" $fila["nombre"] . "</td>";  
            echo 
"<td><input type=text name='plazo$i' value='" $fila["plazo"] . "'></td>";  
      echo 
"</tr>";  
        echo 
"<td><input type=text name='ganancia$i' value='" $fila["ganancia"] . "'></td>";  
      echo 
"</tr>";  
        echo 
"<td><input type=text name='invertido$i' value='" $fila["invertido"] . "'></td>";  
      echo 
"</tr>";  
       echo 
"<td><input type=text name='renovable$i' value='" $fila["renovable"] . "'></td>";  
      echo 
"</tr>";  
       echo 
"<td><input type=text name='fechafin$i' value='" $fila["fechafin"] . "'></td>";  
      echo 
"</tr>";  
      
$i++;  
      
$ultimo_mostrado $fila["nombre"];  
   }  

   echo 
"\n<tr><td colspan=2 align=center><input type='submit' value='Editar todos'></td></tr>";  
   echo 
"\n</table>";  
   echo 
"\n</form>";  

   
//si se han mostrado registros, (esta parte ya estaba en el codigo que  me base para  ahcerlo. pero  es inecesaria.. 
   
if (isset($ultimo_mostrado))  
      echo 
"\n<br><a href='funciona.php?id_mostrar=" $ultimo_mostrado "'>Ver los 10 siguientes</a>";  
   }else{  

   
//es que he recibido datos de formulario, entonces tengo que recibirlos y actualizar la base de datos 
   
for ($i=1;$i<=10;$i++){  
         
//establesco todas las variables.. para cada uno de los que estane n los imput del  formulario. 
         
$mail2 "[email protected]"
         
$id $_POST["id" $i];  
         
$nombre $_POST["nombre" $i];  
         
$fechaininueva $_POST["fecha" $i];            
         
$plazo $_POST["plazo" $i];  
          
$ganancia $_POST["ganancia" $i];  
            
$invertido $_POST["invertido" $i];  
                
$renovable $_POST["renovable" $i];  
                
$email $_POST["email" $i];  
                   
//Aqui empieza el codigo que actualiza las cosas 
         
$fechafinnueva=date("Y-m-d"strtotime("$fechaininueva + $plazo days")); 
         if (
$renovable>0){  

         
$ssql "update inversiones set renovable=renovable-1 where id='$id'";  
         if ((
mysql_query($ssql))or die(mysql_error())); 
         
$ssql3 "update inversiones set fecha='$fechaininueva', fechafin='$fechafinnueva' where id='$id'";  
         if ((
mysql_query($ssql3))or die(mysql_error())); 
          
$consulta4=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'"); 
    
$lado4=mysql_num_rows ($consulta4); 
while(
$row=mysql_fetch_array($consulta4)){ 
$disponible=$row["disponible"]; 
}
$ssql2 "update usuarios set disponible=disponible+'$ganancia' where nombre='$nombre'";  
         if ((
mysql_query($ssql2))or die(mysql_error())); 
         
$consulta2=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'"); 
    
$lado2=mysql_num_rows ($consulta2); 
while(
$row=mysql_fetch_array($consulta2)){ 
$disponible2=$row["disponible"]; 

         
$query "INSERT INTO ganancias (nombre, id, fecha, ganancia, disponibleA, disponibleD) VALUES('$nombre','$id','$fechaininueva','$ganancia','$disponible','$disponible2')"
    
mysql_query($query) or die(mysql_error()); 
          
         
$ssql8 "update usuarios set ganado=ganado+'$ganancia' where nombre='$nombre'";  
         if ((
mysql_query($ssql8))or die(mysql_error())); 
            
//Aqui se le encia  un msj al usuario despues de haber actualizado. 
         
$header 'From: ' $mail2 " \r\n"
$header .= "X-Mailer: PHP/" phpversion() . " \r\n"
$header .= "Mime-Version: 1.0 \r\n"
$header .= "Content-Type: text/plain"
$mensaje2 "Hola " $nombre "  Hoy: " $fechaininueva "  \r\n"
$mensaje2 .="\r\n"
$mensaje2 .= " Has Ganado " $ganancia "  Gold de tu inversion en nuestro banco. \r\n"
$mensaje2 .="\r\n"
$mensaje2 .= "Ahora tienes:" $disponible2 "  Gold en tu cuenta. \r\n"
$mensaje2 .="\r\n"
$mensaje2 .= "-Puedes ver cuando sera la  proxima fecha de pago, si seleccionaste renovaciones, en ''Mis Inversiones'' en tu panel de usuario \r\n "
$mensaje2 .="\r\n"
$mensaje2 .="\r\n"
$mensaje2 .= "-Tambien puedes Revisar ''Mis Ganancias'' en tu panel de usuario. \r\n "
$mensaje2 .="\r\n"
$asunto2 'Has ganado Gold con tu inversion!.'
mail($email$asunto2utf8_decode($mensaje2), $header);  

} elseif (
$renovable==0) { 
 
$consulta4=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'"); 
    
$lado4=mysql_num_rows ($consulta4); 
while(
$row=mysql_fetch_array($consulta4)){ 
$disponible=$row["disponible"]; 

$query "UPDATE usuarios SET disponible = disponible+'$ganancia'+'$invertido' where nombre='$nombre'";  
mysql_query($query) or die(mysql_error()); 
          
$consulta2=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'"); 
$lado2=mysql_num_rows ($consulta2); 
while(
$row=mysql_fetch_array($consulta2)){ 
$disponible2=$row["disponible"]; 

$query "INSERT INTO ganancias (nombre, id, fecha, ganancia, disponibleA, disponibleD) VALUES('$nombre','$id','$fechaininueva','$ganancia','$disponible','$disponible2')"
 
mysql_query($query) or die(mysql_error()); 
            
//Aqui se borra el  usuario ya que no tiene mas renovaciones..  se borra para q deje de existir en la  tabla  inversiones y asi no lo vuelva a tomar en cuenta.. 
         
$ssql8 "update usuarios set ganado=ganado+'$ganancia' where nombre='$nombre'";  
         if ((
mysql_query($ssql8))or die(mysql_error())); 
            
//Se envia  el  el  mismo mensaje pero esta  ves  es  para los usuarios que ya  no  le quedan inversiones 
                  
$header 'From: ' $mail2 " \r\n"
$header .= "X-Mailer: PHP/" phpversion() . " \r\n"
$header .= "Mime-Version: 1.0 \r\n"
$header .= "Content-Type: text/plain"
$mensaje "Hola " $nombre "  Hoy: " $fechaininueva "  \r\n"
$mensaje ."\r\n"
$mensaje .= " Tu inversion con ID " $id "  A FINALIZADO!\r\n"
$mensaje .="\r\n"
$mensaje .= "-Has Ganado " $ganancia "  y te hemos  devuelto lo  invertido ".$invertido." Gold  \r\n "
$mensaje .="\r\n"
$mensaje .= "Ahora tienes:" $disponible2 "  Gold en tu cuenta. \r\n"
$mensaje .="\r\n"
$mensaje .= "-Vuelve a invertir en Nuestro Banco! , Revisa esta inversion en Inversiones Finalizadas, en ''Mis Inversiones'' en tu panel de usuario \r\n "
$mensaje .="\r\n"
$mensaje .= "-Tambien puedes Revisar ''Mis Ganancias'' en tu panel de usuario. \r\n "
$mensaje .="\r\n"
$asunto 'Inversion Finalizada! Has ganado Gold con tu inversion!.'
mail($email$asuntoutf8_decode($mensaje), $header); 
$ssql898 "update invcul set nombre='$nombre' where id='$id'";  
         if ((
mysql_query($ssql898))or die(mysql_error())); 
$query76 ="delete from inversiones where id='$id'"
         if ((
mysql_query($query76))or die(mysql_error())); 



}   
//Aqui abajo  esta el  script.. que  al pasar 10 segundos envia el  form 
?> 
<script> 
function sumit() 

document.formulario.submit();  

setTimeout ("sumit()", 10000);  
</script>       
</BODY>  
</HTML>
Pero directamente haciendo una consulta.. sin pasarlo por el form..
me sugirieron el antiguo post que lo hiciera por bucle peor realmente noc como usarlo e estado investigando..

For: http://www.webtaller.com/construccio...o-funciona.php

foreach: http://www.webtaller.com/construccio...oreach-php.php

while: http://www.webtaller.com/construccio...o-funciona.php

Pero no se realmente, como podria implementarlo para q que funcione lo que quiero.. xfavor un master en php alguien qme pueda ayudar. y.y se lo agradeciese muxoo.. =(
si con solo el codigo. no entienden lo que digo. se pueden pasar por el antiguo post.

http://www.forosdelweb.com/f18/duda-...onjobs-795240/

hay explico muy bien lo sucedido..

porfavor se los pido.. lo q pasa es q publique la pagina y el sistema ya esta funcionando y resulta q ese es el archivo php q calcula las comisiones.. =( y si pues ya falta poco para q se cumplan algunas.. y el archivo no me funcina con el cron job... la ruta esta bien colocada y el archivo esta bien prograado.. en post anterior..

http://www.forosdelweb.com/f18/duda-...onjobs-795240/

se explica mejor.. xfavor alguien q m ayud alguna frma d hcrlo, ya m sugerieron los bucle pero no tengo idea de como impleentarlo algun ejemplo o alguna otra sugerencia..
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..

Última edición por JoseGMariani; 10/04/2010 a las 16:05 Razón: correciones ortograficas
  #2 (permalink)  
Antiguo 10/04/2010, 20:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

definitivamente: imposible!!

¿porque??

pues ya que un CRON Job ejecuta la versión CLI de PHP es imposible que existan variables tales como $_POST, además de que un formulario necesita de un navegador para ejecutarse correctamente!!

por ende, jamás funcionaría un script que esta diseñado para la web mediante un servicio programado...

¿sencillo de entender?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 10/04/2010, 20:22
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

Tal y como dice pateketrueke, tu script tal y como lo tienes nunca funcionará en una tarea programada (cron job) ya que este ejecuta el código PHP en el compilador de este, al finalizar jamas hay una salida HTML por ende, jamas se va a enviar la petición POST y obviamente jamas habrá valores para realizar los cambios, lo que podrías hacer es en el cron job buscar una solución para indicarle a un navegador que acepte comandos vía consola que visite dicho url cada x tiempo, posiblemente así puedas realizar lo que buscas, pero tal y como lo estas haciendo ahorita jamas te va a funcionar

PD OffTopic!!! pateketrueke acabo de notar que te apellidas igual que yo ajaja, al menos supongo que en tu "página de contacto" (que tienes en tu firma) sea tu apellido lol!!!
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #4 (permalink)  
Antiguo 10/04/2010, 20:41
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

mm.. :s muchas gracias por sus repsuestas .. pero.. y no habria una forma de hacer lo mismo pero si poner las variables en post.. es decir hacerlo d euna formaa de q con cronjob si funcionara..

yo lo pongo en post e spara poder separar los email.. :S y separarar los saldos disponibles ya q cada usuario ganaria un dinero dstinto .. por q su ganancia es calculada segun lo que el invierte.. entoncs por jemplo :

pedro invirtio 10 la asa esta en 50% el gana 5 lo puso dentro de 30 dias..

juan invirtio 8 la tasa esta a 50% tambien, el gana 4 tambien lo puso a 30 dias... el mismo dia q pedro, eso quiere decir q a los dos se les vence al mismo tiempo .. y hay q hacer un update en sus cuentas sumandole la ganancia a su saldo dispobible.. +lo que invirtio q es se guarda en otro campo q se llama ''invertido'' y a cada uno de ellos s ele smanda un email..

ven es por eso q separe a cada uno a traves d elos post .. =S ya q noc como hace rpara q el codigo funcione haciendo la misma accion pero programado d euna forma directa (cli me imagino q es eso) donde el cronjob me pueda funcionar..

si se puede hacer eso?
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #5 (permalink)  
Antiguo 10/04/2010, 21:17
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

Pues de hecho no se para que utilizas el formulario...

Código PHP:
Ver original
  1. //En ves de esto
  2.  echo "\n<input type=text name='email$i' value='" . $fila["email"] . "'>";  
  3. //Asigna directamente la variable
  4. $email = $fila["email"];
Obviamente todo dentro del primer while y seria prácticamente lo mismo, ahora, no se cuantos registros tengas en "inversiones", pero toma en cuenta que si son muchos el consumo de procesador y ram se pueden disparar en cada momento que el crob job haga la petición
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #6 (permalink)  
Antiguo 10/04/2010, 21:41
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

es por que cada imput tiene un nombre distinto..

noc pence q era la unica forma.. creoq haciendolo como me dices entoncs cando toque hacer los update meva tomar es el ultimo valor y no todos..? o estoy equivocado. .:S

tu dices que lo ponga asi?
Código PHP:
  $fecha=date('Y-m-d');
   
$ssql="select * from inversiones where fechafin<='$fecha' limit 80"
   
$result=mysql_query($ssql); 
 while (
$fila=mysql_fetch_array($result)){  

$email=$fila["email"];
 
$nombre=$fila["nombre"]

//y asi sucesivamentee? 

Pero que hago con la  parte de

 
$fechafinnueva=date("Y-m-d"strtotime("$fechaininueva + $plazo days")); 
y ademas creo q si lo pngo asi como dices en la parte de email.. se les enviaria todooos los usuariosss un email por cada unoo de ellos modificado.. =S bueno eso es loq creo.. :S o no es asi? corrigeme porfa.. :)
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..

Última edición por JoseGMariani; 10/04/2010 a las 21:43 Razón: corrección de ortografia
  #7 (permalink)  
Antiguo 10/04/2010, 21:56
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

A ver, todo tu código el cual procesa tu form esta dentro de un for que es lo mismo que este dentro del primer while que estas haciendo, ve y vuelve a valorar tu código y veras que realmente haces el trabajo 2 veces

PD Tabula el código y veras lo que te comento...

Código PHP:
Ver original
  1. <HTML>
  2. <HEAD>
  3. <TITLE>edicion_a_la_vez.php</TITLE>
  4. </HEAD>
  5. <BODY>
  6. <h1 align="center">Edición de varios registros a la vez</h1>
  7. <?
  8. //Conexion con la base
  9. include ('conexion.php');
  10.  
  11. if (!$_POST){
  12.     //si no recibo datos de POST, muestro el formulario
  13.  
  14.  
  15.     //extraemos de la base de datos los registros a mostrar
  16.     //Ejecutamos la sentencia SQL, limitando la búsqueda a 80 registros
  17.     $fecha=date('Y-m-d');
  18.     $ssql="select * from inversiones where fechafin<='$fecha' limit 80";
  19.     $result=mysql_query($ssql);
  20.     echo "<form name='formulario' action='funciona5.php' method=post>";
  21.     echo "\n<table align=center>";
  22.     echo "\n<tr><td><b>Nombre</b></td><td><b>plazo</b></td><td><b>ganancia</b></td></tr>";
  23.     $i = 1;
  24.     while ($fila=mysql_fetch_array($result)){
  25.         echo "\n<input type=text name='fecha$i' value='" . $fecha . "'>";
  26.         echo "<tr>";
  27.         echo "\n<input type=text name='email$i' value='" . $fila["email"] . "'>";
  28.         echo "<tr>";
  29.         echo "<tr>";
  30.         echo "\n<input type=hidden name='nombre$i' value='" . $fila["nombre"] . "'>";
  31.         echo "<tr>";
  32.         echo "\n<input type=hidden name='id$i' value='" . $fila["id"] . "'>";
  33.         echo "<tr>";
  34.         echo "<td>" . $fila["nombre"] . "</td>";
  35.         echo "<td><input type=text name='plazo$i' value='" . $fila["plazo"] . "'></td>";
  36.         echo "</tr>";
  37.         echo "<td><input type=text name='ganancia$i' value='" . $fila["ganancia"] . "'></td>";
  38.         echo "</tr>";
  39.         echo "<td><input type=text name='invertido$i' value='" . $fila["invertido"] . "'></td>";
  40.         echo "</tr>";
  41.         echo "<td><input type=text name='renovable$i' value='" . $fila["renovable"] . "'></td>";
  42.         echo "</tr>";
  43.         echo "<td><input type=text name='fechafin$i' value='" . $fila["fechafin"] . "'></td>";
  44.         echo "</tr>";
  45.         $i++;
  46.         $ultimo_mostrado = $fila["nombre"];
  47.     }
  48.  
  49.     echo "\n<tr><td colspan=2 align=center><input type='submit' value='Editar todos'></td></tr>";
  50.     echo "\n</table>";
  51.     echo "\n</form>";
  52.  
  53.     //si se han mostrado registros, (esta parte ya estaba en el codigo que  me base para  ahcerlo. pero  es inecesaria..
  54.     if (isset($ultimo_mostrado))
  55.     echo "\n<br><a href='funciona.php?id_mostrar=" . $ultimo_mostrado . "'>Ver los 10 siguientes</a>";
  56. }else{
  57.  
  58.     //es que he recibido datos de formulario, entonces tengo que recibirlos y actualizar la base de datos
  59.     for ($i=1;$i<=10;$i++){
  60.         //establesco todas las variables.. para cada uno de los que estane n los imput del  formulario.
  61.         $mail2 = "[email protected]";
  62.         $id = $_POST["id" . $i];
  63.         $nombre = $_POST["nombre" . $i];
  64.         $fechaininueva = $_POST["fecha" . $i];
  65.         $plazo = $_POST["plazo" . $i];
  66.         $ganancia = $_POST["ganancia" . $i];
  67.         $invertido = $_POST["invertido" . $i];
  68.         $renovable = $_POST["renovable" . $i];
  69.         $email = $_POST["email" . $i];
  70.         //Aqui empieza el codigo que actualiza las cosas
  71.         $fechafinnueva=date("Y-m-d", strtotime("$fechaininueva + $plazo days"));
  72.         if ($renovable>0){
  73.  
  74.             $ssql = "update inversiones set renovable=renovable-1 where id='$id'";
  75.             if ((mysql_query($ssql))or die(mysql_error()));
  76.             $ssql3 = "update inversiones set fecha='$fechaininueva', fechafin='$fechafinnueva' where id='$id'";
  77.             if ((mysql_query($ssql3))or die(mysql_error()));
  78.             $consulta4=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
  79.             $lado4=mysql_num_rows ($consulta4);
  80.             while($row=mysql_fetch_array($consulta4)){
  81.                 $disponible=$row["disponible"];
  82.             }$ssql2 = "update usuarios set disponible=disponible+'$ganancia' where nombre='$nombre'";
  83.             if ((mysql_query($ssql2))or die(mysql_error()));
  84.             $consulta2=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
  85.             $lado2=mysql_num_rows ($consulta2);
  86.             while($row=mysql_fetch_array($consulta2)){
  87.                 $disponible2=$row["disponible"];
  88.             }
  89.             $query = "INSERT INTO ganancias (nombre, id, fecha, ganancia, disponibleA, disponibleD) VALUES('$nombre','$id','$fechaininueva','$ganancia','$disponible','$disponible2')";
  90.             mysql_query($query) or die(mysql_error());
  91.  
  92.             $ssql8 = "update usuarios set ganado=ganado+'$ganancia' where nombre='$nombre'";
  93.             if ((mysql_query($ssql8))or die(mysql_error()));
  94.             //Aqui se le encia  un msj al usuario despues de haber actualizado.
  95.             $header = 'From: ' . $mail2 . " \r\n";
  96.             $header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
  97.             $header .= "Mime-Version: 1.0 \r\n";
  98.             $header .= "Content-Type: text/plain";
  99.             $mensaje2 = "Hola " . $nombre . "  Hoy: " . $fechaininueva . "  \r\n";
  100.             $mensaje2 .="\r\n";
  101.             $mensaje2 .= " Has Ganado " . $ganancia . "  Gold de tu inversion en nuestro banco. \r\n";
  102.             $mensaje2 .="\r\n";
  103.             $mensaje2 .= "Ahora tienes:" . $disponible2 . "  Gold en tu cuenta. \r\n";
  104.             $mensaje2 .="\r\n";
  105.             $mensaje2 .= "-Puedes ver cuando sera la  proxima fecha de pago, si seleccionaste renovaciones, en ''Mis Inversiones'' en tu panel de usuario \r\n ";
  106.             $mensaje2 .="\r\n";
  107.             $mensaje2 .="\r\n";
  108.             $mensaje2 .= "-Tambien puedes Revisar ''Mis Ganancias'' en tu panel de usuario. \r\n ";
  109.             $mensaje2 .="\r\n";
  110.             $asunto2 = 'Has ganado Gold con tu inversion!.';
  111.             mail($email, $asunto2, utf8_decode($mensaje2), $header);
  112.  
  113.         } elseif ($renovable==0) {
  114.             $consulta4=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
  115.             $lado4=mysql_num_rows ($consulta4);
  116.             while($row=mysql_fetch_array($consulta4)){
  117.                 $disponible=$row["disponible"];
  118.             }
  119.             $query = "UPDATE usuarios SET disponible = disponible+'$ganancia'+'$invertido' where nombre='$nombre'";
  120.             mysql_query($query) or die(mysql_error());
  121.  
  122.             $consulta2=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
  123.             $lado2=mysql_num_rows ($consulta2);
  124.             while($row=mysql_fetch_array($consulta2)){
  125.                 $disponible2=$row["disponible"];
  126.             }
  127.             $query = "INSERT INTO ganancias (nombre, id, fecha, ganancia, disponibleA, disponibleD) VALUES('$nombre','$id','$fechaininueva','$ganancia','$disponible','$disponible2')";
  128.             mysql_query($query) or die(mysql_error());
  129.             //Aqui se borra el  usuario ya que no tiene mas renovaciones..  se borra para q deje de existir en la  tabla  inversiones y asi no lo vuelva a tomar en cuenta..
  130.             $ssql8 = "update usuarios set ganado=ganado+'$ganancia' where nombre='$nombre'";
  131.             if ((mysql_query($ssql8))or die(mysql_error()));
  132.             //Se envia  el  el  mismo mensaje pero esta  ves  es  para los usuarios que ya  no  le quedan inversiones
  133.             $header = 'From: ' . $mail2 . " \r\n";
  134.             $header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
  135.             $header .= "Mime-Version: 1.0 \r\n";
  136.             $header .= "Content-Type: text/plain";
  137.             $mensaje = "Hola " . $nombre . "  Hoy: " . $fechaininueva . "  \r\n";
  138.             $mensaje ."\r\n";
  139.             $mensaje .= " Tu inversion con ID " . $id . "  A FINALIZADO!\r\n";
  140.             $mensaje .="\r\n";
  141.             $mensaje .= "-Has Ganado " . $ganancia . "  y te hemos  devuelto lo  invertido ".$invertido." Gold  \r\n ";
  142.             $mensaje .="\r\n";
  143.             $mensaje .= "Ahora tienes:" . $disponible2 . "  Gold en tu cuenta. \r\n";
  144.             $mensaje .="\r\n";
  145.             $mensaje .= "-Vuelve a invertir en Nuestro Banco! , Revisa esta inversion en Inversiones Finalizadas, en ''Mis Inversiones'' en tu panel de usuario \r\n ";
  146.             $mensaje .="\r\n";
  147.             $mensaje .= "-Tambien puedes Revisar ''Mis Ganancias'' en tu panel de usuario. \r\n ";
  148.             $mensaje .="\r\n";
  149.             $asunto = 'Inversion Finalizada! Has ganado Gold con tu inversion!.';
  150.             mail($email, $asunto, utf8_decode($mensaje), $header);
  151.             $ssql898 = "update invcul set nombre='$nombre' where id='$id'";
  152.             if ((mysql_query($ssql898))or die(mysql_error()));
  153.             $query76 ="delete from inversiones where id='$id'";
  154.             if ((mysql_query($query76))or die(mysql_error()));
  155.  
  156.         }
  157.     }
  158. }   //Aqui abajo  esta el  script.. que  al pasar 10 segundos envia el  form
  159. ?>
  160. <script>
  161. function sumit()
  162. {
  163. document.formulario.submit();  
  164. }
  165. setTimeout ("sumit()", 10000);  
  166. </script>
  167. </BODY>
  168. </HTML>

Ves como todo el código esta dentro de un for que hace exactamente lo mismo que el primer while
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #8 (permalink)  
Antiguo 10/04/2010, 22:15
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

disculpa qno te entienda pero que es tabula el codigo ? probar? .. si es eso en eso ando lo ando colocando como me dices a ver si me funciona.. mira como lo e colocado no se si esta bien..:S nolo e probado, espero q me eches uan mano con algun detalle antes de arriesgarme a probarlo.. mira como me a quedado
Código PHP:
<? 
//Conexion con la base 
include ('conexion.php'); 

if (!
$_POST){  
  
$mail2 "[email protected]";
  
$fecha=date('Y-m-d');
  
//consulta: 

  
$ssql="select * from inversiones where fechafin<='$fecha' limit 100"
  
$result=mysql_query($ssql); 

 
//aqui empieza. 
  
  
while ($fila=mysql_fetch_array($result)){  
    
$id $fila["id"];  
    
$nombre $fila["nombre"]; 
    
$fechaininueva $fila["fecha"];           
    
$plazo $fila["plazo"]; 
    
$ganancia $fila["ganancia"]; 
    
$invertido $fila["invertido"]; 
    
$renovable $fila["renovable"]; 
    
$email $fila["email"]; 
    
$fechafinnueva=date("Y-m-d"strtotime("$fechaininueva + $plazo days"));
    
//si las  renovaciones son mayores que  0, para la  fecha que se ejecuta el  codigo,
//se quita una renovacion se  vuelve a poner una  fecha final dependiendo de la  variable plazo(30,60,90)
//y se actualiza su saldo disponible unicamente con la  ganancia. por  ultimo se envia email.    
         
if ($renovable>0){ 

         
$ssql "update inversiones set renovable=renovable-1 where id='$id'"
         if ((
mysql_query($ssql))or die(mysql_error()));
         
$ssql3 "update inversiones set fecha='$fechaininueva', fechafin='$fechafinnueva' where id='$id'"
         if ((
mysql_query($ssql3))or die(mysql_error()));
          
$consulta4=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
    
$lado4=mysql_num_rows ($consulta4);
while(
$row=mysql_fetch_array($consulta4)){
$disponible=$row["disponible"];
}
$ssql2 "update usuarios set disponible=disponible+'$ganancia' where nombre='$nombre'"
         if ((
mysql_query($ssql2))or die(mysql_error()));
         
$consulta2=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
    
$lado2=mysql_num_rows ($consulta2);
while(
$row=mysql_fetch_array($consulta2)){
$disponible2=$row["disponible"];
}
         
$query "INSERT INTO ganancias (nombre, id, fecha, ganancia, disponibleA, disponibleD) VALUES('$nombre','$id','$fechaininueva','$ganancia','$disponible','$disponible2')";
    
mysql_query($query) or die(mysql_error());
         
         
$ssql8 "update usuarios set ganado=ganado+'$ganancia' where nombre='$nombre'"
         if ((
mysql_query($ssql8))or die(mysql_error()));
         
//envio de  email.
         
$header 'From: ' $mail2 " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje2 "Hola " $nombre "  Hoy: " $fechaininueva "  \r\n";
$mensaje2 .="\r\n";
$mensaje2 .= " Has Ganado " $ganancia "  Gold de tu inversion en nuestro banco. \r\n";
$mensaje2 .="\r\n";
$mensaje2 .= "Ahora tienes:" $disponible2 "  Gold en tu cuenta. \r\n";
$mensaje2 .="\r\n";
$mensaje2 .= "-Puedes ver cuando sera la  proxima fecha de pago, si seleccionaste renovaciones, en ''Mis Inversiones'' en tu panel de usuario \r\n ";
$mensaje2 .="\r\n";
$mensaje2 .="\r\n";
$mensaje2 .= "-Tambien puedes Revisar ''Mis Ganancias'' en tu panel de usuario. \r\n ";
$mensaje2 .="\r\n";
$mensaje2 .= "Gracias por usar el Banco de Comercio, tu mejor alternativa financiera en eRepublik..!";
$mensaje2 .="\r\n";
$asunto2 '';
mail($email$asunto2utf8_decode($mensaje2), $header); 

//si las renovaciones se le acabaron, s ele devuelve su dinero mas lo invertido y se coloca en disponible.
//se envia email, se coloca en invcul (inversiones culminadas) y se elimina de la  tabla inversiones.
//de esta manera se evita que asi el  script  no lo vuelve a tomar en cuenta al dia siquiente.

} elseif ($renovable==0) {
 
$consulta4=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
    
$lado4=mysql_num_rows ($consulta4);
while(
$row=mysql_fetch_array($consulta4)){
$disponible=$row["disponible"];
}
$query "UPDATE usuarios SET disponible = disponible+'$ganancia'+'$invertido' where nombre='$nombre'"
mysql_query($query) or die(mysql_error());
         
$consulta2=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
$lado2=mysql_num_rows ($consulta2);
while(
$row=mysql_fetch_array($consulta2)){
$disponible2=$row["disponible"];
}
$query "INSERT INTO ganancias (nombre, id, fecha, ganancia, disponibleA, disponibleD) VALUES('$nombre','$id','$fechaininueva','$ganancia','$disponible','$disponible2')";
 
mysql_query($query) or die(mysql_error());
         
         
$ssql8 "update usuarios set ganado=ganado+'$ganancia' where nombre='$nombre'"
         if ((
mysql_query($ssql8))or die(mysql_error()));
                  
$header 'From: ' $mail2 " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje "Hola " $nombre "  Hoy: " $fechaininueva "  \r\n";
$mensaje ."\r\n";
$mensaje .= " Tu inversion con ID " $id "  A FINALIZADO!\r\n";
$mensaje .="\r\n";
$mensaje .= "-Has Ganado " $ganancia "  y te hemos  devuelto lo  invertido ".$invertido." Gold  \r\n ";
$mensaje .="\r\n";
$mensaje .= "Ahora tienes:" $disponible2 "  Gold en tu cuenta. \r\n";
$mensaje .="\r\n";
$mensaje .= "-Vuelve a invertir en Nuestro Banco! , Revisa esta inversion en Inversiones Finalizadas, en ''Mis Inversiones'' en tu panel de usuario \r\n ";
$mensaje .="\r\n";
$mensaje .= "-Tambien puedes Revisar ''Mis Ganancias'' en tu panel de usuario. \r\n ";
$mensaje .="\r\n";
$mensaje .= "Gracias por usar el Banco de Comercio, tu mejor alternativa financiera en eRepublik..!";
$mensaje .="\r\n";
$asunto 'Inversion Finalizada! Has ganado Gold con tu inversion!.';
mail($email$asuntoutf8_decode($mensaje), $header);
$ssql898 "update invcul set nombre='$nombre' where id='$id'"
         if ((
mysql_query($ssql898))or die(mysql_error()));
$query76 ="delete from inversiones where id='$id'";
         if ((
mysql_query($query76))or die(mysql_error()));

}
}
}
?>
Asi esta bien? qu eesta mal.. creo q lo des post no dbera ir.. hay esta le puse explicacione spara q entiedas asi como as o menso es. aunq ya se que lo entiendes pero je se ve mas organizado.. =) ! esta bien asi?
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..

Última edición por JoseGMariani; 29/05/2010 a las 08:57
  #9 (permalink)  
Antiguo 10/04/2010, 22:22
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

Amigo verifica el ultimo mensaje que publique, hay esta tu código ya "tabulado", que es tabular, pues darle espacios al código generado para que a simple vista se entienda, como podrás ver, en el código que yo publique se entiende a la perfección y claramente muestra lo que te comente, ahora, para hacer pruebas siempre, SIEMPRE haslo sobre datos respaldados, si algo sale mal solo vuelves a cargar el respaldo y claro, las pruebas se hacen en local,nunca NUNCA se hacen pruebas con el producto final.....

Ahora, el código que publicaste es tal y como te eh comentado, si le hecas coco (verificar, analizar) el código que generaste veras que al final es lo mismo que tenias solo que "optimizado"

Si no estas seguro que funcione o que haga lo que tiene que hacer has las pruebas en local con una base de datos de pruebas, como te comente, nunca hagas pruebas con la base de datos final y mucho menos sin respaldar antes....
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #10 (permalink)  
Antiguo 10/04/2010, 22:40
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

dale men! voy a probarlo! voy a copiar toda la base y la coloco en local o si trabajo en local siempre.. lo que pasa es que con el apache noc puede poner date() :S no me deja entoncs bueno..:S pero vya crar un tabla y le agrego unos 4 o 5 valores de tal manera de q lo pueda probar.. y si bueno si tenia idea de lo de tabular.. xD peor no estaba seguro.. prefiero preguntarte antes de quedar mal.. :S lo de ehcar coco si lo entend de que parte eres? yo de vzla aqui tmb se dice esi.. :)

bueno lo pruebo y te digo si?
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #11 (permalink)  
Antiguo 10/04/2010, 23:49
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

Ya loo probe. peor no me funciona.a. =( u.u naaa yo pensaba q iva funcionar.. ='( u.u le puse un echo al final del while y nisiquiera me lo imprime secillamente se qda en blanco y revise la base de datos y todo sigue igualll =S no pasa nada..:S asi lo tengo: a ver q estara mall. .=S
Código PHP:
<? 
//Conexion con la base 
include ('conexion.php'); 
  
$mail2 "[email protected]";
  
$fecha=date('Y-m-d');
  
//consulta: 

  
$ssql="select * from inversiones23 where fechafin<='$fecha' limit 100"
  
$result=mysql_query($ssql); 

 
//aqui empieza. 
  
  
while ($fila=mysql_fetch_array($result)){  
    
$id $fila["id"];  
    
$nombre $fila["nombre"]; 
    
$fechaininueva $fila["fecha"];           
    
$plazo $fila["plazo"]; 
    
$ganancia $fila["ganancia"]; 
    
$invertido $fila["invertido"]; 
    
$renovable $fila["renovable"]; 
    
$email $fila["email"]; 
    
$fechafinnueva=date("Y-m-d"strtotime("$fechaininueva + $plazo days"));
    
//si las  renovaciones son mayores que  0, para la  fecha que se ejecuta el  codigo,
//se quita una renovacion se  vuelve a poner una  fecha final dependiendo de la  variable plazo(30,60,90)
//y se actualiza su saldo disponible unicamente con la  ganancia. por  ultimo se envia email.    
         
if ($renovable>0){ 

         
$ssql "update inversiones23 set renovable=renovable-1 where id='$id'"
         if ((
mysql_query($ssql))or die(mysql_error()));
         
$ssql3 "update inversiones23 set fecha='$fechaininueva', fechafin='$fechafinnueva' where id='$id'"
         if ((
mysql_query($ssql3))or die(mysql_error()));
          
$consulta4=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
    
$lado4=mysql_num_rows ($consulta4);
while(
$row=mysql_fetch_array($consulta4)){
$disponible=$row["disponible"];
}
$ssql2 "update usuarios set disponible=disponible+'$ganancia' where nombre='$nombre'"
         if ((
mysql_query($ssql2))or die(mysql_error()));
         
$consulta2=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
    
$lado2=mysql_num_rows ($consulta2);
while(
$row=mysql_fetch_array($consulta2)){
$disponible2=$row["disponible"];
}
         
$query "INSERT INTO ganancias (nombre, id, fecha, ganancia, disponibleA, disponibleD) VALUES('$nombre','$id','$fechaininueva','$ganancia','$disponible','$disponible2')";
    
mysql_query($query) or die(mysql_error());
         
         
$ssql8 "update usuarios set ganado=ganado+'$ganancia' where nombre='$nombre'"
         if ((
mysql_query($ssql8))or die(mysql_error()));
         
//envio de  email.
         
$header 'From: ' $mail2 " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje2 "Hola " $nombre "  Hoy: " $fechaininueva "  \r\n";
$mensaje2 .="\r\n";
$mensaje2 .= " Has Ganado " $ganancia "  Gold de tu inversion en nuestro banco. \r\n";
$mensaje2 .="\r\n";
$mensaje2 .= "Ahora tienes:" $disponible2 "  Gold en tu cuenta. \r\n";
$mensaje2 .="\r\n";
$mensaje2 .= "-Puedes ver cuando sera la  proxima fecha de pago, si seleccionaste renovaciones, en ''Mis Inversiones'' en tu panel de usuario \r\n ";
$mensaje2 .="\r\n";
$mensaje2 .="\r\n";
$mensaje2 .= "-Tambien puedes Revisar ''Mis Ganancias'' en tu panel de usuario. \r\n ";
$mensaje2 .="\r\n";
$mensaje2 .= "Gracias por usar el Banco de Comercio, tu mejor alternativa financiera en eRepublik..!";
$mensaje2 .="\r\n";
$asunto2 'Has ganado Gold con tu inversion!.';
mail($email$asunto2utf8_decode($mensaje2), $header); 

//si las renovaciones se le acabaron, s ele devuelve su dinero mas lo invertido y se coloca en disponible.
//se envia email, se coloca en invcul (inversiones culminadas) y se elimina de la  tabla inversiones.
//de esta manera se evita que asi el  script  no lo vuelve a tomar en cuenta al dia siquiente.

} elseif ($renovable==0) {
 
$consulta4=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
    
$lado4=mysql_num_rows ($consulta4);
while(
$row=mysql_fetch_array($consulta4)){
$disponible=$row["disponible"];
}
$query "UPDATE usuarios SET disponible = disponible+'$ganancia'+'$invertido' where nombre='$nombre'"
mysql_query($query) or die(mysql_error());
         
$consulta2=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
$lado2=mysql_num_rows ($consulta2);
while(
$row=mysql_fetch_array($consulta2)){
$disponible2=$row["disponible"];
}
$query "INSERT INTO ganancias (nombre, id, fecha, ganancia, disponibleA, disponibleD) VALUES('$nombre','$id','$fechaininueva','$ganancia','$disponible','$disponible2')";
 
mysql_query($query) or die(mysql_error());
         
         
$ssql8 "update usuarios set ganado=ganado+'$ganancia' where nombre='$nombre'"
         if ((
mysql_query($ssql8))or die(mysql_error()));
                  
$header 'From: ' $mail2 " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje "Hola " $nombre "  Hoy: " $fechaininueva "  \r\n";
$mensaje ."\r\n";
$mensaje .= " Tu inversion con ID " $id "  A FINALIZADO!\r\n";
$mensaje .="\r\n";
$mensaje .= "-Has Ganado " $ganancia "  y te hemos  devuelto lo  invertido ".$invertido." Gold  \r\n ";
$mensaje .="\r\n";
$mensaje .= "Ahora tienes:" $disponible2 "  Gold en tu cuenta. \r\n";
$mensaje .="\r\n";
$mensaje .= "-Vuelve a invertir en Nuestro Banco! , Revisa esta inversion en Inversiones Finalizadas, en ''Mis Inversiones'' en tu panel de usuario \r\n ";
$mensaje .="\r\n";
$mensaje .= "-Tambien puedes Revisar ''Mis Ganancias'' en tu panel de usuario. \r\n ";
$mensaje .="\r\n";
$mensaje .= "Gracias por usar el Banco de Comercio, tu mejor alternativa financiera en eRepublik..!";
$mensaje .="\r\n";
$asunto '';
mail($email$asuntoutf8_decode($mensaje), $header);
$ssql898 "update invcul set nombre='$nombre' where id='$id'"
         if ((
mysql_query($ssql898))or die(mysql_error()));
$query76 ="delete from inversiones23 where id='$id'";
         if ((
mysql_query($query76))or die(mysql_error()));

}
echo 
"listo";}
?>
algo falla por q osea el codigo no funciona no se ejecuta adsolutamente nada..que hice mal.. =S :) .. =S u.u
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..

Última edición por JoseGMariani; 29/05/2010 a las 08:56
  #12 (permalink)  
Antiguo 11/04/2010, 01:11
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

Verifica si realmente obtuviste registros...

Código PHP:
Ver original
  1. $result=mysql_query($ssql);
  2.  
  3. //aqui empieza.
  4. if (count($result) != 0) {
  5.        while ($fila=mysql_fetch_array($result)){
  6.               //demas código...
  7.        }
  8. }else {
  9.       echo 'No hay registros en la tabla';
  10. }
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #13 (permalink)  
Antiguo 11/04/2010, 05:48
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

Buenos diass! :)

Perfecto! no se por que.. :S pero cuando le agrege lo que dices.. pues de esa forma si me funciona, osea me ejecuta el codigoo PERO.. :S no me muestra el echo.. aunque prefiero que me funcione el codigo jajaja.. pero que raro eso del echo. :S
una pregunta? eso no se repite cada ves verdad? ese bucle se cierra de alguna forma.. por q imaginate el cronjob lo ejecuta una ves y despues no pararia de ejecutarce el codigo? .. :S o me equivoco, mira como lo tengo por lo del echo.. =S seguro puce un { donde no era..:S y.y aunq no creo yo l vi y esta donde es bueno aqui esta: pod: tengo dos registros en la tabla, pero esos dos registros no cumplen las condiciones de la consulta.. asique es como si nunk fueran sido consultados, asi que por ende es como si no estuvieran y me tendria q salir el echo. aqu esta un poco mas ordenado aun! :)
Código PHP:
<? 
//Conexion con la base 
include ('conexion.php'); 
   
$mail2 "[email protected]";
  
$fecha=date('Y-m-d');
  
//consulta: 
  
$ssql="select * from inversiones23 where fechafin<='$fecha' limit 100"
  
$result=mysql_query($ssql); 
  if (
count($result) != 0) {
 
//aqui empieza. 
       
while ($fila=mysql_fetch_array($result)){
    
$id $fila["id"];  
    
$nombre $fila["nombre"]; 
    
$fechaininueva =$fila["fecha"];           
    
$plazo $fila["plazo"]; 
    
$ganancia $fila["ganancia"]; 
    
$invertido $fila["invertido"]; 
    
$renovable $fila["renovable"]; 
    
$email $fila["email"]; 
    
$fechafinnueva=date("Y-m-d"strtotime("$fechaininueva + $plazo days"));
    
//si las  renovaciones son mayores que  0, para la  fecha que se ejecuta el  codigo,
//se quita una renovacion se  vuelve a poner una  fecha final dependiendo de la  variable plazo(30,60,90)
//y se actualiza su saldo disponible unicamente con la  ganancia. por  ultimo se envia email.    
         
if ($renovable>0){ 

         
$ssql "update inversiones23 set renovable=renovable-1 where id='$id'"
         if ((
mysql_query($ssql))or die(mysql_error()));
         
$ssql3 "update inversiones23 set fecha='$fechaininueva', fechafin='$fechafinnueva' where id='$id'"
         if ((
mysql_query($ssql3))or die(mysql_error()));
          
$consulta4=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
    
$lado4=mysql_num_rows ($consulta4);
while(
$row=mysql_fetch_array($consulta4)){
$disponible=$row["disponible"];
}
$ssql2 "update usuarios set disponible=disponible+'$ganancia' where nombre='$nombre'"
         if ((
mysql_query($ssql2))or die(mysql_error()));
         
$consulta2=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
    
$lado2=mysql_num_rows ($consulta2);
while(
$row=mysql_fetch_array($consulta2)){
$disponible2=$row["disponible"];
}
         
$query "INSERT INTO ganancias (nombre, id, fecha, ganancia, disponibleA, disponibleD) VALUES('$nombre','$id','$fechaininueva','$ganancia','$disponible','$disponible2')";
    
mysql_query($query) or die(mysql_error());
         
         
$ssql8 "update usuarios set ganado=ganado+'$ganancia' where nombre='$nombre'"
         if ((
mysql_query($ssql8))or die(mysql_error()));
         
//envio de  email.
         
$header 'From: ' $mail2 " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje2 "Hola " $nombre "  Hoy: " $fechaininueva "  \r\n";
$mensaje2 .="\r\n";
$mensaje2 .= " Has Ganado " $ganancia "  Gold de tu inversion en nuestro banco. \r\n";
$mensaje2 .="\r\n";
$mensaje2 .= "Ahora tienes:" $disponible2 "  Gold en tu cuenta. \r\n";
$mensaje2 .="\r\n";
$mensaje2 .= "-Puedes ver cuando sera la  proxima fecha de pago, si seleccionaste renovaciones, en ''Mis Inversiones'' en tu panel de usuario \r\n ";
$mensaje2 .="\r\n";
$mensaje2 .="\r\n";
$mensaje2 .= "-Tambien puedes Revisar ''Mis Ganancias'' en tu panel de usuario. \r\n ";
$mensaje2 .="\r\n";
$mensaje2 .= "Gracias por usar el Banco de Comercio, tu mejor alternativa financiera en eRepublik..!";
$mensaje2 .="\r\n";
$asunto2 'Has ganado Gold con tu inversion!.';
mail($email$asunto2utf8_decode($mensaje2), $header); 

//si las renovaciones se le acabaron, s ele devuelve su dinero mas lo invertido y se coloca en disponible.
//se envia email, se coloca en invcul (inversiones culminadas) y se elimina de la  tabla inversiones.
//de esta manera se evita que asi el  script  no lo vuelve a tomar en cuenta al dia siquiente.

} elseif ($renovable==0) {
 
$consulta4=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
    
$lado4=mysql_num_rows ($consulta4);
while(
$row=mysql_fetch_array($consulta4)){
$disponible=$row["disponible"];
}
$query "UPDATE usuarios SET disponible = disponible+'$ganancia'+'$invertido' where nombre='$nombre'"
mysql_query($query) or die(mysql_error());
         
$consulta2=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
$lado2=mysql_num_rows ($consulta2);
while(
$row=mysql_fetch_array($consulta2)){
$disponible2=$row["disponible"];
}
$query "INSERT INTO ganancias (nombre, id, fecha, ganancia, disponibleA, disponibleD) VALUES('$nombre','$id','$fechaininueva','$ganancia','$disponible','$disponible2')";
 
mysql_query($query) or die(mysql_error());
         
         
$ssql8 "update usuarios set ganado=ganado+'$ganancia' where nombre='$nombre'"
         if ((
mysql_query($ssql8))or die(mysql_error()));
                  
$header 'From: ' $mail2 " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje "Hola " $nombre "  Hoy: " $fechaininueva "  \r\n";
$mensaje ."\r\n";
$mensaje .= " Tu inversion con ID " $id "  A FINALIZADO!\r\n";
$mensaje .="\r\n";
$mensaje .= "-Has Ganado " $ganancia "  y te hemos  devuelto lo  invertido ".$invertido." Gold  \r\n ";
$mensaje .="\r\n";
$mensaje .= "Ahora tienes:" $disponible2 "  Gold en tu cuenta. \r\n";
$mensaje .="\r\n";
$mensaje .= "-Vuelve a invertir en Nuestro Banco! , Revisa esta inversion en Inversiones Finalizadas, en ''Mis Inversiones'' en tu panel de usuario \r\n ";
$mensaje .="\r\n";
$mensaje .= "-Tambien puedes Revisar ''Mis Ganancias'' en tu panel de usuario. \r\n ";
$mensaje .="\r\n";
$mensaje .= "Gracias por usar el Banco de Comercio, tu mejor alternativa financiera en eRepublik..!";
$mensaje .="\r\n";
$asunto 'Inversion Finalizada! Has ganado Gold con tu inversion!.';
mail($email$asuntoutf8_decode($mensaje), $header);

$ssql898 "update invcul set nombre='$nombre' where id='$id'"
if ((
mysql_query($ssql898))or die(mysql_error()));

$query76 ="delete from inversiones23 where id='$id'";
if ((
mysql_query($query76))or die(mysql_error()));

}
}
}else{echo 
'No hay registros en la tabla';
 }
?>
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..

Última edición por JoseGMariani; 29/05/2010 a las 08:55
  #14 (permalink)  
Antiguo 11/04/2010, 09:25
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

A ver, creo que aun te falta mucho en programación, creo que no tienes claro el funcionamiento de "while", si la sentencia SQL "$ssql" al hacer un "mysql_query" no entrega ningún registro nunca procesara el código dentro del "while", para que lo procese mínimo tendría que a ver al menos 1 registro que coincida con tu sentencia...

Lo de si el bucle es infinito obviamente no, "while" solo cicla mientras se cumpla la sentencia, al hacer un "while($row=mysql_fetch_assoc($result))" asigna de 1 a 1 los registros, entonces si la sentencia arroja 15 registros ejecutará 15 veces, es por eso que tienes que tener cuidado con los registros, de hecho si revisas los primeros mensajes que publique en este "hilo" veras que comento que tuvieras cuidado con los registros, entre mas registros existan, mas veces se ejecutará el while, y cuando el numero de registros es enorme el consumo de procesador y ram se disparará

Para mas información de la sentencia "while" o cualquier otra función PHP siempre recurre al manual oficial de PHP http://docs.php.net/manual
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #15 (permalink)  
Antiguo 11/04/2010, 10:51
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

Cita:
Iniciado por Nemutagk Ver Mensaje
A ver, creo que aun te falta mucho en programación, creo que no tienes claro el funcionamiento de "while", si la sentencia SQL "$ssql" al hacer un "mysql_query" no entrega ningún registro nunca procesara el código dentro del "while", para que lo procese mínimo tendría que a ver al menos 1 registro que coincida con tu sentencia...

Lo de si el bucle es infinito obviamente no, "while" solo cicla mientras se cumpla la sentencia, al hacer un "while($row=mysql_fetch_assoc($result))" asigna de 1 a 1 los registros, entonces si la sentencia arroja 15 registros ejecutará 15 veces, es por eso que tienes que tener cuidado con los registros, de hecho si revisas los primeros mensajes que publique en este "hilo" veras que comento que tuvieras cuidado con los registros, entre mas registros existan, mas veces se ejecutará el while, y cuando el numero de registros es enorme el consumo de procesador y ram se disparará

Para mas información de la sentencia "while" o cualquier otra función PHP siempre recurre al manual oficial de PHP http://docs.php.net/manual

Si men eso si lo entiendo.. =( :S si entiendo.. lo que te estoy diciendo es que :
tengo dos registros que no cumplen la sentancia.!! y el codigo no me imprime el ECHO que coloque..

si me eniendes.. lo que digo es que como no hay registros que cumplan la sentancia.. me deveria ejecutar el

}else{echo"No hay registros";}

que se encuentra al final del codigo pero no lo hace..=( eso e slo unico que te estaba diciendo sobre el while pues ahorita es que lo vengo entendiendo y tenia esa duda de q si era infinito.. =) Voy a revisar el link q me distes.. y se q si me falta mucho por eos cada dia aprendo mas gracias a personas como tu q ayudan bastante.. :) ... me podrias decir que pasa con el echo? :S
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #16 (permalink)  
Antiguo 11/04/2010, 10:57
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

Checando tu código mas a fondo, puede ser que la sentencia SQL tenga error, modifica esto y ve si imprime algún error

Código PHP:
Ver original
  1. //Cambia esto...
  2. $ssql="select * from inversiones23 where fechafin<='$fecha' limit 100";
  3. $result=mysql_query($ssql);
  4.  
  5. //Por esto
  6. $ssql="select * from inversiones23 where fechafin<='$fecha' limit 100";
  7. $result=mysql_query($ssql) or die(mysql_error());
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #17 (permalink)  
Antiguo 11/04/2010, 13:03
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

Código PHP:
<? 
//Conexion con la base 
include ('conexion.php'); 
  
$mail2 "[email protected]";
  
$fecha=date('Y-m-d');
  
  
$query "UPDATE inversiones23 SET dia = dia-1 where dia>0"
mysql_query($query) or die(mysql_error());

//consulta: 
  
$ssql="select * from inversiones23 where fechafin<='$fecha' limit 100"
  
$result=mysql_query($ssql) or die(mysql_error()); 
  if (
count($result) != 0) {
 
//aqui empieza. 
       
while ($fila=mysql_fetch_array($result)){
    
$id $fila["id"];  
    
$nombre $fila["nombre"]; 
    
$fechaininueva =$fila["fecha"];           
    
$plazo $fila["plazo"]; 
    
$ganancia $fila["ganancia"]; 
    
$invertido $fila["invertido"]; 
    
$renovable $fila["renovable"]; 
    
$email $fila["email"]; 
    
$fechafinnueva=date("Y-m-d"strtotime("$fechaininueva + $plazo days"));
    
//si las  renovaciones son mayores que  0, para la  fecha que se ejecuta el  codigo,
//se quita una renovacion se  vuelve a poner una  fecha final dependiendo de la  variable plazo(30,60,90)
//y se actualiza su saldo disponible unicamente con la  ganancia. por  ultimo se envia email.    
         
if ($renovable>0){ 

         
$ssql "update inversiones23 set renovable=renovable-1 where id='$id'"
         if ((
mysql_query($ssql))or die(mysql_error()));
         
$ssql3 "update inversiones23 set fecha='$fechaininueva', fechafin='$fechafinnueva' where id='$id'"
         if ((
mysql_query($ssql3))or die(mysql_error()));
          
$consulta4=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
    
$lado4=mysql_num_rows ($consulta4);
while(
$row=mysql_fetch_array($consulta4)){
$disponible=$row["disponible"];
}
$ssql2 "update usuarios set disponible=disponible+'$ganancia' where nombre='$nombre'"
         if ((
mysql_query($ssql2))or die(mysql_error()));
         
$consulta2=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
    
$lado2=mysql_num_rows ($consulta2);
while(
$row=mysql_fetch_array($consulta2)){
$disponible2=$row["disponible"];
}
         
$query "INSERT INTO ganancias (nombre, id, fecha, ganancia, disponibleA, disponibleD) VALUES('$nombre','$id','$fechaininueva','$ganancia','$disponible','$disponible2')";
    
mysql_query($query) or die(mysql_error());
         
         
$ssql8 "update usuarios set ganado=ganado+'$ganancia' where nombre='$nombre'"
         if ((
mysql_query($ssql8))or die(mysql_error()));
         
//envio de  email.
         
$header 'From: ' $mail2 " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje2 "Hola " $nombre "  Hoy: " $fechaininueva "  \r\n";
$mensaje2 .="\r\n";
$mensaje2 .= " Has Ganado " $ganancia "  Gold de tu inversion en nuestro banco. \r\n";
$mensaje2 .="\r\n";
$mensaje2 .= "Ahora tienes:" $disponible2 "  Gold en tu cuenta. \r\n";
$mensaje2 .="\r\n";
$mensaje2 .= "-Puedes ver cuando sera la  proxima fecha de pago, si seleccionaste renovaciones, en ''Mis Inversiones'' en tu panel de usuario \r\n ";
$mensaje2 .="\r\n";
$mensaje2 .="\r\n";
$mensaje2 .= "-Tambien puedes Revisar ''Mis Ganancias'' en tu panel de usuario. \r\n ";
$mensaje2 .="\r\n";
$mensaje2 .= "Gracias por usar el Banco de Comercio, tu mejor alternativa financiera en eRepublik..!";
$mensaje2 .="\r\n";
$asunto2 'Has ganado Gold con tu inversion!.';
mail($email$asunto2utf8_decode($mensaje2), $header); 

//si las renovaciones se le acabaron, s ele devuelve su dinero mas lo invertido y se coloca en disponible.
//se envia email, se coloca en invcul (inversiones culminadas) y se elimina de la  tabla inversiones.
//de esta manera se evita que asi el  script  no lo vuelve a tomar en cuenta al dia siquiente.

} elseif ($renovable==0) {
 
$consulta4=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
    
$lado4=mysql_num_rows ($consulta4);
while(
$row=mysql_fetch_array($consulta4)){
$disponible=$row["disponible"];
}
$query "UPDATE usuarios SET disponible = disponible+'$ganancia'+'$invertido' where nombre='$nombre'"
mysql_query($query) or die(mysql_error());
         
$consulta2=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
$lado2=mysql_num_rows ($consulta2);
while(
$row=mysql_fetch_array($consulta2)){
$disponible2=$row["disponible"];
}
$query "INSERT INTO ganancias (nombre, id, fecha, ganancia, disponibleA, disponibleD) VALUES('$nombre','$id','$fechaininueva','$ganancia','$disponible','$disponible2')";
 
mysql_query($query) or die(mysql_error());
         
         
$ssql8 "update usuarios set ganado=ganado+'$ganancia' where nombre='$nombre'"
         if ((
mysql_query($ssql8))or die(mysql_error()));
                  
$header 'From: ' $mail2 " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje "Hola " $nombre "  Hoy: " $fechaininueva "  \r\n";
$mensaje ."\r\n";
$mensaje .= " Tu inversion con ID " $id "  A FINALIZADO!\r\n";
$mensaje .="\r\n";
$mensaje .= "-Has Ganado " $ganancia "  y te hemos  devuelto lo  invertido ".$invertido." Gold  \r\n ";
$mensaje .="\r\n";
$mensaje .= "Ahora tienes:" $disponible2 "  Gold en tu cuenta. \r\n";
$mensaje .="\r\n";
$mensaje .= "-Vuelve a invertir en Nuestro Banco! , Revisa esta inversion en Inversiones Finalizadas, en ''Mis Inversiones'' en tu panel de usuario \r\n ";
$mensaje .="\r\n";
$mensaje .= "-Tambien puedes Revisar ''Mis Ganancias'' en tu panel de usuario. \r\n ";
$mensaje .="\r\n";
$mensaje .= "Gracias por usar el Banco de Comercio, tu mejor alternativa financiera en eRepublik..!";
$mensaje .="\r\n";
$asunto 'Inversion Finalizada! Has ganado Gold con tu inversion!.';
mail($email$asuntoutf8_decode($mensaje), $header);

$ssql898 "update invcul set nombre='$nombre' where id='$id'"
if ((
mysql_query($ssql898))or die(mysql_error()));

$query76 ="delete from inversiones23 where id='$id'";
if ((
mysql_query($query76))or die(mysql_error()));

}
}
}else{echo 
"No hay registros en la tabla";}
?>
Ya lo e colocado y no me da ningun error .. sin envargo sige sin aparecerme el echo...de q eno hay registros.. me deberia aparecer ya q los registros que tengo tienen la fecha fin mayor que la indicada en la consulta..:S por ende no se genera la consulta y deberia aparecerme el echo..:s peor nolo hace..:S
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..

Última edición por JoseGMariani; 29/05/2010 a las 08:53
  #18 (permalink)  
Antiguo 11/04/2010, 13:09
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

una pregunta, donde estas haciendo la prueba sobre un navegador común o sobre el cron job?
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #19 (permalink)  
Antiguo 11/04/2010, 13:14
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

Sobre un navegador comun... es mas q por eos creo q ese echo no es ni necesario.. :) por qu elo preguntas.. =S ... como debo de hacerlas ahora mismo empiezo a hacerlas en el cron job..
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #20 (permalink)  
Antiguo 12/04/2010, 07:31
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

Leyendo con mas tranquilidad todo el hilo, veo no me había dado cuenta que en uno de tus post publicados comentaste que se ejecuta el código que esta DENTRO del while, la razón entones es que "mysql_query" si encuentra resultados, por lo tanto ejecuta el while y no el "echo"
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #21 (permalink)  
Antiguo 12/04/2010, 10:36
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

mm peor eso es imposible.:s no em deberia ejecutar el while ya q los dos regstros q tengo en tabla invertir23 q es una tabla de pruebas solo tengo dos registros.. los cuales tienen fechafin mayor a la fecha actua.. :S por lo cual no se hace la consulta y no deberia ejecutar,me el whilel =S
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #22 (permalink)  
Antiguo 12/04/2010, 18:15
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

Solo queda que hagas un "var_dump($result)" y ver que es lo que arroja mysql_query....

PD: Evidentemente colócalo después de realizar el "mysql_query" y antes del "if (count($result)) {"
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #23 (permalink)  
Antiguo 12/04/2010, 18:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

solo les recuerdo que mysql_query() devuelve un tipo #resource, y no un arreglo... por lo cual count() es absurdo...

en todo caso, debería usarse mysql_num_rows() o alguna función de fetching sobre el resultado ya que así es como debe hacerse... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #24 (permalink)  
Antiguo 12/04/2010, 18:25
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

LOL, ajaja, tienes absolutamente toda la razón @pateketrueke, no me había dado cuenta de eso, eso es un mega FAIL!!!, lo que pasa cuando dejas de utilizar directamente funciones "mysql_*" y utilizar pura capa da abstracción ¬¬!!!
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #25 (permalink)  
Antiguo 12/04/2010, 20:25
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

mm entoncs los q me dicen es que le ponga mysql_num_rows() en la parte de

if (count($result) != 0)

de tal forma que el codigo quede asi:
Código PHP:
$ssql="select * from inversiones where fechafin<='$fecha' limit 100"
  
$result=mysql_query($ssql) or die(mysql_error()); 
  
$registros=mysql_num_rows($result);
if (
$registros != 0) {
 
//aqui empieza. 
       
while ($fila=mysql_fetch_array($result)){
    
$id $fila["id"];  
    
$nombre $fila["nombre"];
....................... 
demas codigo.. 
y entonce lo q dices Nemutagk de var_dumb ... no se aplica osea no se lo pongo.. ?
ya con este arreglo me deberia funcionar perfectamente?

si esta bien puesto..:S o como lo tendria que ponerlo.. =( porfa ayudenme en eso. y mas si es un terrible fail tal como dices Nemutagk .. =( :s
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..

Última edición por JoseGMariani; 12/04/2010 a las 20:40
  #26 (permalink)  
Antiguo 12/04/2010, 20:43
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Como podria hacer algo comoe sto.. Urgente y.y

Cita:
Iniciado por JoseGMariani Ver Mensaje
mm entoncs los q me dicen es que le ponga mysql_num_rows() en la parte de

if (count($result) != 0)

de tal forma que el codigo quede asi:
Código PHP:
$ssql="select * from inversiones where fechafin<='$fecha' limit 100"
  
$result=mysql_query($ssql) or die(mysql_error()); 
  
$registros=mysql_num_rows($result);
if (
$registros != 0) {
 
//aqui empieza. 
       
while ($fila=mysql_fetch_array($result)){
    
$id $fila["id"];  
    
$nombre $fila["nombre"];
....................... 
demas codigo.. 
y entonce lo q dices Nemutagk de var_dumb ... no se aplica osea no se lo pongo.. ?
ya con este arreglo me deberia funcionar perfectamente?

si esta bien puesto..:S o como lo tendria que ponerlo.. =( porfa ayudenme en eso. y mas si es un terrible fail tal como dices Nemutagk .. =( :s
YA LO ACABO DE PROBARR!! Y FUNCIONA PERFECTAMENTEE! AHORA SI ME ESTA MOSTRANDO LOS ECHO..! =)! ALA FINAL SON PARA LAS PRUEBAS JEJ POR Q COMO ESO ES UNA TAREA DE CORNJOB PUES.. :s JEJE NO SON NECESARIOS PERO Q BUENO Q AHORA SI FUNCIONA DE MANERA CORRECTAA!! GRACIAS!! a los dosss!! A

Nemutagk por apoyare con paciencia a cd amomento y ayudarme .! Gracias!
y a
pateketrueke por audarnos en ultimos momentos..=) aportando la solucion y la mejora del codigo! Muchas Gracias! =)!
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..

Etiquetas: Ninguno
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:24.