Re: [PHP-DB] Count Many Records

2006-06-29 Thread Kevin Murphy
Thanks for your help, Chris. You certainly got me going in the right  
direction. In case anyone is interested, below is the completed  
solution, with design elements, turned into a function so I can  
easily call it several times.


function counter_maker ($database,$name,$link)
{   
echo tr;
		echo td align=\left\ valign=\top\a href=\$link\ target= 
\content\b$name/b/a/td;


		$query = select status, count(id) AS count from $database where  
status in ('', 'h', 'p') group by status;

$result = mysql_query($query);
while($row = mysql_fetch_assoc($result))
{   
$status_code = $row['status'];
if ($status_code == )
{   $status_code = n;   }
$count_array[$status_code] = $row['count'];
}
echo td align=\center\ valign=\top\;
if (isset($count_array['n']))
		{	echo  style=\background-color: #F3CF45; color: #00599E; font- 
weight: bold;\;

echo $count_array['n']; }
else
{   echo  0;}
echo /td;
echo td align=\center\ valign=\top\;
if (isset($count_array['h']))
		{	echo  style=\background-color: #00599E; color: #F3CF45; font- 
weight: bold;\;

echo $count_array['h']; }
else
{   echo  0;}
echo /td;
echo td align=\center\ valign=\top\;
if (isset($count_array['p']))
{   echo $count_array['p']; }
else
{   echo 0; }
echo /td/tr;
}


counter_maker (data1,Form Name,link.php);



--
Kevin Murphy
Webmaster: Information and Marketing Services
Western Nevada Community College
www.wncc.edu
775-445-3326


On Jun 28, 2006, at 5:39 PM, Chris wrote:


Kevin Murphy wrote:
Actually the design is in the code below I need to display the  
counts from all of those queries in a grid. Basically, its just a  
summary of a bunch of information. Another way to look at it would  
be a several lines that say something like this:

You have $data1_count NEW records in data1,
You have $data1p_count PROCESSED records in data1,
etc.


Instead of

$data1_query = select id from data1 WHERE status = '';
$data1_results = mysql_query($data1_query);
$data1_count = mysql_num_rows($data1_results);

$data1p_query = select id from data1 WHERE status = 'p';
$data1p_results = mysql_query($data1p_query);
$data1p_count = mysql_num_rows($data1p_results);

$data1h_query = select id from data1 WHERE status = 'h';
$data1h_results = mysql_query($data1h_query);
$data1h_count = mysql_num_rows($data1h_results);


You could do it all in one query:

$query = select status, count(id) AS count from data1 where status  
in ('', 'p', 'h') group by status;

$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)) {
  echo status:  . $row['status'] . br/;
  echo count:  . $row['count'] . br/;
}

--
Postgresql  php tutorials
http://www.designmagick.com/




[PHP-DB] Count Many Records

2006-06-28 Thread Kevin Murphy
Thanks in advance for your help, and forgive me if this is me being  
bone-headed. :-)


The following code works and accomplishes what I need it to do, but I  
am wondering if there is a better way to accomplish the same task. I  
have several tables of records and I need to count and then display.  
Even if I could just combine the first three queries (below) into one  
that would probably be a lot better than what I am doing now.


$data1_query = select id from data1 WHERE status = '';
$data1_results = mysql_query($data1_query);
$data1_count = mysql_num_rows($data1_results);

$data1p_query = select id from data1 WHERE status = 'p';
$data1p_results = mysql_query($data1p_query);
$data1p_count = mysql_num_rows($data1p_results);

$data1h_query = select id from data1 WHERE status = 'h';
$data1h_results = mysql_query($data1h_query);
$data1h_count = mysql_num_rows($data1h_results);

echo tr;
echo td align=\center\ valign=\top\$data1_count/td;
echo td align=\center\ valign=\top\$data1h_count/td;
echo td align=\center\ valign=\top\$data1p_count/td;
echo /tr;

Then do the same thing for the second table, and so on.

$data2_query = select id from data2 WHERE status = '';
$data2_results = mysql_query($data2_query);
$data2_count = mysql_num_rows($data2_results);

$data2p_query = select id from data2 WHERE status = 'p';
$data2p_results = mysql_query($data2p_query);
$data2p_count = mysql_num_rows($data2p_results);

$data2h_query = select id from data2 WHERE status = 'h';
$data2h_results = mysql_query($data2h_query);
$data2h_count = mysql_num_rows($data2h_results);

echo tr;
echo td align=\center\ valign=\top\$data2_count/td;
echo td align=\center\ valign=\top\$data2h_count/td;
echo td align=\center\ valign=\top\$data2p_count/td;
echo /tr;

--
Kevin Murphy
Webmaster: Information and Marketing Services
Western Nevada Community College
www.wncc.edu
775-445-3326



--
Kevin Murphy
Webmaster: Information and Marketing Services
Western Nevada Community College
www.wncc.edu
775-445-3326




Re: [PHP-DB] Count Many Records

2006-06-28 Thread dpgirago

 Kevin Murphy asks:
 The following code works and accomplishes what I need it to do, but I
 am wondering if there is a better way to accomplish the same task. I
 have several tables of records and I need to count and then display.
 Even if I could just combine the first three queries (below) into one
 that would probably be a lot better than what I am doing now.

$data1_query = select id from data1 WHERE status = '';
$data1_results = mysql_query($data1_query);
$data1_count = mysql_num_rows($data1_results);

$data1p_query = select id from data1 WHERE status = 'p';
$data1p_results = mysql_query($data1p_query);
$data1p_count = mysql_num_rows($data1p_results);

$data1h_query = select id from data1 WHERE status = 'h';
$data1h_results = mysql_query($data1h_query);
$data1h_count = mysql_num_rows($data1h_results);

echo tr;
echo td align=\center\ valign=\top\$data1_count/td;
echo td align=\center\ valign=\top\$data1h_count/td;
echo td align=\center\ valign=\top\$data1p_count/td;
echo /tr;

 Then do the same thing for the second table, and so on.

$data2_query = select id from data2 WHERE status = '';
$data2_results = mysql_query($data2_query);
$data2_count = mysql_num_rows($data2_results);

$data2p_query = select id from data2 WHERE status = 'p';
$data2p_results = mysql_query($data2p_query);
$data2p_count = mysql_num_rows($data2p_results);

$data2h_query = select id from data2 WHERE status = 'h';
$data2h_results = mysql_query($data2h_query);
$data2h_count = mysql_num_rows($data2h_results);

echo tr;
echo td align=\center\ valign=\top\$data2_count/td;
echo td align=\center\ valign=\top\$data2h_count/td;
echo td align=\center\ valign=\top\$data2p_count/td;
echo /tr;

Kevin,

You haven't said what you want the page to look like, but you could have a
html select box of letters (a,b,c,d...) that would allow for the
selection of multiple items, then grab the values out of the array created
and add them to the select query, and loop through it:
$data1_query = select id from data1 WHERE status
= '$value_from_letter_array';
Then process as you have done.

Or you could use a checkbox array...

Does that help any?

David

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DB] Count Many Records

2006-06-28 Thread Kevin Murphy
Actually the design is in the code below I need to display the  
counts from all of those queries in a grid. Basically, its just a  
summary of a bunch of information. Another way to look at it would be  
a several lines that say something like this:


You have $data1_count NEW records in data1,
You have $data1p_count PROCESSED records in data1,
etc.

--
Kevin Murphy
Webmaster: Information and Marketing Services
Western Nevada Community College
www.wncc.edu
775-445-3326


On Jun 28, 2006, at 1:56 PM, [EMAIL PROTECTED] wrote:




Kevin Murphy asks:
The following code works and accomplishes what I need it to do, but I
am wondering if there is a better way to accomplish the same task. I
have several tables of records and I need to count and then display.
Even if I could just combine the first three queries (below) into one
that would probably be a lot better than what I am doing now.

   $data1_query = select id from data1 WHERE status = '';
   $data1_results = mysql_query($data1_query);
   $data1_count = mysql_num_rows($data1_results);

   $data1p_query = select id from data1 WHERE status = 'p';
   $data1p_results = mysql_query($data1p_query);
   $data1p_count = mysql_num_rows($data1p_results);

   $data1h_query = select id from data1 WHERE status = 'h';
   $data1h_results = mysql_query($data1h_query);
   $data1h_count = mysql_num_rows($data1h_results);

   echo tr;
   echo td align=\center\ valign=\top\$data1_count/ 
td;
   echo td align=\center\ valign=\top\ 
$data1h_count/td;
   echo td align=\center\ valign=\top\ 
$data1p_count/td;

   echo /tr;

Then do the same thing for the second table, and so on.

   $data2_query = select id from data2 WHERE status = '';
   $data2_results = mysql_query($data2_query);
   $data2_count = mysql_num_rows($data2_results);

   $data2p_query = select id from data2 WHERE status = 'p';
   $data2p_results = mysql_query($data2p_query);
   $data2p_count = mysql_num_rows($data2p_results);

   $data2h_query = select id from data2 WHERE status = 'h';
   $data2h_results = mysql_query($data2h_query);
   $data2h_count = mysql_num_rows($data2h_results);

   echo tr;
   echo td align=\center\ valign=\top\$data2_count/ 
td;
   echo td align=\center\ valign=\top\ 
$data2h_count/td;
   echo td align=\center\ valign=\top\ 
$data2p_count/td;

   echo /tr;


Kevin,

You haven't said what you want the page to look like, but you could  
have a

html select box of letters (a,b,c,d...) that would allow for the
selection of multiple items, then grab the values out of the array  
created

and add them to the select query, and loop through it:
$data1_query = select id from data1 WHERE status
= '$value_from_letter_array';
Then process as you have done.

Or you could use a checkbox array...

Does that help any?

David