-2

これは私のコードです (データベースにニュースを追加します)。

if(!empty($_FILES['img']['name'])){
    $extension = end(explode(".",$_FILES['img']['name']));

    $name = $_FILES['img']['name'];
    $size = $_FILES['img']['size'];

    if(file_exists("views/admin/uploads/".$name)){
        $errors[] = "File with this name already exists!";
    }

    if($extension != "jpg" && $extension != "png" && $extension != "gif" && $extension != "JPG"){
        $errors[] = "Unknown file format!";
    }
}

if(count($errors)==0){
    $query = mysql_query("INSERT INTO `avetisyan`.`$category` (`id`, `category`, `sub_category`, `news_category`, `title`, `img`, `short_content`, `content`, `date`, `lang`) VALUES (NULL, '$category', '$sub_category', '$news_category', '$title', '$name', '$short_content', '$long_content', '$date', '$lang')");
    move_uploaded_file($_FILES['img']['tmp_name'],"views/admin/uploads/".$name);
    echo "<h2 align=\"center\">Successfully added!</h2>";
}
else{
    print "<h3>Errors!</h3><ul><li>".join("</li><li>",$errors)."</li></ul>";
}

ご覧のとおり、画像の名前はデータベースに送られ、画像は /views/admin/uploads/.. に送られます。

この画像をニュースで表示する正しい方法はどれですか? どのように?

4

5 に答える 5

0

データベースから名前を取得し、それをタグのソースとしてエコーします。たとえば、カテゴリ $category の短いニュース記事のリストとその画像を (非常に最小限のレイアウトで) 表示している場合:

$res = mysql_query("SELECT * FROM avetisyan".$category);

echo("<table>");

while ($row = mysql_fetch_assoc($res)) {
    echo("<tr>");
    echo("<td>");
    echo("<img src=\"views/admin/uploads/".$row['img']."\">");
    echo("</td>");
    echo("<td>");
    echo($row['short_content']);
    echo("</td>");
    echo("</tr>");
}

echo("</table>");
于 2013-06-19T10:16:58.373 に答える
0
<?php $name = getImageNameFromDB(); ?>
<img src="<?php echo $name; ?>"/>

必須の注意: mysql_* メソッドは非推奨であり、使用しないでください。さらに、コードはSQL インジェクション攻撃に対して脆弱である可能性があります。入力されたフィルターを検討するか、準備済みステートメントに切り替えることを検討してください。

于 2013-06-19T09:50:24.910 に答える
0
<?php
$image_query = 'select * from `avetisyan`.`$category`';
$img = mysql_query($image_query );
while($get_items = mysql_fetch_array($img ))
{
    echo '<div id="images">';
    echo '<b>'.$get_items['title'].'</b>';
    echo '<br><img src="uploads/'.$get_items['img'].'">';
    echo '</div>';
}
?>

上記のコードでは、適切な css スタイルを使用して画像を表示します

于 2013-06-19T09:51:02.577 に答える
0

クエリを実行してすべてのレコードを取得し、レコードをループして、次のようなことを行います

<?php
    $query = mysql_query("SELECT * FROM  `table_name`");

    if(mysql_num_rows($query) > 0)
    {
        for($i=0; $i<mysql_num_rows($query); $i++)
        {
            $row = mysql_fetch_array($query);
            echo '<img src="views/admin/uploads/'.$row['img'].'" />';
        }
    }
?>

サイドノート:

mysql extension is deprecated as of PHP 5.5.0, and will be removed in the future. 
Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an 
API guide and related FAQ for more information. Alternatives to this function include:
于 2013-06-19T09:49:51.073 に答える