0

我的文件夹中有一些图像。我已将图片的名称存储在数据库的表中。现在我想通过从表中进行选择来显示图片,如下所示:

$a=$_GET['nume'];


$c= "select * from angajati where afisare_angajat='".$a."'" ;
    $b = mysql_query($c);

    while($d = mysql_fetch_array($b)){
        echo "<img src='/wp-content/themes/veles/images/angajati/'.$d['afisare_angajat'].'' />";
    }

但这似乎有一个问题:'.$d['afisare_angajat']。' ..如果我输入它显示的图片的名称,但如果我这样离开它,什么都不会显示..

4

3 回答 3

0

你应该这样做:

<?php
// I do not know what database system and API you are using
$pic_name = QueryPictureNameFromDB();

// Output html code to properly display the image
?>
<img src="<?php echo $pic_name; ?>" />

结果输出(在 html 中)如下所示:

<img src="myPic1234.png" />

您应该了解 PHP 可以输出任何形式的文本,并且客户端可能会以不同的方式解释该文本。在您的情况下,您正在使用 php 脚本创建 html。该html“文本”是客户端解释和看到的。因此,在您的 php 脚本中,您必须输出 html 来定义用户将看到的内容(本例中的图像)。

您查询图像名称的方式也不合适。在您的查询中,您已经知道您的图像名称是什么。你一定有这样的东西:

SELECT * FROM table WHERE id=required_img_id
于 2012-09-25T08:38:52.813 回答
0

使用scandir 之类的函数从文件夹中获取文件名,您可能希望过滤它们以避免在数据库中查找其他文件类型。类似于以下内容。

/* open database connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "images");

/* check connection */
if (mysqli_connect_errno()) {
   printf("Connect failed: %s\n", mysqli_connect_error());
   exit();
}

/* set the directory for your image files */
$dir    = '/images';
/* get a list of all files in the directory */
$filenames = scandir($dir);

/* go through all filenames in the list */
foreach ($filename in $filenames){
   get_image_name($filename)
};   

/* function that prints the associated data for the given filename */

function get_image_name($filename){
   /* construct query for filename */
   $sql = "SELECT * from table WHERE name_image_from_table = '".$filename."'";
   /* run the query */
   if ($result = mysqli_query($link,$sql)){
       /* if the query went OK check if there was one result */
       if (mysqli_num_rows($result) == 1){
           /* put the result in an associative array with the column names as keys */
           $row = mysqli_fetch_assoc($result)
           /* output the html for displaying the image and its name */
           echo "<img src='".$dir."/".$filename."'/>".$row['ImageNameField']."<br/>";
       } 
   }
}
于 2012-09-25T09:30:54.923 回答
0

这是一个如何实现此目的的示例。从数据库中获取所有结果,将它们转换为关联数组,然后循环并输出名称。

<?php
    $getImagesSql = 'select * from table where name_image_from_table = name_image_from_folder';
    $getImagesQuery = mysql_query($getImagesSql);

    while($getImagesAssoc = mysql_fetch_assoc($getImagesQuery)){
        echo '<img src="/directory/goes/here/'.$getImagesAssoc['imageNameCol'].'" />';
    }
于 2012-09-25T08:44:39.600 回答