2011-06-22 8 views
0

イメージがサーバー上の/ images /フォルダに保存され、それぞれの詳細がmysqlデータベース(title、description、imagesrc)に保存される新しいイメージギャラリーをセットアップしました。php image gallery

しかし私がやっているのは、サーバー上のフォルダに保存されているすべてのイメージを、htmlで一覧表示せずに取り戻すことです。私はPHPを持っている正しいフィールドを引き戻し、ギャラリーを正しく入力するが、新しい画像がライブラリに追加されるか、元の画像の1つが更新されると、明らかに私のサイトを引き抜かない。

私のコードは次のとおりです。

ループ内でこの情報を取得するための最良の方法は何
<div id="galleria"><!-- Begin Galleria --> 
     <div> 
       <a href="<?php mysql_select_db("dbname", $con); 

$result = mysql_query("SELECT * FROM images WHERE id='1'"); 

while($row = mysql_fetch_array($result)) 
    { 
    echo $row['imagesrc']; 
    } 

mysql_close($con); 
?>"> 
       <img src="<?php mysql_select_db("dbname", $con); 

$result = mysql_query("SELECT * FROM images WHERE id='1'"); 

while($row = mysql_fetch_array($result)) 
    { 
    echo $row['imagesrc']; 
    } 

mysql_close($con); 
?>" alt='' title='' /> 
     </a> 
     <strong><?php mysql_select_db("dbname", $con); 

$result = mysql_query("SELECT * FROM images WHERE id='1'"); 

while($row = mysql_fetch_array($result)) 
    { 
    echo $row['title']; 
    } 

mysql_close($con); 
?></strong> 
     <span><?php mysql_select_db("dbname", $con); 

$result = mysql_query("SELECT * FROM images WHERE id='1'"); 

while($row = mysql_fetch_array($result)) 
    { 
    echo $row['desc']; 
    } 

mysql_close($con); 
?></span> 
     </div> 
     <div> 
       <a href="<?php mysql_select_db("dbname", $con); 

$result = mysql_query("SELECT * FROM images WHERE id='1'"); 

while($row = mysql_fetch_array($result)) 
    { 
    echo $row['imagesrc']; 
    } 

mysql_close($con); 
?>"> 
       <img src="<?php mysql_select_db("dbname", $con); 

$result = mysql_query("SELECT * FROM images WHERE id='1'"); 

while($row = mysql_fetch_array($result)) 
    { 
    echo $row['imagesrc']; 
    } 

mysql_close($con); 
?>" alt='' title='' /> 
     </a> 
     <strong><?php mysql_select_db("dbname", $con); 

$result = mysql_query("SELECT * FROM images WHERE id='1'"); 

while($row = mysql_fetch_array($result)) 
    { 
    echo $row['title']; 
    } 

mysql_close($con); 
?></strong> 
     <span><?php mysql_select_db("dbname", $con); 

$result = mysql_query("SELECT * FROM images WHERE id='1'"); 

while($row = mysql_fetch_array($result)) 
    { 
    echo $row['desc']; 
    } 

mysql_close($con); 
?></span> 
     </div> 
     <div> 

- 私は、PHPで非常に熟練していないですので、任意の助けをいただければ幸いです(あなたは私のコードから見ることができるように!)このスクリプトへのループを構築して、フォルダ内にあるすべての画像に基づいてギャラリーにデータを埋め込む方法について説明します。

ありがとうございます!

JD

+0

http://www.phpjabbers.com/ask91-read-files-name-in-folder-using-php.html - Arian Acostaにはsciptがあります。この方法でalt属性の説明や意味のある文字列を取得しないことに注意してください。私はデータベースのセットアップが良いと思う、あなたはすべての画像がフォルダ内に存在することを確認する必要があります。しかし、私はそれが面倒な価値があると思う。 –

答えて

0

はこのような単純なクエリの場合は、あなただけのテーブル全体を反復処理でき、whileループ、このようなもので、あなたのギャラリーを移入:

<?php 

mysql_select_db("dbname", $con); 

$result = mysql_query("SELECT * FROM images"); 

while($row = mysql_fetch_array($result)) 
{ 
    echo '<a href="' . $row['imagesrc'] . '">' . $row['title'] . '</a>'; 
} 

mysql_close($con); 
?> 

どの版画:

<a href="imagesrc1">Imagetitle1</a> 
<a href="imagesrc2">Imagetitle2</a> 
<a href="imagesrc3">Imagetitle3</a> 
... 

そして、あなたはあなたが例えば、whileループ内で必要なものは何でもdivタグ、スパンと($行[「DESC」]のような)他のフィールド混在させることができます。

印刷し
while($row = mysql_fetch_array($result)) 
{ 
    echo '<div>'; 
    echo '<a href="' . $row['imagesrc'] . '">'; 
    echo '<img src="' . $row['imagesrc'] . '" />'; 
    echo '</a>'; 
    echo '<strong>' . $row['title'] . '</strong>'; 
    echo '<span>' . $row['desc'] . '</span>'; 
    echo '</div>'; 
} 

<div> 
    <a href="imagesrc1"><img src="imagesrc1" /></a> 
    <strong>imagetitle1</strong> 
    <span>desc1</span> 
</div> 
<div> 
    <a href="imagesrc2"><img src="imagesrc2" /></a> 
    <strong>imagetitle2</strong> 
    <span>desc2</span> 
</div> 
<div> 
    <a href="imagesrc3"><img src="imagesrc3" /></a> 
    <strong>imagetitle3</strong> 
    <span>desc3</span> 
</div> 

うまくいけば役立ちます!

0

あなたは一度だけそれを実行し、再びもう一度、クエリを実行する必要はありませんし、ループを使って、あなたの要件ごとに、あなたのdiv要素を入れながら、THRのレコードがでフェッチする場合であれば(必要な場合)。私はあなたが最近使ったコードのサンプルを見せています。

<?php 
$conn=mysqli_connect(DBHOST,DBUSER,"",DB); 
$query1="select dev_image,dev_name from developers"; 
$result=mysqli_query($conn,$query1); 
$cnt=0; 
while($row=mysqli_fetch_array($result)) 
    //$dev_name=row['dev_name']; 
{    
    $dev_image=$row['dev_image']; 
    $dev_name=$row['dev_name']; 
    if($cnt%4==0) { 
    echo "<div class=\"project_main\">"; 
} 
if($cnt%4==0) { 
     echo "<div class=\"project_img_main\">"; 
     echo "<div class=\"project_img1\">"; 
     echo "<img src=\"$dev_image\" alt=\"\" title=\"Project-1\" border=\"none\" />"; 
     echo "</div>"; 
     echo "<div class=\"project_img_name\">"; 
     echo "<p align=\"center\" class=\"txt1\">".$dev_name."</p>"; 
     echo "</div>"; 
    echo "</div>"; 
} else { 
     echo "<div class=\"project_img_main1\">"; 
     echo "<div class=\"project_img1\">"; 
     echo "<img src=\"$dev_image\" alt=\"\" title=\"Project-1\" border=\"none\" />"; 
    echo "</div>"; 
    echo "<div class=\"project_img_name\">"; 
     echo "<p align=\"center\" class=\"txt1\">".$dev_name."</p>"; 
    echo "</div>"; 
     echo "</div>"; 
} 

$cnt++; 
if($cnt%4==0) { 
    echo "</div>"; 
} 
} 

?>    

私はそれがあなたに役立つことを望む。それに応じてそれを作った。

おかげ
ラジェッシュ

0

あなたは)(にmysql_closeを通じてMySQLの接続を閉じているので、これは動作しません。あなたが実行したい手順は次のとおりです。

mysql_connect 
mysql_select_db 
mysql_query (or multiple queries, if placement matters) 
mysql_close 
+0

この場所が大好き - 多くの専門家が喜んで手伝ってくれます!もう1つの問題があります。このループ内で画像のサイズを変更することは可能ですか?基本的にそれらの幅はすべて異なりますが、元のサイズに関係なく、高さを450pxで一定にしたいと思っています...... もう一度、助けてください! ありがとう – JD2011