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 1964
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_val ues['data_radius'] . ' mi.</td> <td>' . $data_date_form atted .'</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_cod e,
data_return_mes sage,
data_select,
data_query_date ,
data_zip4,
data_radius
FROM data_count_requ est
WHERE data_store_no = '$store_no'
SQL;
$data_count_que ry = db_query($sql);
-david-
"David Haynes" <da***********@ sympatico.ca> wrote in message
news:yX******** ***********@fe8 1.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_val ues['data_radius'] . ' mi.</td> <td>' . $data_date_form atted .'</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_cod e, data_return_mes sage, data_select, data_query_date , data_zip4, data_radius FROM data_count_requ est WHERE data_store_no = '$store_no' SQL;
$data_count_que ry = 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("selec t * 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("se lect * 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("se lect * 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_v alues['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)
iD8DBQFEAkiv3jc Q2mg3Pc8RAv+bAJ 9SmXFKapHNG/2mDLLS1MwjNu8K4 ACghkVy
maI90arkXyInTPp aHZFpcPs=
=VZ/z
-----END PGP SIGNATURE-----
Nancy wrote: "David Haynes" <da***********@ sympatico.ca> wrote in message news:yX******** ***********@fe8 1.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_val ues['data_radius'] . ' mi.</td> <td>' . $data_date_form atted .'</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_selec t</td>
<td>$count</td>
<td>{$data_coun t_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.ne t> wrote in
message news:s0******** ***@blackspark. escomposlinux.o rg... -----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("selec t * 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("se lect * 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("se lect * 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_v alues['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)
iD8DBQFEAkiv3jc Q2mg3Pc8RAv+bAJ 9SmXFKapHNG/2mDLLS1MwjNu8K4 ACghkVy maI90arkXyInTPp aHZFpcPs= =VZ/z -----END PGP SIGNATURE-----
"David Haynes" <da***********@ sympatico.ca> wrote in message
news:GR******** *********@fe36. usenetserver.co m... $data_list .= <<<HTML <tr> <td>$data_selec t</td> <td>$count</td> <td>{$data_coun t_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)
iD8DBQFEAsDo3jc Q2mg3Pc8RAjGQAK CD4WHCtdbdlrvvi 9FUEXdHAPxmTQCf beAX
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.ne t> 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)
iD8DBQFEAsDo3jc Q2mg3Pc8RAjGQAK CD4WHCtdbdlrvvi 9FUEXdHAPxmTQCf beAX 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 the data. I would like to use a script
language to control the interaction between these c++ objects.
I become interested in Python since it can load C++ objects and can even
extend C++ classes. However, I am not quite sure to what extent can...
|
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 into or updating in A I would like to force that ATXT is
unique with respect to CID, i.e.
|
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
a Customer Table :
|
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 the same element.
E.g.
<A HREF="#"
OnMouseOver="A(); return true"
OnMouseOut"B(); return true;"
|
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 i, j;
j = strwid - (biz + (biz >> 2)- (biz % 4 ? 0 : 1));
for (i = 0; i < j; i++)
| |
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 "points"
Now, I also have a table called all_matches. This table contains every match
report. Over 25,000 of them. I have a "username" field an "outcome" field an
"username1" field and "extra_match" field.
|
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 sum the hours
associated with these shift codes from the RosterShifts Table.
ie. Shift1 may = D
The D shift is 8 hours long
I am using Dictionary objects within the form as suggested by Gord,
|
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 code.
Public Function fCalcEquation(strEquation As String) As Long
Dim MyDB As DAO.Database
Dim rstParameters As DAO.Recordset
Dim intParamPosition As Integer
Dim strParameter As String
Dim strValue As String
|
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
| |
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, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
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 presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules.
He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms.
Adolph will...
|
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 then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
|
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 last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
|
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 we have to send another system
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| |