2012-02-14 9 views
0

このスクリプトの作成が終了し、動作するようになりましたが、1ページで合計8回使用する必要があります。それは初めてうまく動作しますが、2回目になる:致命的なエラーはget_names()を再宣言できません。私はinclude_onceを使うのがこの周りにあると言われてきましたが、私はそれをどうやって行うのか正確には分かりません。私は両方のコードからget_namesの部分をカットし、include_onceコマンドを使用して別のPHPファイルに入れてみました。私はそれを働かせましたが、もう一度私はスクリプトを2回使用しようとした後に同じエラーが発生しました。私はまた、スクリプト全体をPHPファイルに入れてみた後、include_once( "scriptname.php")コマンドを使用して同じことが起こった。だから私の欲求は、私はこのスクリプトをどれだけ正確にカットするので、私はもうこのエラーを受け取りませんか?問題があると再宣言できません

<?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(); 

$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

呼び出しますか? – fayerth

+0

get_names関数を同じファイルまたは別のファイルで宣言しましたか?別のファイルで宣言した場合は、include_once( "fileName.php");を使用します。あなたの現在のページ。 –

答えて

0

getNames関数をafile.phpに入れて、最初にその関数を含めます。 getNames関数を現在のファイルから取り出します。

ので、物事最初のPHPファイル(例えば)あなたはこのコードを持っている中で、この

ように書きます - あなたは第二のファイルがfileb.php

を持つことになります filea.php

function get_names($pool_result) 
{ 
$name_array = array(); 

$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; 

} 

$db = mysql_connect('localhost', 'username', 'pass') or die("Database error"); 
..... rest of source code excluded. Make sure you get rid of getNames in this file 

通常のとおりにそのまま追加してください。

include 'filea.php'; // include it once only 


include 'fileb.php'; // as many times as your wish 

か、単に機能であなたのコードをラップし、あなたは含めてやっているスクリプトを添付することができ、その代わりに

0

このスクリプトを8回使用している場合は、関数全体を関数内に置き、コピー貼り付けの代わりにその関数を8回呼び出します。

関連する問題