tags:

views:

75

answers:

2

Hello,

The code below echoes the following:

Table Name 1

Table Name 2

Table Name 3

Table Name 4 "$entry": "votes_up for $entry in Table Name 4"

I want it to echo this:

Table Name 1: "votes_up for $entry in Table Name 1"

Table Name 2: "votes_up for $entry in Table Name 2"

Table Name 3: "votes_up for $entry in Table Name 3"

Table Name 4: "votes_up for $entry in Table Name 4"

How could I change the code to make it echo what I want?

The number of Table Names varies based on $entry.

Thanks,

John

$result = mysql_query("SHOW TABLES FROM feather") 
or die(mysql_error()); 

while(list($table)= mysql_fetch_row($result))
{
 $sqlA = "SELECT `site`,votes_up FROM `$table` WHERE `site` LIKE '$entry'";
 $resA = mysql_query($sqlA) or die("$sqlA:".mysql_error());
 if(mysql_num_rows($resA) > 0)
 {
$table_list[] = $table;
while($rowA = mysql_fetch_assoc($resA))
  {
  $votes_up[$rowA["site"]] = $rowA["votes_up"];
  }
 }
}

foreach( $table_list as $key => $value){
    echo "$value <br />";
}

foreach($votes_up as $site => $vote_up)
{
  echo "$site: $vote_up";
}
A: 

It looks like you are selecting $site from multiple tables - are you sure that they have unique values? It is possible that the values you select are actually the same in each of the tables (even if each table does have NO_DUPLICATES on).

a_m0d
I'm returning all tables that have $entry in the 'site' column.
Yes, but that means that 'site' will always be the same, which means in your original code you overwrote the value of $votes_up each time (since you always filled the $row['site'] coloumn, which is always equal to $entry)
a_m0d
+1  A: 

Nevermind.

This gives me what I want:

$result = mysql_query("SHOW TABLES FROM feather") 
or die(mysql_error()); 

while(list($table)= mysql_fetch_row($result))
{
  $sqlA = "SELECT COUNT(*) FROM `$table` WHERE `site` LIKE '$entry'";
  $resA = mysql_query($sqlA) or die("$sqlA:".mysql_error());
  list($isThere) = mysql_fetch_row($resA);
  if ($isThere)
  {
     $table_list[] = $table;
  }
}


foreach ($table_list as $table) { 
    $sql = "SELECT votes_up FROM `$table` WHERE `site` LIKE '$entry'"; 
    $sql1 = mysql_query($sql) or die("$sql:".mysql_error());
   while ($row = mysql_fetch_assoc($sql1)) {
       echo $table . ': "' . $row['votes_up'] . " for $entry from $table\"<br />";
   } 
}