Kullanıcının hangi sonuçların görüntüleneceğini seçebileceği bir arayüz oluşturdum. Kullanıcı tarafından seçilen seçenekler bir diziye kaydedilir, bu yüzden MySQL sorgusu bu dizinin farklı öğelerinden geçer.MySQL sonuçlarını tek bir tabloda görüntüleme
yüzden ... tek bir tablo içinde sonuçlarını görüntülemek için böyle bir şey istiyorum:
Başlık 1 | Başlık 2
Sonuç 1-1 | Sonuç 1-2
Sonuç 2-1 | Sonuç
2-2 Ve kod şudur:
$mark = $_POST['mark'];
if (isset($_POST['mark']) && is_array($_POST['mark'])) {
echo "<table border='1'>";
echo "<tr>";
for ($i = 0; $i < count($mark); $i++) {
echo "<th>" . $mark[$i] . "</th>";
}
echo "</tr>";
for ($i = 0; $i < count($mark); $i++) {
$markQuery = "SELECT $mark[$i] FROM marks LIMIT 10";
$result = mysqli_query($DB_connection, $markQuery);
echo "<tr>";
while($row= mysqli_fetch_assoc($result)){
echo "<td>" . $row[$mark[$i]] . "</td>";
}
echo "</tr>";
}
echo "</table>";
}
Ben ikinci döngü iyi bir fikir olup olmadığını konusunda emin değilim, ama sonuçlarını görüntülemek için ne yapması gerektiğini bilmiyorum istediğim gibi.
Ben bu sorunun cevabı olmadığını biliyoruz ama bir SQL ifadesine unvalidated girişi koymak gibi kod SQL enjeksiyon için açıktır ve XSS saldırılarına karşı savunmasız olduğunu HTML çıkış unvalidated kullanıcı girişi hangi çünkü Herhangi bir Javascript kodunu hedef web sayfasına yazmak için kullanılabilir. – eX0du5
Veritabanını her seferinde etkin bir şekilde değil sorgulamanız gerekir. Bunun yerine 'type' olarak adlandırılan yeni bir sütun ekleyeceğim, tablodan tüm kayıtları alıp php kullanarak yeni sütunla filtreleyeceğim. – czeski