Получение двух сценариев для совместной работы - PullRequest
1 голос
/ 13 февраля 2012

Я пытаюсь использовать следующие сценарии, чтобы результат первого определял вывод второго.

<?
$db = mysql_connect('localhost','username','pass') or die("Database error");
mysql_select_db('dbname', $db);

$query = "SELECT pool FROM winners";
$result = mysql_query($query) or die(mysql_error());

while ($row = mysql_fetch_array($result)) 

if ( $row['pool'] % 2 )
{ 
echo "<h4>Result 1</h4>";
echo "<br />";
}
else
{ 
echo "<h4>Result 2</h4>";
echo "<br />";
}
?>


<?php

$db = mysql_connect('localhost','username','pass') or die("Database error");
mysql_select_db('dbnamesameasother', $db);


$query2 = "SELECT * FROM comments";
$result2 = mysql_query($query2);

while ($row2 = mysql_fetch_assoc($result2))

if ( $row2['commentid'] % 2 ==0 )
{ 
echo $row2['name'];
echo "<br />";
}
else
{
echo $row2['name'];
}
?>

Таким образом, в основном, если первый сценарий выбирает Результат 1, я хочу отображать только имена, связанные с этим результатом. Имена связаны с commentid, где нечетный commentid будет результатом 2, а четный commentid будет результатом 1. Есть ли способ сделать это без использования оператора union?

1 Ответ

0 голосов
/ 14 февраля 2012

Рекомендуется создать функцию, а затем вызвать ее. Примерно так:

<?php
$db = mysql_connect('localhost','username','pass') or die("Database error");
mysql_select_db('dbname', $db);

$query = "SELECT pool FROM winners";
$result = mysql_query($query) or die(mysql_error());

while ($row = mysql_fetch_array($result)) 

if ( $row['pool'] % 2 )
{ 
echo "<h4>Result 1</h4>";
$names = get_names(1);
  foreach ($names as $name) {
   echo $name . "<br/>";
  }
}
else
{ 
echo "<h4>Result 2</h4>";
$names = get_names(0);
  foreach ($names as $name) {
   echo $name . "<br/>";
  }
}

Function get_names($pool_result) 
{
  $name_array = array();
  $db = mysql_connect('localhost','username','pass') or die("Database error");
  mysql_select_db('dbnamesameasother', $db);

  $query = "SELECT * FROM comments WHERE commentid % 2 = $pool_result"; 
  $result = mysql_query($query);

  while ($row = mysql_fetch_array($result))
  {
    array_push($name_array , $row['name']);
  }
  return $name_array;
}
?>

}
...