2

画像を含む Web ページがあり、ユーザーがいずれかの画像をクリックすると、その特定の画像のデータを MYSQL データベースから取得する必要があります。私がやっていることは、単純な JavaScript ポップアップを使用して、データベースからデータを配置することです。ただし、すべての画像でデータベースから最初のアイテムを取得しています。

これはコードです:

$files = glob("admin/images/paintings/*.*"); 
    echo '<div id="painting"><table border="0" style="width:590px;">';
    $colCnt=0;
    $i = 0;
    while($row = mysql_fetch_array($result))
    {
        if ($colCnt%4==0)
      echo '<tr>';
      echo '<td width="25%" style="font-size:8.5px; font-family:arial">';
        echo($i);
      $num = $files[$i];
      echo '<a href="#openModal"><img id="indPainting" src="'.$num.'" align="absmiddle" /></a> <br> <div id="paintingName">';
      print $row['name'];

      echo '<div id="openModal" class="modalWindow">
        <div>

                <p>This is a sample modal window that can be created using CSS3 and HTML5.'.$row['name'].'</p>
                <a href="#ok" title="Ok" class="ok">Ok</a>
        </div>
    </div>';
      echo '</td>';
        $colCnt++;
      if ($colCnt==4)
        {
        echo '</tr>';
        $colCnt=0;
        }
        $i++;

    }
    mysql_close($con);
    include 'footer.php'; 
    ?>

$row['name'] は、while ループ内にあるため、最初の名前を提供しているだけです。他の画像の他の名前を取得できません。これはどのように行うことができますか。どんな助けでも大歓迎です。

ここに画像の説明を入力

4

2 に答える 2

1

while の 1 回の反復で単一の画像データをフェッチしますか? あなたのコードによれば、私が理解できるのは、4つの画像を連続して表示していることです。

あなたのコードを少しフォーマットしてください..それはあまりにも醜いです.

どのステートメントがモーダル ウィンドウを呼び出しているかを知る必要があります。

<?php
$files = glob("admin/images/paintings/*.*"); 

echo '<div id="painting"><table border="0" style="width:590px;">';

$colCnt=0;
$i = 0;

echo '<tr>';

while($row = mysql_fetch_array($result))
{

    $num = $files[$i];

    echo '<td width="25%" style="font-size:8.5px; font-family:arial">';

    echo '<a href="#openModal"><img id="indPainting" src="'.$num.'" align="absmiddle" /></a> <br> 

    <div id="paintingName">';

    print $row['name'];

    echo '<div id="openModal" class="modalWindow"><div><p>This is a sample modal window that can be created using CSS3 and HTML5.'.$row['name'].'</p><a href="#ok" title="Ok" class="ok">Ok</a></div>

    </div></td>';

    $colCnt++;

    if ($colCnt % 4 == 0)
    {
        echo '</tr>';
        $colCnt=0;
    }
    $i++;

}
mysql_close($con);
include 'footer.php'; 
?>

これを試して。また、適切にフォーマットされている場合、コードがどれほど美しく見えるかを確認してください。

于 2013-07-06T12:56:34.793 に答える
0

これを試して

     <?php
 $files = glob("admin/images/paintings/*.*"); 
echo '<div id="painting"><table border="0" style="width:590px;">';
$colCnt=4;

while($row = mysql_fetch_array($result))
{
   for ($i = 0; $i < $colCnt; $i++) { 
  echo '<tr>';
  echo '<td width="25%" style="font-size:8.5px; font-family:arial">';
    echo($i);
  $num = $files[$i];
  echo '<a href="#openModal"><img id="indPainting" src="'.$num.'" align="absmiddle" /></a> <br> <div id="paintingName">';
  print $row['name'];

  echo '<div id="openModal" class="modalWindow">
    <div>

            <p>This is a sample modal window that can be created using CSS3 and HTML5.'.$row['name'].'</p>
            <a href="#ok" title="Ok" class="ok">Ok</a>
    </div>
</div>';
  echo '</td>';


}
     if ($colCnt==4)
    {
    echo '</tr>';
    $colCnt=0;
    }
}
mysql_close($con);
include 'footer.php'; 


 ?>
于 2013-07-06T12:55:51.147 に答える