mysql — PHP SQL Я хочу показать 2 набора данных в 1 строке таблицы

Я действительно не знаю, что я делаю в PHP.

Я могу получить мои данные, чтобы показать, как это, используя код ниже

Site Name
Name1   07990 111111
Name2   07801 111111
Name3   07887 111111
Name4   07825 111111
Name5   07785 111111
Name6   07778 111111
Name7   07887 111111
Name8   07796 111111

Но я хочу, чтобы это выглядело больше, но не могу понять, как это сделать, помогите, пожалуйста.

Site Name
Name1   07990 111111                Name2   07801 111111
Name3   07887 111111                Name4   07825 111111
Name5   07785 111111                Name6   07778 111111
Name7   07887 111111                Name8   07796 111111
 <?php
//CONNECT TO THE SERVER
mysql_connect("???", "????", "???") or die ('dead');
//SELECT OUR DB
@mysql_select_db("???") or die ("dead");
$sql = "SELECT * FROM phonebook WHERE Address='Site Name'";

Print "Site Name";

$query = mysql_query($sql) or die(mysql_error());echo "<table border='0'>
<tr>
</tr>";
while($row = mysql_fetch_array($query))
{
echo "<tr>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['phone'] . "</td>";
echo "</tr>";
}
echo "</table>";
?>

0

Решение

попробуйте ниже код

<?php
$i=0;
echo "<table border='0'>
<tr>
</tr><tr>";
while($row = mysql_fetch_array($query))
{
if($i%2=="0"){echo "</tr><tr>";}

echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['phone'] . "</td>";

$i++;}
echo "</tr></table>";?>
0

Другие решения

Попробуйте что-то вроде этого

echo "<table><tr>";
$i=1;
while($row=mysql_fetch_array($query)){
echo "<td>".$row['name']."</td><td>".$row['phone']."</td>";
if($i%2==0)
echo "</tr><tr>";
$i++;
}
echo "</tr></table>";
0

Попробуй это:

<?php
$i = 0;
$table =
"<table border='0'>
<tr>
";
while($row = mysql_fetch_array($query))
{
if($i%2 == 0 && $i != 0)
{
$table .=  "</tr><tr>";
}
$table .=
"<td>" . $row['name'] . "</td>
<td>" . $row['phone'] . "</td>
";
$i++;
}
$table .=
"</tr>
</table>
";
echo $table;

?>
0

Лучший способ сделать это — использовать две плавающие таблицы или разместить строки с помощью CSS. Помните, вы хотите, чтобы ваши таблицы были семантически разумными.

Использование CSS

Создайте свою таблицу и дайте вашей таблице идентификатор. HTML должен выглядеть примерно так:

<table class="my_table_id">
<tr>
<td>Name 01</td>
<td>Phone 01</td>
</tr>
<tr>
<td>Name 02</td>
<td>Phone 02</td>
</tr>
<tr>
<td>Name 03</td>
<td>Phone 03</td>
</tr>
<tr>
<td>Name 04</td>
<td>Phone 04</td>
</tr>
</table>

Далее, используйте CSS для стилизации. Как это:

.my_table_id tr {
width: 50%;
float: left;
}

Проверьте эту скрипку: http://jsfiddle.net/bter7ur2/

Используя две таблицы

Этот подход заставляет таблицу читать вниз-тогда-вправо, а не прямо-тогда-вниз. Это то, как я бы это сделал, так как более разумно читать таблицу таким образом.

Подсчитайте общее количество строк, которое получил ваш запрос, разделите пополам это число и вставьте разрыв между таблицами после этого числа строк (округлите в большую сторону). Тогда вы просто используете CSS для стилизации и размещения таблиц по своему вкусу.

echo "<table>";
while($row = $query) {
$i = (isset($i) ? $i + 1 : 1);    //  Counter that ticks up for each row processed.
echo "<tr>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['phone'] . "</td>";
echo "</tr>";

//  If we've reached half of the number of rows, insert a new table.
if (count($row) / 2 == $i) {
echo "</table>";
echo "<table>";
}
}
echo "</table>";

И скрипка для этого: http://jsfiddle.net/8fj28vcg/

HTML может быть (и должен) быть отполирован здесь, чтобы добавить некоторые идентификаторы и классы для CSS, к которым можно привязаться. Кроме того, не используйте mysql, он устарел и не будет долго. Используйте вместо этого mysqli или PDO.

0
По вопросам рекламы [email protected]