Mysql fetch array, результаты таблицы

я довольно новичок в этом и не знаю, как мне это сделать,

У меня есть база данных с столбцом «имена»,

как я могу отобразить его так?

<tr> <td width="270px">Henry</td> <td width="270px">Jeffrey</td> <td width="270px">Hansel</td> </tr> <tr> <td width="270px">Michelle</td> <td width="270px">Jackson</td> <td width="270px">Ivan</td> </tr> 

Я знаю только, как я должен это делать, если записи идут один за другим по вертикали.

  $result = mysql_query('SELECT * FROM member'); while($row = mysql_fetch_array($result)) { echo' <tr> <td width="270px">'.$row['names'].'</td> <td width="270px">Jeffrey</td> <td width="270px">Hansel</td> </tr>'; 

Кинда застрял здесь …

Извините, я забыл поставить это.

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

какой бой этот? Что делать, если я хочу, чтобы это зациклилось?

 <tr> <td><img src="images/ava/A.png" /></td> <td>A</td> <td width="2px" rowspan="3"></td> <td><img src="images/ava/B.png" /></td> <td>B</td> </tr> <tr> <td>A</td> <td>B</td> </tr> 

Solutions Collecting From Web of "Mysql fetch array, результаты таблицы"

$row будет обновляться на каждой итерации цикла:

 $result = mysql_query('SELECT * FROM member'); echo '<tr>'; for($i = 0; $row = mysql_fetch_array($result); $i = ($i+1)%3){ echo '<td width="270px">'.$row['names'].'</td>'; if($i == 2) echo '</tr><tr>'; } echo '</tr>'; 
 $result = mysql_query('SELECT * FROM member'); echo'<tr>' while($row = mysql_fetch_array($result)) { echo '<td width="270px">'.$row['names'].'</td>'; } echo '</tr>'; 
 $result = mysql_query('SELECT * FROM member'); echo '<tr>; while($row = mysql_fetch_array($result)) { echo '<td width="270px">'.$row['names'].'</td>'; } echo '</tr>'; 

Допустим, у вас есть массив имен, называемых $names , тогда вы можете делать то, что хотите, с кодом, который выглядит примерно так:

 <tr> <?php foreach($names as $name) { print "<td>$name</td>"; } ?> </tr> 

Это поместило бы все имена в одну строку.

Чтобы начать новую строку, скажем, каждые 3 имени, вы можете поместить оператор if в цикл for следующим образом:

 // assume we have these variables available. $row_number; $max_cols = 3; // this goes at the top of the foreach if($row_number % $max_cols == 0) { print '</tr><tr>'; } 

Вы знаете, что достигните этого, назначив счетчик строк, прежде чем запускать переменную, и несколько флагов, чтобы знать инициализированный цикл или цикл начала / конца.

 $i = 1; $initFlag = false; $flag = "closed"; while($row = mysql_fetch_array($result)) { if($i%3 == 0) $initFlag = false; if($flag == "closed" && ($i == 1 || $i % 3 == 1)) { echo "<tr>"; $flag = "started"; $initFlag = true; } echo '<td width="270px">'.$row['names'].'</td>'; if(!initFlag && $flag == "started" && $i % 3 ==0) { echo "</tr>"; $flag = "closed"; } $i++; } 

Таким образом, большинство из этих ответов собираются для kludge. Во-первых, если все, что вам нужно, это имя в вашем наборе результатов, то попросите его только. Поэтому вместо того, чтобы идти:

 $result = mysql_query('SELECT * FROM member'); 

Вместо этого используйте:

 $result = mysql_query('SELECT names FROM member'); 

Кроме того, все, кажется, игнорируют три запроса столбца, и это может быть выполнено с помощью модуля, чтобы определить, когда нужно разбить строки. Мы сделаем небольшое волшебство, чтобы вы всегда закрывали тег строки.

 $row_count = 0; while($row = mysql_fetch_array($result)) { if( $row_count % 3 == 0 ) { echo '<tr>'; } echo '<td width="270px">'.$row['names'].'</td>'; if( $row_count % 3 == 0 ) { echo '</tr>'; } $row_count++; } 

Я не хочу слишком придираться к вашей схеме, но если у вас есть выбор, лучше назвать таблицу множественным, как members а не членом, так как у вас есть набор строк, каждый из которых представляет один «член». И если у ваших членов несколько names этот столбец, вероятно, лучше всего будет называться «имя».