2010-12-31 26 views
0

皆さん、私は各写真のIDと写真のURLとそのサムネイルURLを格納するmysqlデータベースを持っています。サムネイルのURLはthumbs/pic.jpgのようなものです。作成しているページには、作成された同じ場所にフォルダのサムがあります。しかし、私がこのコードを実行すると、何も表示されません。なぜこのPHPコードは動作しませんか?

<?php 
ini_set('display_errors', 'On'); 
error_reporting(E_ALL | E_STRICT); 
mysql_connect("localhost", "***", "***") or die(mysql_error()); 
mysql_select_db("pics") or die(mysql_error()); 
$results = mysql_query("select id from classpics") or die(mysql_error()); 
$data=mysql_fetch_array($results); 

foreach($data as $uno) { 
    echo '<td valign="middle" align="center"><a class="neutral" href="../images.php?id=' . $uno['id'] . '"><img src="'. $uno['thumbs'].'" border="0" /></a></td>'; 
} 
?> 
+1

[警告:foreach()の引数が無効です(http://stackoverflow.com/questions/4568954/warning-invalid-argument-supplied-for-foreach-in) – Sarfraz

+0

あなたは尋ねました数分前の質問ですが、そこにあるすべての答えを試してみませんでした! – Sarfraz

+0

非常に古くて時代遅れのデータベースアクセス拡張機能を使用しています。 PDO MySQLの使用を検討してください。これは、今日の標準のデータベースアクセス拡張です。 (そして、例えばforeachを使ってループをサポートしています。) – NikiC

答えて

0

少なくとも2つのエラーがあります。

あなたはは、mysql_fetch_arrayを呼び出す必要があります:

while($data = mysql_fetch_array($results)) { 
    ... 
} 

そして、あなたが親指を選択していない:ループはデータに

をフェッチしてもあなたがいるのでmysql_fetch_assocを呼び出すようにしながら、

"select id, thumbs from classpics" 
+0

OK私はそれを行いましたが、リンクは常に壊れていますが、手動でリンクを入力すれば、それはなぜですか? –

0

ユーザーを配列名として列名を使用

while($uno=mysql_fetch_assoc($results)) { 
    echo '<td valign="middle" align="center"><a class="neutral" href="../images.php?id=' . $uno['id'] . '"><img src="'. $uno['thumbs'].'" border="0" /></a></td>'; 
} 
+0

mysql_fetch_arrayも連想配列を得ることができます – Sarfraz

+0

OKですが、リンクは常に壊れていますが、手動でリンクを入力すると、それはなぜですか? –

+0

@Sam:私はあなたがループ内の正しい配列を指していないと思う更新された答えを確認するそれは動作します –

関連する問題