"user01-Diana"
我在文件夹上的图像文件很少被重命名为ex:
"user01_20131231_1201.jpg"
和"user01_20131231_1216.jpg"
以及"user02_20131231_1201.jpg"
我想要的是从表中读取单词user01然后用它来显示文件夹上有单词“user01”的所有图像并将其显示为ASC。 有人能帮助我吗?我对php不是很好。熬夜仍然没有得到它。
答案 0 :(得分:1)
根据问题中的新修改,请尝试以下代码。
首先获取要在变量中获取记录的名称,例如user01-Diana
$name = "user01-Diana";
现在提取要搜索记录的文本,例如user01
$name = substr($name, 0, strpos($name, '-'));
现在我们将创建一个模式,我们必须匹配文件夹中的图像名称, 在这种情况下,我们的模式是'/ user01 /'
$pattern = "/$name/";
现在指定直接在opendir
函数
if ($handle = opendir('./userimg')) {
//here we are matching user01 against the files in the directory
while (false !== ($entry = readdir($handle))) {
//those that get matched will be echoed below
if(preg_match($pattern, $entry))
echo "<br />".$entry;
}
closedir($handle);
}
符合先前要求的旧代码
首先,您必须从user1
user01-Diana
你可以通过
来做到这一点$name = "user01-Diana";
$name = substr($name, 0, strpos($name, '-'));
现在,您将在user01
变量中获得$name
。
之后,您可以使用以下查询。
$sel = "SELECT * FROM tablename where imagename like '".$name."%'";
如果您在同一个表中有数据,如下所示,
使用以下查询
Select
t1.imagename
from
Table1 as t1
LEFT JOIN
Table1 as t2
ON
t1.imagename LIKE concat("'", substr(t2.username, 1,(LOCATE("-",t2.username)-1)) , "%'")
WHERE
t1.imagename IS NOT NULL
ORDER BY
t1.imagename
答案 1 :(得分:0)
您应该有一个查询来从表格中选择图像名称将以'user01'
开头的图像。你的代码应该是这样的:
$db = new mysqli('localhost', 'user', 'pass', 'database');
if($db->connect_errno > 0){
die('Unable to connect to database [' . $db->connect_error . ']');
}
$sql = "select column_name as image from your_table where column_name like 'user01%' order by column_name";
if(!$result = $db->query($sql)){
die('There was an error running the query [' . $db->error . ']');
}
while($row = $result->fetch_assoc()){
echo $row['image'] . '<br />';
}