По сути, я делаю цифровые вывески и пытаюсь получить имена, которые нужно перенести из базы данных MySQL на страницу PHP. Сейчас все по центру в одном столбце, но я хочу, чтобы результаты были в двух столбцах рядом. Как я могу это сделать?
$sql = "SELECT * FROM donor WHERE DonationAmount = 5000 AND Category = '1' or DonationAmount = 5000 AND Category IS NULL ORDER BY LastName ASC";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
// test if the DisplayName field is empty or not
if(empty($row['DisplayName']))
{
// it's empty!
if(empty($row['FirstName'])){
echo $row['LastName']. "<br>";
}
else{
echo $row["LastName"]. ", " . $row["FirstName"]. "<br>";
}
}else{
// Do stuff with the field
echo $row["DisplayName"]. "<br>";
}
}
} else {
}
По сути, я хочу, чтобы эти данные были распределены по двум столбцам, а не по одной странице.
Вы можете использовать таблицы и подсчитывать строки, чтобы определить, нужно ли начинать новую строку таблицы.
$i = 0;
$total_rows = $result->num_rows;
echo "<table><tr>";
while($row = mysqli_fetch_assoc($result)) {
// test if the DisplayName field is empty or not
echo "<td>";
if(empty($row['DisplayName']))
{
// it's empty!
if(empty($row['FirstName'])){
echo $row['LastName'];
}
else{
echo $row["LastName"]. ", " . $row["FirstName"];
}
}else{
// Do stuff with the field
echo $row["DisplayName"]. "";
}
echo "</td>";
$i++;
if($i % 2 == 0 && $i != $total_rows) {
echo "</tr><tr>";
}
}
echo "</tr></table>";
выведите строки так:
echo "<span style=\"width:50%;float:left;\">".$row['LastName']."</span>";
не забудьте убрать <br />
с каждого выхода
если ваш контент находится в <div id="myDiv">
используйте эту функцию JS и вызывайте ее после загрузки содержимого
function splitValues() {
var output = "";
var names = document.getElementById('myDiv').innerHTML.split("<br>");
for(var i in names) {
output += "<span style=\"width:50%;float:left;display:inline-block;text-align:center;\">"+names[i]+"</span>";
}
document.getElementById('myDiv').innerHTML = output;
}