2016-05-29 29 views
1

私の関数selectuniversal();を同じページで2回呼び出そうとしていますが、最初の呼び出し(または最初の呼び出しを無効にすると2番目の呼び出し)の結果しか得られません。同じphpページで同じ関数を2回呼び出す

My機能は次のとおりです。私には [func.php]

<?php 
global $mycon; 
$mycon = mysqli_connect('localhost','user','pass','db'); 
$mycon->set_charset('utf8'); 
class IDfun{ 

public function selectuniversal($tabela,$celula1,$celula2,$celulaordem,$ordem) 
    { 
    global $mycon; 

    $IDquery = 'SELECT '.$celula1.','.$celula2.' FROM '.$tabela.' ORDER BY '.$celulaordem.' '.$ordem; 
    $IDresultado= mysqli_query($mycon,$IDquery) or die(mysqli_error()); 

     do{ 
     $i=$row[$celula1]; 
     if($i>=1){echo '<option value='.$row[$celula1].'>'.$row[$celula2].'</option>';} 
     } while ($row = mysqli_fetch_assoc($IDresultado)); 
    $mycon->close(); 
    } 

} 

?> 

[index.phpの]

<!doctype html> 
<html> 
<head> 
<meta http-equiv="content-type" content="text/html; charset=utf-8"></meta> 
<?php 
include("func.php"); 
$IDfun=new IDfun; 
?> 

<meta charset="utf-8"> 
<title>Documento sem título</title> 
</head> 

<body> 
<select id="cpais" name="cpais"> 
<?php $IDfun->selectuniversal('pais','pid','pnome','pnome','desc');?> 
</select> 

<p> 

<select id="cvendid" name="cvendid"> 
<?php $IDfun->selectuniversal('vend','vid','vnome','vnome','desc');?> 
</select> 
</body> 
</html> 

は、任意の助けてくれてありがとう。

+0

「$ IDnext」はどこにも定義されていません。 – Qirel

+0

申し訳ありませんが、間違ってこの関数を書きましたが、$ IDfun –

+0

がindex.phpのコードから$ IDfun-> selectuniversalメソッドを呼び出してから$ IDfun-> selectuniversal2が存在しないようです。 –

答えて

0

$mycon->close()の関数呼び出しでmysqli接続を終了しているので、2番目に、mysqli_queryが閉じられた接続を使用しようとしている関数を呼び出すと、

あなたの関数で接続を作成するか、PHPファイルの最後にある関数の外に$mycon->close()を呼び出してください。

+0

助けてくれてありがとう! :D –

関連する問題