Skip site navigation (1) Skip section navigation (2)

Re: pg_fetch_row Problem

From: "Seader, Cameron" <CSeader(at)idahopower(dot)com>
To: "Chris Smith" <chris(at)interspire(dot)com>, pgsql-php(at)postgresql(dot)org
Subject: Re: pg_fetch_row Problem
Date: 2004-03-02 13:51:16
Message-ID: 71B8A8BEC516CF46835CA629156CF21163F800@bedford.idacorp.local (view raw or flat)
Thread:
Lists: pgsql-php
Greetings,
I set the set_time_limit function to this
set_time_limit(20*60); // This will set timelimit to 20 minutes.

Wow this script take a long time to execute. Why is it takeing so long? 
Is there a better way to do this?

-Cameron


-----Original Message-----
From: Chris Smith [mailto:chris(at)interspire(dot)com]
Sent: Monday, March 01, 2004 5:41 PM
To: Seader, Cameron; pgsql-php(at)postgresql(dot)org
Subject: RE: [PHP] pg_fetch_row Problem


Hi Cameron,

Excellent :)

The max timeout is a PHP thing - see
http://www.php.net/manual/en/function.set-time-limit.php

Chris.

-----Original Message-----
From: Seader, Cameron [mailto:CSeader(at)idahopower(dot)com] 
Sent: Tuesday, March 02, 2004 11:34 AM
To: Chris Smith; pgsql-php(at)postgresql(dot)org
Subject: RE: [PHP] pg_fetch_row Problem


Chris,
I tryed this out and it works great thanks, but now i get this message.

Fatal error: Maximum execution time of 30 seconds exceeded in
/var/www/html/PMS/csv_export.php on line 41

Know where i can set execution times?
is this for PHP or PostgreSQL?

Thanks,
Cameron
-----Original Message-----
From: Chris Smith [mailto:chris(at)interspire(dot)com]
Sent: Monday, March 01, 2004 5:17 PM
To: Seader, Cameron; pgsql-php(at)postgresql(dot)org
Subject: RE: [PHP] pg_fetch_row Problem


Hi Cameron,

I think the reason is you're going beyond the number of results you have
for that query.

Rewrite the while(...) loop to look like this:

$result_count = 0;
while($result_count < $count) {
  $row = pg_fetch_row($result, $result_count);
.........
}

See if that works.

Chris.

-----Original Message-----
From: pgsql-php-owner(at)postgresql(dot)org
[mailto:pgsql-php-owner(at)postgresql(dot)org] On Behalf Of Seader, Cameron
Sent: Tuesday, March 02, 2004 10:50 AM
To: pgsql-php(at)postgresql(dot)org
Subject: [PHP] pg_fetch_row Problem


Greetings,
I am not sure what is going on with my script here, but i am getting
this error when i run it.
Warning: pg_fetch_row(): Unable to jump to row 706 on PostgreSQL result
index 3. in /var/www/html/PMS/csv_export.php on line 32

Warning: Cannot modify header information - headers already sent by
(output started at /var/www/html/PMS/csv_export.php:4) in
/var/www/html/PMS/csv_export.php on line 59

Warning: Cannot modify header information - headers already sent by
(output started at /var/www/html/PMS/csv_export.php:4) in
/var/www/html/PMS/csv_export.php on line 62

Warning: Cannot modify header information - headers already sent by
(output started at /var/www/html/PMS/csv_export.php:4) in
/var/www/html/PMS/csv_export.php on line 63

Warning: Cannot modify header information - headers already sent by
(output started at /var/www/html/PMS/csv_export.php:4) in
/var/www/html/PMS/csv_export.php on line 64 Can anyone tell me what is
going on here??????? I am including my script here below so you can see
what it is doing, maybe you all can see something im not: <?php
pg_connect("host=172.18.74.10 port=5432 dbname=acquisuite_db
user=pgadmin password=pgadmin") 
						or die ( 'Unable to
connect to server.' ); 
						printf("Connected
Successfully");

$MM_param1__panels = ''%'';
if (isset($HTTP_GET_VARS['panel'])) {
  $MM_param1__panels = $HTTP_GET_VARS['panel'];
}
$MM_param2__panels = ''%'';
if (isset($HTTP_GET_VARS['startdate'])) {
  $MM_param2__panels = $HTTP_GET_VARS['startdate'];
}
$MM_param3__panels = ''%'';
if (isset($HTTP_GET_VARS['enddate'])) {
  $MM_param3__panels = $HTTP_GET_VARS['enddate'];
}
$MM_param4__panels = ''%'';
if (isset($HTTP_GET_VARS['order'])) {
  $MM_param4__panels = $HTTP_GET_VARS['order'];
}
						
$query = sprintf("SELECT * FROM %s WHERE utctime AT TIME ZONE 'MST'
BETWEEN '%s' AND '%s' ORDER BY utctime %s",
$MM_param1__panels,$MM_param2__panels,$MM_param3__panels,$MM_param4__pan
els);
						
$result = pg_exec($query);
$count = pg_num_fields($result);

for ($i = 0; $i < $count; $i++){
    $header .= pg_fieldname($result,$i)."\t";
}

while($row = pg_fetch_row($result,$result_count++)){
  $line = '';
  foreach($row as $value){
    if(!isset($value) || $value == ""){
      $value = "\t";
    }else{
# important to escape any quotes to preserve them in the data.
      $value = str_replace('"', '""', $value);
# needed to encapsulate data in quotes because some data might be multi
line. # the good news is that numbers remain numbers in Excel even
though quoted.
      $value = '"' . $value . '"' . "\t";
    }
    $line .= $value;
  }
  $data .= trim($line)."\n";
}
# this line is needed because returns embedded in the data have "\r" #
and this looks like a "box character" in Excel
  $data = str_replace("\r", "", $data);

# Nice to let someone know that the search came up empty.
# Otherwise only the column name headers will be output to Excel. if
($data == "") {
  $data = "\nno matching records found\n";
}

# This line will stream the file to the user rather than spray it across
the screen
header("Content-type: application/octet-stream");

# replace excelfile.xls with whatever you want the filename to default
to
header("Content-Disposition: attachment; filename=excelfile.xls");
header("Pragma: no-cache");
header("Expires: 0");

echo $header."\n".$data; 
?>

Any Help would be appreciated.
Thanks,

Cameron Seader
mailto:CSeader(at)Idahopower(dot)com
1.208.388.2582 Office



[INFO] -- Access Manager:
This transmission may contain information that is privileged,
confidential and/or exempt from disclosure under applicable law.  If you
are not the intended recipient, you are hereby notified that any
disclosure, copying, distribution, or use of the information contained
herein (including any reliance thereon) is STRICTLY PROHIBITED. If you
received this transmission in error, please immediately contact the
sender and destroy the material in its entirety, whether in electronic
or hard copy format.  Thank you.   A2



---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if
your
      joining column's datatypes do not match





[INFO] -- Access Manager:
This transmission may contain information that is privileged,
confidential and/or exempt from disclosure under applicable law.  If you
are not the intended recipient, you are hereby notified that any
disclosure, copying, distribution, or use of the information contained
herein (including any reliance thereon) is STRICTLY PROHIBITED. If you
received this transmission in error, please immediately contact the
sender and destroy the material in its entirety, whether in electronic
or hard copy format.  Thank you.   A2






[INFO] -- Access Manager:
This transmission may contain information that is privileged, confidential and/or exempt from disclosure under applicable law.  If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format.  Thank you.   A2



Responses

pgsql-php by date

Next:From: Chris SmithDate: 2004-03-02 22:08:32
Subject: Re: pg_fetch_row Problem
Previous:From: Adam AlkinsDate: 2004-03-02 11:47:26
Subject: Re: pg_fetch_row Problem

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group