2016-10-24 20 views
0

最終的にユニークなクリックイベントを持つ複数のボタンを動的に作成したいと考えています。各ボタンの「タイトルまたは名前」はDBに格納されます。私は、動的にボタンを作成するためのコードを独自に検証しました。また、私のクエリが正しく動作することを確認しました。また、whileループも正しく動作しています。以下は私のコードです:PHPを使用して複数のユニークなボタンを動的に作成する

$q="SELECT sess_desc, sess_butt, sess_tag FROM Sessions ORDER BY DateEstab"; 
$r = mysqli_query ($dbc, $q); 
if ($r) { 
    while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) { 
    $image = imagecreate(248,53); 
    $blue = imagecolorallocate($image, 0, 0, 255); //text box background color 
    $white = ImageColorAllocate($image, 255,255,255); //Font color 
    if(!isset($_GET['size'])) $_GET['size'] = 18; //text size 
    if(!isset($_GET['text'])) $_GET['text'] = $row['sess_butt']; //button lable 
imagettftext($image, $_GET['size'], 0, 20,35, $white, "tahoma",$_GET['text']); 

echo '<tr><td align="left">' . imagepng($image) . imagedestroy($image) .'</td> 
     <td align="left">' . $row['sess_desc'] . '</td> 
     '</td><td align="left">' . $row['sess_tag'] . '</td> </tr>'; 
} 
} 

私がスクリプトを実行したときの結果の始まりです(続きます)。 PNGIHDR 5 ;RPLTE !!5IDATX ԻO P TڎJ Fѹ&ƶ : > #q

青い長方形のボタンに白いラベルが付いています。この作業をPHPで行うには何が必要か、JSを使って解決策を探す必要がありますか(私はJSはよく分かりません)?私は "類似の質問"、PHPマニュアル、インターネット検索の記事を見てきました。

これも可能ですか? $ _GET ['text'] = "Hello Everyone"を定義すると、ボタンを作成するためのスクリプトを実行しましたが、DBテーブルから "text"を取得しようとしています。ここでも、DB内の複数のエントリから複数のボタンを作成したいと思います。具体的には、sess_butt列。私はクエリを "1"に制限していても、どちらも同じ結果を出さなかった。

+2

マニュアルを参照してください: 'imagepng()'。それはHTMLイメージタグを出力しません。実際の画像内容を出力します。 [imagepng()](http://php.net/manual/en/function.imagepng.php) –

答えて

-1

イメージをHTMLに埋め込むには、イメージをbase64でエンコードする必要があります。ような何か:

<img alt="Embedded Image" src="data:image/png;base64,base_64_encode(imagepng($image))"/> 

は、私はまた、あなたがこれを行うと、ちょうど画像の生成をやっているだろう、あなたの他のスクリプトを打つされる代わりに、URLのを発生しないことをお勧めします。

+0

私はあなたがいくつかのPHPタグを見逃したと思う...それはちょうど 'base64_encode()'です。 –

+0

@ MagnusErikssonそれは正確なPHPコードではないと考えられています。ちょうど荒い方向に移動する – Ivan

+0

申し訳ありませんが、それは助けになりませんでした。私は、私が望むものと試みたものをもう少し明確にすることを望んで、私の質問を修正しました。 – Learner

関連する問題