Я действительно не знаю, что я делаю в 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>";
?>
попробуйте ниже код
<?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>";?>
Попробуйте что-то вроде этого
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>";
Попробуй это:
<?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;
?>
Лучший способ сделать это — использовать две плавающие таблицы или разместить строки с помощью 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.