1

MySQL データベースから .php ファイルのテーブルにデータを取得したいと考えています。テーブルのすべての行に、ユーザーがダウンロードできるタイトル、テキスト、および添付ファイル ($name) を表示したいと考えています。問題は、それを表示すると、.php ファイルのすべてのテーブル行のリストに表示されているデータベースからすべての添付ファイルを取得することです。したがって、データベース テーブル行のタイトルとテキストと同じ ID を持つデータベースから、行ごとに 1 つの添付ファイルのみを表示したいだけです。

これは私のデータベーステーブルです:

CREATE TABLE IF NOT EXISTS `table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(30) NOT NULL,
`text` varchar(30) NOT NULL,
`name` varchar(30) NOT NULL,
`type` varchar(30) NOT NULL,
`size` int(11) NOT NULL,
`content` longblob NOT NULL,
PRIMARY KEY (`id`)  )

私のコード:

<?php
include('config.php');
$sqlget="SELECT * FROM table ORDER BY timestamp DESC";
$sqldata= mysqli_query($dbcon, $sqlget) or die ('error');
echo"<table>";
while ($row=mysqli_fetch_array($sqldata,
MYSQLI_ASSOC)) {
echo "<tr><td>";
echo"<b><font color='#DF01A5'> Title: ".$row['title']."</font></b>";
echo "<br/>";
echo $row['text'];
echo "<br/>";
echo "<b><font color='#DF01A5'>Attachment: </font>";
?>
<?php
$con = mysql_connect('localhost', 'root', 'pass') or die(mysql_error());
$db = mysql_select_db('database', $con);
$query = "SELECT  id, name FROM table";
$result = mysql_query($query) or die('Error, query failed');
if(mysql_num_rows($result) == 0)
{
echo "Database is empty <br>";
} 
else
{
while(list($id, $name) = mysql_fetch_array($result))
{
?>
<a href="download.php?id=<?php echo urlencode($id);?>"
><?php echo urlencode($name);?></a> <br>
<?php 
}
}
mysql_close();
echo"</table";
?>
4

4 に答える 4

3

2 つのテーブルが ID だけで関連付けられていると仮定します。

$sql = $db_conn->query("SELECT t1.title, t1.text, t2.ID AS AID, t2.name FROM table1 AS t1 LEFT JOIN table2 AS t2 ON t1.ID = t2.ID ORDER BY t1.timestamp");

echo '<table><thead><tr><th>Title</th><th>Description</th><th>Attachment</th></tr></thead>';
while($row = $sql->fetch_array())
{
    echo '<tr>';
    echo '<td>' . $row['title'] . '</td>';
    echo '<td>' . $row['text'] . '</td>';
    echo '<td><a href="download.php?id=' . urlencode($row['AID']) . '">' . $row['name'] . '</a></td>';
    echo '</tr>';
}
echo '</table>';

テストされていませんが、これから始めてください。

于 2013-04-22T16:47:48.327 に答える
2

このテーブルからのサンプル出力が必要になります。これらの添付ファイルがどのように保存されているかはまだわかりません。それまでの間、この PHP 関数は 1 行のみを返す必要があります: http://www.php.net/manual/en/mysqli-result.fetch-row.php

編集:不要なコメント。

于 2013-04-22T16:34:31.180 に答える