<?php
$html = '';
if (isset($_GET['sletBruger'])) {
$id = secInput($_GET['id']);
$billede = secInput($_GET['billede']);
if (checkElement($id)) {
if (is_file('../img/'.$billede)) {
unlink('../img/'.$billede);
}
$sql = "DELETE brugere.*, bruger_billeder.* FROM brugere
INNER JOIN brugerroller
ON brugerroller.ID = brugere.fk_rolle
INNER JOIN bruger_billeder
ON bruger_billeder.billednavn = bruger_billeder.fk_bruger
WHERE brugere.ID = ".$id;
deleteFromDb($sql);
}
}
?>
<h5>Oprettede Brugere</h5>
<table class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>#</th>
<th>NAVN</th>
<th>EMAIL</th>
<th>MOBILNUMMER</th>
<th>NIVEAU</th>
<th>KILOMETER</th>
<th>BILLEDE</th>
<th>REDIGER</th>
<th>SLET</th>
</tr>
</thead>
<tbody>
<?php
//SQL - henter det som vi har valgt, i databasen. Inner join parrer brand og kategori fra produklisten, med hhv brand listen og kategorilisten.
$sql = "SELECT DISTINCT
brugere.*, brugere.navn, brugere.email, brugere.mobil, brugere.kilometer,
faerdighedsroller.f_navn, brugerroller.rollenavn, bruger_billeder.billednavn
FROM brugere
INNER JOIN faerdighedsroller
ON faerdighedsroller.ID = brugere.fk_faerdighed
INNER JOIN brugerroller
ON brugere.fk_rolle = brugerroller.ID
INNER JOIN bruger_billeder
ON bruger_billeder.billednavn = bruger_billeder.fk_bruger
ORDER BY ID DESC";
$arr = getData($sql, $conn);
foreach($arr as $value){
$html .= '
<tr>
<td>'.$value['ID'].'</td>
<td>'.$value['navn'].'</td>
<td>'.$value['email'].'</td>
<td>'.$value['mobil'].'</td>
<td>'.$value['f_navn'].'</td>
<td>'.$value['kilometer'].'</td>
<td><img src="../images/' . $value['billednavn'] . '" alt="' . $value['billednavn'] . '"></td>
<td><a href="?s=sections/redigerBruger&id='.$value['ID'].'"><i class="fa fa-edit ">Rediger</i></a></td>
<td><a class="btn btn-danger" onclick="return confirm(\'Er du sikker på du vil slette '.$value['navn'].'\');" href="?s=sections/brugere&id='.$value['ID'].'&sletBruger">Slet</a></td>
</tr>
';
}
$html .= '
</tbody></table>
';
return $html;
?>
有太多的内部连接,我看周围,所以我感谢任何帮助。
我缺少的是要显示的图像。
在第四张图片上,你可以看到图片的样子。
它在那一页上有效,但不是我现在正在做的那一页。
bruger = user
slet = delete
rediger = edit
billednavn = image name
bruger_billeder = user image
bruger_roller = user roles
faerdighedsroller = niveau
all images are on bruger_billeder table column billednavn
fk_bruger = fk users its in bruger_billeder aswell
我需要它来显示另一张table上的图像。
警告:为第63行kajakklubben-h\admin\sections\brugere.section.php中的foreach()提供的参数无效
2条答案
按热度按时间vnzz0bqm1#
我解决了这个问题,谢谢你的帮助
krugob8w2#
可以说,这个答案是第一个测试版本。它的目的是找出问题的确切位置(在php函数代码、db设置或db表中的数据中)。
所以,用我的两个页面代替php页面(
brugere.php
以及connect.php
),一模一样。但是,首先,在页面中connect.php
,用你的数据库凭据更改我的数据库凭据!运行这两个页面,看看它是如何工作的。根据结果或最终引发的错误/异常/警告,我们将有一个起点来解决您的问题。注意:在开始时,让我们同意集中精力选择记录部分(例如,成功运行
SELECT
语句),而不是在删除表数据部分(例如,在成功运行DELETE
声明)。我还提供了我在测试中使用的表定义和数据的列表。也许我们不需要它。但是我发布了它,这样您就可以自己画出表及其关系应该如何定义,或者应该如何定义。
因为您没有提供您正在使用的数据访问扩展的名称/类型(pdo、面向对象mysqli或过程mysqli),所以我决定在代码中使用pdo。在我们发现问题之后,将代码切换到您正在使用的任何扩展都是非常容易的。
我会等你的反馈。
祝你好运。
php页面:
brugere.php文件:
连接.php:
表定义和试验数据:
表“bruger\u billeder”:
表“brugere”:
表“brugerroller”:
表“faerdighedsroller”: