0

I have a small database, at the present time, built for basic tracking and it has 5 rows ...

trackid
datetime
uid
emailaddress
orgcodetrack

It's populate with 10 records test data from 3 users (uid)...

I need to return the total visits from each uid... Here's what I have so far and it returns nothing...

<?php

$uidTotal = mysql_connect("localhost", "user", "pass");
mysql_select_db("table", $uidTotal);

$result = mysql_query("SELECT * FROM tracking WHERE uid = $uid", $uidTotal);
$a = mysql_num_rows($result);

echo "$a \n";

?>

Can I run the SQL code inside the body of the page? Does/Can this code go inside the header? Is the code even written correctly? Do I split out the <?php echo $a ?> into the div I need the info from?

Any Help would be great!
Ted

3
Contributors
6
Replies
7
Views
8 Years
Discussion Span
Last Post by changeco
0

I think your code has little problem, try following:

<?php

$uidTotal = mysql_connect("localhost", "user", "pass");
mysql_select_db("table", $uidTotal);

[B]$uid=3;[/B]

$result = mysql_query("SELECT * FROM tracking WHERE uid = [B]{$uid}[/B]", $uidTotal);
$a = mysql_num_rows($result);

echo "[B]{$a}[/B] \n";

?>
0

thanks for the reply urtrivedi...

I changed the SQL code a bit it wasn't pulling what I needed to pull... Since I already have the connection string in the header I took it out of the code...

<td>
<?php
												$trackuid = $row_tracking['uid'];
											
$sql = mysql_query("SELECT COUNT(uid) FROM tracking WHERE uid = {$trackuid}");

$a = mysql_num_rows($sql);
												echo "{$a}";

?>
</td>

I get the number 1 returned, which is strange, none of the values in the DB are 1...

Is there something screwy with my SQL code? I have a sinking suspicion that's the case...

Ted

0

Count is an aggregate function. It's not going to return anything from the database. It's only going to count the number of records matching your criteria and return the total.

0

that's what I want to return a total count of uid 1 = 400 times or uid 3 = 10 times...

but the COUNT is only returning the number 1...

0

Well, if the uid is a numeric datatype, you could use:

SELECT COUNT(uid) FROM tracking WHERE uid = $trackuid

If not numeric, you'll have to surround with quotes:

SELECT COUNT(uid) FROM tracking WHERE uid = "$trackuid"
0

I fixed it...

here's what worked to return total visits from one user...

<?php
$trackuid = $row_tracking['uid'];
												
$sql = "SELECT COUNT(uid) AS total FROM tracking WHERE uid = $trackuid"; 
$query = mysql_query($sql);

$recordset = mysql_fetch_assoc($query);
$count = $recordset["total"];
												
echo "$count";
?>
This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.