Ir al contenido


Foto

por que no se puede ???


  • Por favor identifícate para responder
9 respuestas en este tema

#1 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 03 febrero 2011 - 09:52

hola a todos nunca habia posteado en php
pero tengo una dudota
tengo un script que me genera un programita (php generator form mysql ) siempre me havia funcionado pero ahora que necesito que sea un script mas complejono funciona
me pueden ayudar
GRACIAS

[/code]

sql
  1. <?php session_start();?>
  2. <html><head><title>aldebara_sugarcrm -- Avance</title><meta name="generator" http-equiv="content-type" content="text/html"><style type="text/css">  body {    background-color: #FFFFFF;    color: #000000;    font-family: Arial;    font-size: 12px;  }  .bd {    background-color: #FFFFFF;    color: #000000;    font-family: Arial;    font-size: 12px;  }  .tbl {    background-color: #FFFFFF;  }  a:link {    color: #FF0000;    font-family: Arial;    font-size: 12px;  }  a:active {    color: #0000FF;    font-family: Arial;    font-size: 12px;  }  a:visited {    color: #800080;    font-family: Arial;    font-size: 12px;  }  .hr {    background-color: #000000;    color: #FFFFFF;    font-family: Arial;    font-size: 12px;  }  a.hr:link {    color: #FFFFFF;    font-family: Arial;    font-size: 12px;  }  a.hr:active {    color: #FFFFFF;    font-family: Arial;    font-size: 12px;  }  a.hr:visited {    color: #FFFFFF;    font-family: Arial;    font-size: 12px;  }  .dr {    background-color: #FFFFFF;    color: #000000;    font-family: Arial;    font-size: 12px;  }  .sr {    background-color: #F3F3F3;    color: #000000;    font-family: Arial;    font-size: 12px;  }</style></head><body><h2>Reporte</h2></td></tr></table><?php  $conn = connect();  $showrecs = 99;  $pagerange = 99;
  3.   $page = @$_GET["page"]IF (!isset($page)) $page = 1;
  4.   SELECT();
  5.  
  6.   mysql_close($conn);?><TABLE class="bd" width="100%"><tr><td class="hr">arroyoj</td></tr></table></body></html>
  7. <?php FUNCTION SELECT()  {  global $a;  global $showrecs;  global $page;
  8.   $res = sql_select();  #$count = sql_getrecordcount()IF ($count % $showrecs != 0) {    $pagecount = intval($count / $showrecs) + 1}  ELSE {    $pagecount = intval($count / $showrecs)}  $startrec = $showrecs * ($page - 1)IF ($startrec < $count) {mysql_data_seek($res, $startrec);}  $reccount = MIN($showrecs * $page, $count);?><TABLE class="bd" border="0" cellspacing="1" cellpadding="4"><tr><td>TABLE: Avance</td></tr><tr><td>Records shown <?php echo $startrec + 1 ?> - <?php echo $reccount ?> OF <?php echo $count ?></td></tr></table><hr SIZE="1" noshade><?php showpagenav($page, $pagecount); ?>[br /]<TABLE class="tbl" border="1" cellspacing="1" cellpadding="5"width="100%"><tr></tr><?php  FOR ($i = $startrec; $i < $reccount; $i++)  {    $row = mysql_fetch_assoc($res);    $style = "dr";    IF ($i % 2 != 0) {      $style = "sr";    }?><tr></tr><?php  }  mysql_free_result($res);?></table>[br /]<?php showpagenav($page, $pagecount); ?><?php } ?>
  9. <?php FUNCTION showpagenav($page, $pagecount){?><TABLE class="bd" border="0" cellspacing="1" cellpadding="4"><tr><?php IF ($page > 1) { ?><td><a href="Avance.php?page=<?php echo $page - 1 ?>">&lt;&lt;&nbsp;Prev&nbsp;</td><?php } ?><?php  global $pagerange;
  10.   IF ($pagecount > 1) {
  11.   IF ($pagecount % $pagerange != 0) {    $rangecount = intval($pagecount / $pagerange) + 1}  ELSE {    $rangecount = intval($pagecount / $pagerange)}  FOR ($i = 1; $i < $rangecount + 1; $i++) {    $startpage = (($i - 1) * $pagerange) + 1;    $count = MIN($i * $pagerange, $pagecount);
  12.     IF ((($page >= $startpage) && ($page <= ($i * $pagerange)))) {      FOR ($j = $startpage; $j < $count + 1; $j++) {        IF ($j == $page) {?><td>[b]<?php echo $j ?>[/b]</td><?php } ELSE { ?><td><a href="Avance.php?page=<?php echo $j ?>"><?php echo $j ?></td><?php } } } ELSE { ?><td><a href="Avance.php?page=<?php echo $startpage ?>"><?php echo $startpage ."..." .$count ?></td><?php } } } ?><?php IF ($page < $pagecount) { ?><td>&nbsp;<a href="Avance.php?page=<?php echo $page + 1 ?>">Next&nbsp;&gt;&gt;&nbsp;</td><?php } ?></tr></table><?php } ?>
  13. <?php FUNCTION CONNECT(){  $conn = mysql_connect("HOST", "BASE", "PASS");  mysql_select_db("aldebara_sugarcrm")RETURN $conn;}
  14. FUNCTION sql_select(){  global $conn;  $sql = "SELECT * FROM (TRUNCATE TABLE wtareas ;  insert into wtareas (parent_id, date_due) select parent_id, MAX(date_due)from tasks WHERE (parent_type = 'Accounts' AND deleted <> '1' and parent_id is not null) group by parent_id;  select accounts_cstm.fase_c as 'Fase', accounts_cstm.status_c as 'Estatus cuenta', accounts.name as 'Cuenta', tasks.date_due as 'Vencimiento ultima tarea', DATEDIFF(now(),tasks.date_due) as 'Dias sin movimiento', CONCAT(users.first_name,' ',users.last_name) AS 'Asignado a', tasks.status as 'Estatus tarea', tasks.description as 'Descripcion' , accounts_cstm.demanda_c as 'Demanda', accounts_cstm.lote_demandas_c as 'Lote'  FROM wtareas INNER JOIN tasks ON wtareas.parent_id = tasks.parent_id AND wtareas.date_due = tasks.date_due INNER JOIN accounts ON wtareas.parent_id = accounts.id INNER JOIN accounts_cstm ON wtareas.parent_id = accounts_cstm.id_c INNER JOIN users ON tasks.assigned_user_id = users.id  WHERE (accounts_cstm.status_c <> 'Cancelado' and accounts_cstm.status_c <> 'Concluida')  ORDER BY accounts_cstm.fase_c, accounts.name) subq";  $res = mysql_query($sql, $conn) OR die(mysql_error())RETURN $res;}
  15. FUNCTION sql_getrecordcount(){  global $conn;  $sql = "SELECT COUNT(*) FROM (TRUNCATE TABLE wtareas ;  insert into wtareas (parent_id, date_due) select parent_id, MAX(date_due)from tasks WHERE (parent_type = 'Accounts' AND deleted <> '1' and parent_id is not null) group by parent_id;  select accounts_cstm.fase_c as 'Fase', accounts_cstm.status_c as 'Estatus cuenta', accounts.name as 'Cuenta', tasks.date_due as 'Vencimiento ultima tarea', DATEDIFF(now(),tasks.date_due) as 'Dias sin movimiento', CONCAT(users.first_name,' ',users.last_name) AS 'Asignado a', tasks.status as 'Estatus tarea', tasks.description as 'Descripcion' , accounts_cstm.demanda_c as 'Demanda', accounts_cstm.lote_demandas_c as 'Lote'  FROM wtareas INNER JOIN tasks ON wtareas.parent_id = tasks.parent_id AND wtareas.date_due = tasks.date_due INNER JOIN accounts ON wtareas.parent_id = accounts.id INNER JOIN accounts_cstm ON wtareas.parent_id = accounts_cstm.id_c INNER JOIN users ON tasks.assigned_user_id = users.id  WHERE (accounts_cstm.status_c <> 'Cancelado' and accounts_cstm.status_c <> 'Concluida')  ORDER BY accounts_cstm.fase_c, accounts.name) subq";  $res = mysql_query($sql, $conn) OR die(mysql_error());  $row = mysql_fetch_assoc($res);  reset($row)RETURN CURRENT($row);} ?>


  • 0

#2 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 03 febrero 2011 - 10:24

Esta consulta te va a generar error por el truncate y la falta de comas, En todo caso deberia ser de la siguiente manera:



sql
  1. TRUNCATE TABLE wtareas; 
  2.  
  3. INSERT
  4.   INTO wtareas (parent_id, date_due)
  5. SELECT parent_id, MAX(date_due)
  6.   FROM tasks
  7. WHERE (parent_type = 'Accounts' AND
  8.           deleted <> '1' AND
  9.           parent_id IS NOT NULL)
  10. GROUP BY parent_id; 
  11.  
  12. SELECT accounts_cstm.fase_c AS 'Fase',
  13.         accounts_cstm.status_c AS 'Estatus cuenta',
  14.         accounts.name AS 'Cuenta',
  15.         tasks.date_due AS 'Vencimiento ultima tarea',
  16.         DATEDIFF(now(),tasks.date_due) AS 'Dias sin movimiento',
  17.         CONCAT(users.first_name,' ',users.last_name) AS 'Asignado a',
  18.         tasks.STATUS AS 'Estatus tarea',
  19.         tasks.description AS 'Descripcion' ,
  20.         accounts_cstm.demanda_c AS 'Demanda',
  21.         accounts_cstm.lote_demandas_c AS 'Lote' 
  22. FROM wtareas
  23. INNER JOIN tasks
  24.           ON wtareas.parent_id = tasks.parent_id AND
  25.                 wtareas.date_due = tasks.date_due
  26. INNER JOIN accounts
  27.           ON wtareas.parent_id = accounts.id
  28. INNER JOIN accounts_cstm
  29.           ON wtareas.parent_id = accounts_cstm.id_c
  30. INNER JOIN users
  31.           ON tasks.assigned_user_id = users.id 
  32.         WHERE (accounts_cstm.status_c <> 'Cancelado' AND
  33.                     accounts_cstm.status_c <> 'Concluida') 
  34. ORDER BY accounts_cstm.fase_c, accounts.name;







  • 0

#3 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 03 febrero 2011 - 01:46

creo la solucion es crear varias consultas por que me marca errores
  • 0

#4 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 03 febrero 2011 - 02:54

ahora la pregunta es como lo hago ????

jajajajj a

siempre utilizo un generador de codigo php

un norte de por donde empezar pls pls
  • 0

#5 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 03 febrero 2011 - 05:05

no sean gachos una sugerencia
  • 0

#6 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 03 febrero 2011 - 05:22

no sean gachos una sugerencia


:D

Pues esperemos que algún compañero con más experiencia MySQL te pueda ayudar.
Ahora bien, desde el lado lógico de la consulta ¿que deseas cambiar?


Saludos!
  • 0

#7 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 03 febrero 2011 - 05:36

cambiar nada es para generar un " " reporte

algo asi como esto

http://crm.aldebaran.mx/reporte.php

pero la consulta que funcionaria es mmm algo compleja

por que tengo que
vaciar la tabla
checar cuales son los ultimos registros de cada cuenta
mostrar los datos

( nota la consulta no la hice yo )
me la pasa la persona que se encarga de manejar el CRM
  • 0

#8 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 04 febrero 2011 - 08:22

cambiar nada es para generar un " " reporte

algo asi como esto

http://crm.aldebaran.mx/reporte.php

pero la consulta que funcionaria es mmm algo compleja

por que tengo que
vaciar la tabla
checar cuales son los ultimos registros de cada cuenta
mostrar los datos

( nota la consulta no la hice yo )
me la pasa la persona que se encarga de manejar el CRM


Pues siendo así, sería bueno hablar con el encargado y hacer notar el problema.
Por otra parte, ¿no se puede hacer a modo de procedimiento de almacenado?



Saludos!
  • 0

#9 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 04 febrero 2011 - 12:44

hay si pueden echenle un ojo

asegun yo es asi

pero me manda error

<?php
mysql_connect("*********", "**********", "********");
$q = mysql("aldebara_sugarcrm","TRUNCATE TABLE wtareas");
$num = mysql_numrows($q);
print mysql_Result($q,num_linea,"campo");
?>
  • 0

#10 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 04 febrero 2011 - 02:02

a ver creo ya se




php
  1. <?php
  2. $coneccion=mysql_connect("*******", "******", "******");
  3. mysql("aldebara_sugarcrm","trucate table wtareas");
  4.  
  5. mysql("aldebara_sugarcrm","INSERT INTO wtareas (parent_id, date_due)
  6.                           SELECT parent_id, MAX(date_due) FROM tasks 
  7.   WHERE (parent_type = 'Accounts' AND
  8.           deleted <> '1' AND
  9.   parent_id IS NOT NULL)
  10.   GROUP BY parent_id");
  11.  
  12. $resp=mysql("aldebara_sugarcrm","SELECT accounts_cstm.fase_c AS 'Fase',
  13.           accounts_cstm.status_c AS 'Estatus cuenta',
  14.           accounts.name AS 'Cuenta',
  15.           tasks.date_due AS 'Vencimiento ultima tarea',
  16.           DATEDIFF(now(),tasks.date_due) AS 'Dias sin movimiento',
  17.           CONCAT(users.first_name,' ',users.last_name) AS 'Asignado a',
  18.           tasks.STATUS AS 'Estatus tarea',
  19.           tasks.description AS 'Descripcion' ,
  20.           accounts_cstm.demanda_c AS 'Demanda',
  21.           accounts_cstm.lote_demandas_c AS 'Lote'
  22.   FROM wtareas
  23.   INNER JOIN tasks ON wtareas.parent_id = tasks.parent_id AND wtareas.date_due = tasks.date_due
  24.   INNER JOIN accounts N wtareas.parent_id = accounts.id
  25.   INNER JOIN accounts_cstm ON wtareas.parent_id = accounts_cstm.id_c
  26.   INNER JOIN users ON tasks.assigned_user_id = users.id
  27.   WHERE (accounts_cstm.status_c <> 'Cancelado' AND
  28.   accounts_cstm.status_c <> 'Concluida')
  29.   ORDER BY accounts_cstm.fase_c, accounts.name");
  30.  
  31. $contar=mysql("aldebara_sugarcrm","select count (*) from (SELECT accounts_cstm.fase_c AS 'Fase',
  32.           accounts_cstm.status_c AS 'Estatus cuenta',
  33.           accounts.name AS 'Cuenta',
  34.           tasks.date_due AS 'Vencimiento ultima tarea',
  35.           DATEDIFF(now(),tasks.date_due) AS 'Dias sin movimiento',
  36.           CONCAT(users.first_name,' ',users.last_name) AS 'Asignado a',
  37.           tasks.STATUS AS 'Estatus tarea',
  38.           tasks.description AS 'Descripcion' ,
  39.           accounts_cstm.demanda_c AS 'Demanda',
  40.           accounts_cstm.lote_demandas_c AS 'Lote' FROM wtareas
  41.   INNER JOIN tasks ON wtareas.parent_id = tasks.parent_id AND wtareas.date_due = tasks.date_due
  42.   INNER JOIN accounts ON wtareas.parent_id = accounts.id
  43.   INNER JOIN accounts_cstm ON wtareas.parent_id = accounts_cstm.id_c
  44.   INNER JOIN users ON tasks.assigned_user_id = users.id
  45.   WHERE (accounts_cstm.status_c <> 'Cancelado' AND
  46.                   accounts_cstm.status_c <> 'Concluida')
  47.           ORDER BY accounts_cstm.fase_c, accounts.name"));
  48.  
  49. //print mysql_result($q,0) ;
  50. mysql_close($coneccion)
  51. ?>



voy bien o me regreso ???
  • 0




IP.Board spam blocked by CleanTalk.