Greetings:
First, I apologize if my posting format is improper. The code below does
what I intended it to do, but presently only displays 1 table entry. I've
grown it to this point, but really need it to loop through the table and do
everything where data_store_no matches $store_no. I've tried placing where
at a couple different points with no real success - it either doesn't work
at all, exceeds the time allowed for a process (presently set to 60 sec) or
still only displays one table row. I regularly have problems understanding
the online documentation and am obviously way over my head. Am I trying to
do too much for it to loop? I need to display, in table format, 4 fields
from each row that appears in the table where it matches store_no. I am
limited to php ver 4.3.2. Any efficiency pointers and stupid mistake
notices are also welcome.
TIA!!
nan -
$store_no = $HTTP_GET_VARS['store_no'];
-
-
// Lets look and see if there are any counts on file to retrieve
-
$data_count_query = db_query("select data_query_no, data_query_id,
-
data_store_no, data_count, data_return_code, data_return_message,
-
data_select, data_query_date, data_zip4, data_radius from data_count_request
-
where data_store_no = '" . $store_no . "'");
-
// Set some variables we'll need
-
$zip4 = $data_count_values['data_zip4'];
-
$data_date = $data_count_values['data_query_date'];
-
$data_date_formatted = substr($data_date,4,2) . '/' . substr($data_date,6,2)
-
.. '/' . substr($data_date,0,4);
-
-
if ($data_count_values['data_store_no']) { // There is something in the
-
data_count_request table for this store
-
// set titles for data selects
-
$DS001 = 'Nurturing Moms';
-
$DS002 = 'Fill';
-
$DS003 = 'Leading Edge Food Focus';
-
$data_select = $$data_count_values['data_select']; // turns returned
-
field into acutal variable
-
// Check and see what the status of the count is
-
if ($data_count_values['data_return_code'] == '99' AND
-
$data_count_values['data_count'] == '0') {
-
// This count was still processing earlier, lets look again and see
-
if it's ready
-
// Specify the URL string to open
-
$queryid = $data_count_values['data_query_id'];
-
$url =
-
"http://data.website.com/databridge/databridge.asp?id=12345&pwd=PaSsWoRd&actioncode=2&campaign=01&queryid=$queryid";
-
// open the url, get the returned data, close the url.
-
$fp = fopen($url, "r");
-
$strYourXML = fgets($fp);
-
fclose($fp);
-
-
// Parse the returned XML into a multidemensional array
-
$objXML = new xml2Array();
-
$arrOutput = $objXML->parse($strYourXML);
-
-
// Flatten the array into a single array
-
flattenArray($arrOutput);
-
// Format it in a way we can use
-
$formatted = array(
-
$tmp['name0']=>$tmp['tagData0'], // COUNT
-
$tmp['name1']=>$tmp['tagData1'], // PRICE
-
$tmp['name2']=>$tmp['tagData2'], // QUERYID
-
$tmp['name3']=>$tmp['tagData3'], // CAMPAIGN
-
$tmp['name4']=>$tmp['tagData4'], // RETURNCODE
-
$tmp['name5']=>$tmp['tagData5'], // RETURNMSG
-
);
-
if ($formatted['RETURNCODE'] == '0' AND
-
$formatted['RETURNMSG'] == 'success') {
-
$count = $formatted['COUNT']; // count returned from
-
Experian
-
db_query("update data_count_request set data_count =
-
'" . $count . "', data_return_code = '" . $formatted['RETURNCODE'] . "',
-
data_return_message = '" . $formatted['RETURNMSG'] . "' where data_query_id
-
= '" . $formatted['QUERYID'] . "'");
-
}
-
// Checked data web site and count still processing
-
elseif ($formatted['RETURNCODE'] == '99' AND
-
$formatted['COUNT'] == '0'){ // count still processing
-
-
$count = '<font color="red">Count Still Processing</font>';
-
}
-
}
-
// Pull counts from table if they are there
-
if ($data_count_values['data_return_code'] == '0' AND
-
$data_count_values['data_return_message'] == 'success') {
-
$count = $data_count_values['data_count'];
-
-
$data_listing = '<tr><td>' . $data_select . '</td>
-
<td>' . $count . '</td>
-
<td>' . $data_count_values['data_radius'] . '
-
mi.</td>
-
<td>' . $data_date_formatted .'</td></tr>';
-
}
-
} else { // There are no count requests for this store.
-
$count = '<font color="red">No requests have been made</font>';
-
}
-
8 1941
Nancy wrote: Greetings:
First, I apologize if my posting format is improper. The code below does what I intended it to do, but presently only displays 1 table entry. I've grown it to this point, but really need it to loop through the table and do everything where data_store_no matches $store_no. I've tried placing where at a couple different points with no real success - it either doesn't work at all, exceeds the time allowed for a process (presently set to 60 sec) or still only displays one table row. I regularly have problems understanding the online documentation and am obviously way over my head. Am I trying to do too much for it to loop? I need to display, in table format, 4 fields from each row that appears in the table where it matches store_no. I am limited to php ver 4.3.2. Any efficiency pointers and stupid mistake notices are also welcome. TIA!! nan
- $store_no = $HTTP_GET_VARS['store_no'];
- // Lets look and see if there are any counts on file to retrieve
- $data_count_query = db_query("select data_query_no, data_query_id,
- data_store_no, data_count, data_return_code, data_return_message,
- data_select, data_query_date, data_zip4, data_radius from data_count_request
- where data_store_no = '" . $store_no . "'");
- // Set some variables we'll need
- $zip4 = $data_count_values['data_zip4'];
- $data_date = $data_count_values['data_query_date'];
- $data_date_formatted = substr($data_date,4,2) . '/' . substr($data_date,6,2)
- . '/' . substr($data_date,0,4);
- if ($data_count_values['data_store_no']) { // There is something in the
- data_count_request table for this store
- // set titles for data selects
- $DS001 = 'Nurturing Moms';
- $DS002 = 'Fill';
- $DS003 = 'Leading Edge Food Focus';
- $data_select = $$data_count_values['data_select']; // turns returned
- field into acutal variable
- // Check and see what the status of the count is
- if ($data_count_values['data_return_code'] == '99' AND
- $data_count_values['data_count'] == '0') {
- // This count was still processing earlier, lets look again and see
- if it's ready
- // Specify the URL string to open
- $queryid = $data_count_values['data_query_id'];
- $url =
- "http://data.website.com/databridge/databridge.asp?id=12345&pwd=PaSsWoRd&actioncode=2&campaign=01&queryid=$queryid";
- // open the url, get the returned data, close the url.
- $fp = fopen($url, "r");
- $strYourXML = fgets($fp);
- fclose($fp);
- // Parse the returned XML into a multidemensional array
- $objXML = new xml2Array();
- $arrOutput = $objXML->parse($strYourXML);
- // Flatten the array into a single array
- flattenArray($arrOutput);
- // Format it in a way we can use
- $formatted = array(
- $tmp['name0']=>$tmp['tagData0'], // COUNT
- $tmp['name1']=>$tmp['tagData1'], // PRICE
- $tmp['name2']=>$tmp['tagData2'], // QUERYID
- $tmp['name3']=>$tmp['tagData3'], // CAMPAIGN
- $tmp['name4']=>$tmp['tagData4'], // RETURNCODE
- $tmp['name5']=>$tmp['tagData5'], // RETURNMSG
- );
- if ($formatted['RETURNCODE'] == '0' AND
- $formatted['RETURNMSG'] == 'success') {
- $count = $formatted['COUNT']; // count returned from
- Experian
- db_query("update data_count_request set data_count =
- '" . $count . "', data_return_code = '" . $formatted['RETURNCODE'] . "',
- data_return_message = '" . $formatted['RETURNMSG'] . "' where data_query_id
- = '" . $formatted['QUERYID'] . "'");
- }
- // Checked data web site and count still processing
- elseif ($formatted['RETURNCODE'] == '99' AND
- $formatted['COUNT'] == '0'){ // count still processing
- $count = '<font color="red">Count Still Processing</font>';
- }
- }
- // Pull counts from table if they are there
- if ($data_count_values['data_return_code'] == '0' AND
- $data_count_values['data_return_message'] == 'success') {
- $count = $data_count_values['data_count'];
- $data_listing = '<tr><td>' . $data_select . '</td>
- <td>' . $count . '</td>
- <td>' . $data_count_values['data_radius'] . '
- mi.</td>
- <td>' . $data_date_formatted .'</td></tr>';
- }
- } else { // There are no count requests for this store.
- $count = '<font color="red">No requests have been made</font>';
- }
-
One thing that occurs to me is that the line:
$data_listing = '<tr><td>' . $data_select . '</td> <td>' . $count . '</td> <td>' .
$data_count_values['data_radius'] . ' mi.</td> <td>' . $data_date_formatted .'</td></tr>';
over-writes any previous value of $data_listing.
Is this what you intended?
Suggestions:
Why not make your queries more readable/maintainable?
$sql = <<< SQL
SELECT
data_query_no,
data_query_id,
data_store_no,
data_count,
data_return_code,
data_return_message,
data_select,
data_query_date,
data_zip4,
data_radius
FROM data_count_request
WHERE data_store_no = '$store_no'
SQL;
$data_count_query = db_query($sql);
-david-
"David Haynes" <da***********@sympatico.ca> wrote in message
news:yX*******************@fe81.usenetserver.com.. . Nancy wrote:
One thing that occurs to me is that the line: $data_listing = '<tr><td>' . $data_select . '</td> <td>' . $count . '</td> <td>' . $data_count_values['data_radius'] . ' mi.</td> <td>' . $data_date_formatted .'</td></tr>';
over-writes any previous value of $data_listing. Is this what you intended?
No. I want it to add to, not overwrite. Will $data_listing .= fix that?
Suggestions: Why not make your queries more readable/maintainable?
This is an excellent suggestion, thank you very much David.
$sql = <<< SQL SELECT data_query_no, data_query_id, data_store_no, data_count, data_return_code, data_return_message, data_select, data_query_date, data_zip4, data_radius FROM data_count_request WHERE data_store_no = '$store_no' SQL;
$data_count_query = db_query($sql);
-david-
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Nancy wrote: First, I apologize if my posting format is improper.
That chunk of code makes my head spin. But apart from that, it's fine.
Any efficiency pointers and stupid mistake notices are also welcome.
I cannot go through all that code, but I'll drop some suggestions:
- - Use variable expansion in your strings. It makes the code more legible.
e.g.:
<?php
db_query("select * from table where data_store_no = $store_no");
?>
- - Your db_query function may use global variables to store the DB
connection, and the query result. If this is the case, avoid nesting
db_query calls under any cost!! You might as well store all data from the
first query in an array, then loop through that array with foreach(), and
make sub-queries inside that loop.
e.g., the following doesn't work:
<?php
$r = mysql_query("select * from user where company_id = $company_id");
while($row = mysql_fetch_row($r))
{
$user_id =$row['id'];
// The following will overwrite the value of $r and mess with the previous
while loop:
$r = mysql_query("select * from orders where user_id = $user_id");
// (Do whatever with the data from the last query)
}
?>
Your code may be doing something like that behind the scenes.
- - Simplify and *understand* your code. If you don't know what does this
piece of code do, or why this bit is here, you're on the wrong track.
Declare functions and user docbook-style comments to know what the
different chunks of code do. The code you posted looks a bit like
gibberish.
- - KISS. Keep simple things simple. Do you have any real reasons to use
flattenArray or variable variables ($$data_count_values['data_select']) ??
- --
- ----------------------------------
Iván Sánchez Ortega -i-punto-sanchez--arroba-mirame-punto-net
"Mostly harmless."
-- The Hitchhiker's Guide to the Galaxy.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
iD8DBQFEAkiv3jcQ2mg3Pc8RAv+bAJ9SmXFKapHNG/2mDLLS1MwjNu8K4ACghkVy
maI90arkXyInTPpaHZFpcPs=
=VZ/z
-----END PGP SIGNATURE-----
Nancy wrote: "David Haynes" <da***********@sympatico.ca> wrote in message news:yX*******************@fe81.usenetserver.com.. . Nancy wrote:
One thing that occurs to me is that the line: $data_listing = '<tr><td>' . $data_select . '</td> <td>' . $count . '</td> <td>' . $data_count_values['data_radius'] . ' mi.</td> <td>' . $data_date_formatted .'</td></tr>'; over-writes any previous value of $data_listing. Is this what you intended?
No. I want it to add to, not overwrite. Will $data_listing .= fix that?
Well, I would do something like:
$data_list .= <<<HTML
<tr>
<td>$data_select</td>
<td>$count</td>
<td>{$data_count_values['data_radius']} mi</td>
<td>$data_date_formatted</td>
</tr>
HTML;
because I like to see the HTML structure as much as I can.
-david-
Ivan,
Thank you very much for your insight. Some very good input. I admit that I
do seriously lack understanding but am getting better.
If I had a better understanding, I could probably do without flattenArray,
but XML is returned from opening the url and I couldn't easily grasp how to
extract what I needed from the XML (not running php 5, so simple_xml is not
an option) so I used code from php.net to convert the XML into a
multi-dimensional array, but still unable to grasp how to extract what I
needed from a multi-dimensional array, I flatten into something I do
understand how to deal with.
Thanks again for your time!
nan
"Iván Sánchez Ortega" <i.***************@rroba--mirame.punto.net> wrote in
message news:s0***********@blackspark.escomposlinux.org... -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Nancy wrote:
First, I apologize if my posting format is improper.
That chunk of code makes my head spin. But apart from that, it's fine.
Any efficiency pointers and stupid mistake notices are also welcome.
I cannot go through all that code, but I'll drop some suggestions:
- - Use variable expansion in your strings. It makes the code more legible. e.g.: <?php db_query("select * from table where data_store_no = $store_no"); ?>
- - Your db_query function may use global variables to store the DB connection, and the query result. If this is the case, avoid nesting db_query calls under any cost!! You might as well store all data from the first query in an array, then loop through that array with foreach(), and make sub-queries inside that loop. e.g., the following doesn't work: <?php $r = mysql_query("select * from user where company_id = $company_id"); while($row = mysql_fetch_row($r)) { $user_id =$row['id']; // The following will overwrite the value of $r and mess with the previous while loop: $r = mysql_query("select * from orders where user_id = $user_id"); // (Do whatever with the data from the last query) } ?> Your code may be doing something like that behind the scenes.
- - Simplify and *understand* your code. If you don't know what does this piece of code do, or why this bit is here, you're on the wrong track. Declare functions and user docbook-style comments to know what the different chunks of code do. The code you posted looks a bit like gibberish.
- - KISS. Keep simple things simple. Do you have any real reasons to use flattenArray or variable variables ($$data_count_values['data_select']) ??
- -- - ---------------------------------- Iván Sánchez Ortega -i-punto-sanchez--arroba-mirame-punto-net
"Mostly harmless." -- The Hitchhiker's Guide to the Galaxy. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux)
iD8DBQFEAkiv3jcQ2mg3Pc8RAv+bAJ9SmXFKapHNG/2mDLLS1MwjNu8K4ACghkVy maI90arkXyInTPpaHZFpcPs= =VZ/z -----END PGP SIGNATURE-----
"David Haynes" <da***********@sympatico.ca> wrote in message
news:GR*****************@fe36.usenetserver.com... $data_list .= <<<HTML <tr> <td>$data_select</td> <td>$count</td> <td>{$data_count_values['data_radius']} mi</td> <td>$data_date_formatted</td> </tr> HTML;
I didn't know it could be done like this. This would make things a lot
better.
because I like to see the HTML structure as much as I can.
-david-
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Nancy wrote: If I had a better understanding, I could probably do without flattenArray, but XML is returned from opening the url
Wait, wait, wait. Are you saying that the code: ??
- - Runs a SQL query,
- - Then grabs a XML file from god-knows-where, based on the data of that
query,
- - Then runs another SQL query based on the data on the XML file.
Who in the earth designed that? My head is spinning again...
- --
- ----------------------------------
Iván Sánchez Ortega -i-punto-sanchez--arroba-mirame-punto-net http://acm.asoc.fi.upm.es/~mr/
Proudly running Debian Linux with 2.6.12-1-686 kernel, KDE3.5.0, and PHP
5.1.2-1 generating this signature.
Uptime: 10:03:03 up 2 days, 13:11, 1 user, load average: 0.15, 0.51, 0.47
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
iD8DBQFEAsDo3jcQ2mg3Pc8RAjGQAKCD4WHCtdbdlrvvi9FUEX dHAPxmTQCfbeAX
N8YvbVOa/6k61JfXC7V3mbM=
=hjdj
-----END PGP SIGNATURE-----
..= was the main problem, once it wasn't overwriting the output, it was
easier to see the remaining problems. Thanks to you and Dave!
nan
"Iván Sánchez Ortega" <i.***************@rroba--mirame.punto.net> wrote in
message news:q2************@blackspark.escomposlinux.org.. . -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Nancy wrote:
If I had a better understanding, I could probably do without flattenArray, but XML is returned from opening the url
Wait, wait, wait. Are you saying that the code: ?? - - Runs a SQL query, - - Then grabs a XML file from god-knows-where, based on the data of that query, - - Then runs another SQL query based on the data on the XML file.
Who in the earth designed that? My head is spinning again...
- -- - ---------------------------------- Iván Sánchez Ortega -i-punto-sanchez--arroba-mirame-punto-net
http://acm.asoc.fi.upm.es/~mr/ Proudly running Debian Linux with 2.6.12-1-686 kernel, KDE3.5.0, and PHP 5.1.2-1 generating this signature. Uptime: 10:03:03 up 2 days, 13:11, 1 user, load average: 0.15, 0.51, 0.47
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux)
iD8DBQFEAsDo3jcQ2mg3Pc8RAjGQAKCD4WHCtdbdlrvvi9FUEX dHAPxmTQCfbeAX N8YvbVOa/6k61JfXC7V3mbM= =hjdj -----END PGP SIGNATURE----- This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Bo Peng |
last post by:
Dear Python group:
I am planning on an application that involves several complicated C++
classes. Basically, there will be one or two big data objects and some
"action" objects that can act on...
|
by: Agoston Bejo |
last post by:
Hi, I'm having trouble with implementing some constraints on the database
level. An example:
--Table A(AID, BID ref. B.BID, ATXT)
--Table B(BID, CID ref. C.CID)
--Table C(CID)
upon insertion...
|
by: Chris |
last post by:
Hello all-
Fairly new to SQL and I need to issue a pretty complex query (complex
being a relative term here :) ).
To dumb down my example for display purposes, I have two tables in my
schema...
|
by: windandwaves |
last post by:
Hi Gurus
I am trying to make this rather complicated maps with an a huge number of mouseovers and the like.
I want to set up a function that OnMouseDown swaps the OnMouseOver and OnMouseOut for...
|
by: sathyashrayan |
last post by:
Groups,
Take a look at the following program taken from C snippet archive.
-----------------------code------------------------
void bitstring(char *str, long byze, int biz, int strwid)
{
int...
|
by: Jeff |
last post by:
Ok gang. Here is something complicated, well, at least to me anyway.
Using Access DB
I have a table in my DB called members. In that table, I have 2 tables I
will be using "username" and...
|
by: viz |
last post by:
hi,
i am curious about simpleton classes.
i want to know that is it sensible to derive from a simpleton class or
should they be used directly.
please help
Thanx
|
by: Kev |
last post by:
Hi,
I am trying to total a column (Shift1) in a subform (continous forms)
from the after update event of the (Shift1) column control within the
subform. This column stores shift codes, I want to...
|
by: Constantine AI |
last post by:
Hi i am having a little problem with an equation function that was created from all your help previously. The function works fine itself but with a small glitch within it.
Here is the function...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers,...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
| |