2017-04-15 11 views
0

**ここでは、コードとmysqlデータを取得し、その関数を渡して印刷する方法を示します。私はこれを試みるが、GenerateName()、GeneratePrice()、GenerateCode()セクションのような関数部分にエラーを表示する。それを解決するためにどのように、私は**mysqlのデータの受け渡し機能

<?php 
require('mc_table.php'); 
$pdf=new PDF_MC_Table(); 
$pdf->AddPage(); 
$pdf->SetFont('Arial','',14); 
$pdf->Cell(188,12,'Title',1,1,'C'); 
$pdf->Cell(47,12,'',0,1); 
$pdf->SetWidths(array(47,47,47)); 
$pdf->Cell(47,12,'Name',1,0); 
$pdf->Cell(47,12,'Price',1,0); 
$pdf->Cell(47,12,'Code',1,1); 
include('db.php'); 
$sql="Select Name,Price,Code from products"; 
$result=mysql_query($sql); 
while($dtset=mysql_fetch_array($result)) 
{ 
$name=$dtset['Name']; 
$price=$dtset['Price']; 
$code=$dtset['Code']; 
function GenerateName($name) 
{ 
$nb=1; 
$w=''; 
for($i=1;$i<=$nb;$i++) 
$w.='$name'; 
return $w; 
} 
function GeneratePrice($price) 
{ 
$nb=1; 
$p=''; 
for($i=1;$i<=$nb;$i++) 
$p.='$price'; 
return $p; 
} 
function GenerateCode($code) 
{ 
$nb=1; 
$c=''; 
for($i=1;$i<=$nb;$i++) 
$c.='$code'; 
return $c; 
} 
for($i=0;$i<1;$i++) 
$pdf->Row(array(GenerateName(),GeneratePrice(),GenerateCode())); 
} 
$pdf->Output(); 
?> 
+0

mysql_ *はPHP 5.5で廃止されました([PHPドキュメント](http://php.net/manual/en/function.mysql-connect.php)を参照してください) [PPS:Prepared Parameterized Statements](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)。これは[SQLインジェクション防止](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)に役立ちます。そして、 'error_reporting(E_ALL);を使用してください。あなたのページの上にini_set( 'display_errors'、1);と表示されます。 – OldPadawan

+0

致命的なエラー:GenerateName()(C:\ wamp \ www \ test2 \ index.phpで前に宣言されています)を再宣言できません:24 )21行目のC:\ wamp \ www \ test2 \ index.phpにあります。 – Jack

+0

エラーが発生しました...それからrequire_once' [PHPドキュメント](http://php.net/manual/en/function.require- once.php)有用かもしれない – OldPadawan

答えて

1

あなたはwhileループ内の関数を宣言しているという問題を解決するのに役立ちます。最初の反復で宣言されますが、次の反復では宣言し直します。彼らは一度しか宣言ますので

Fatal error: Cannot redeclare GenerateName() (previously declared in C:\wamp\www\test2\index.php:24) in C:\wamp\www\test2\index.php on line 21

は、whileループの外で機能を移動します:あなたは、エラーメッセージを取得する理由です、それを行うことができません。

関連する問題