Извлечение значения столбца из массива имен таблиц - PullRequest
1 голос
/ 16 июня 2009

Приведенный ниже код распечатывает все таблицы в базе данных, называемые «перо», которые содержат «$ entry» в столбце «сайт» У каждой таблицы в «перо» есть столбец «сайт».

Этот код прекрасно работает. Однако я бы хотел кое-что добавить. Каждая таблица в "перо" также содержит столбец с именем "voice_up". Для каждой таблицы, в которой есть «$ entry», я хотел бы распечатать значение для столбца «voice_up», которое соответствует $ entry. Как мне это сделать?

Заранее спасибо,

John

$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 $key => $value){
    echo "$value <br />";
}

Ответы [ 2 ]

1 голос
/ 16 июня 2009

Предполагается, что вы хотите вывод «голосов за» для каждого вхождения «записи» в таблице.

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<br />";
}
1 голос
/ 16 июня 2009

Как насчет:

SELECT COUNT(*), sum(votes_up) FROM `$table` WHERE `site` LIKE '$entry'

Это суммирует все голоса и подсчитывает все строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...