2012-02-13 70 views
1

我想,这样的第一个结果确定第二个的输出使用下面的脚本。获得两个脚本共同努力

<? 
$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所以基本上我只想回音联想与结果的名称。这些名字通过纪念相关联,如果奇怪的纪念是结果2,甚至纪念是结果1.有没有办法做到这一点,而不使用工会声明?

+0

为什么你不能只使用一个脚本?最后,它被编译为一个单一的脚本。 – Shoe 2012-02-13 19:40:11

+1

听起来更像是一个数据库/ SQL问题,而不是一个PHP /脚本问题 – leon 2012-02-13 19:43:27

+0

我在同一个数据库中查询2个不同的表。是否可以将它写成一个脚本并执行此操作?对不起,我刚刚开始写一个星期前的PHP。 – user1206214 2012-02-13 19:52:31

回答

0

它建议你创建一个函数,然后调用it.something这样的:

<?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; 
} 
?> 

} 
+0

我喜欢这个想法,但它给了我错误解析错误:语法错误,第117行出现意外的'}',我没有看到你的代码出现了什么问题。第117行是返回$ name_array后的一行; – user1206214 2012-02-13 20:43:07

+0

'而($行= mysql_fetch_array($结果))'应该是:'而($行= mysql_fetch_array($结果)){' – Blake 2012-02-13 20:46:16

+0

由于布雷克,即固定的分析错误。但是我得到的唯一的输出是“RESULT1' 或‘结果2’,这是工作正常,但它输出的名称仍是部分的结果是行不通的。 – user1206214 2012-02-13 20:59:08