Заполнение таблицы html из базы SQL в два столбца?

AlexandrKa

Новичок
Заполнение таблицы html из базы SQL в два столбца?

Помогите пожалуста.

Есть база, из нее данные должны отображаться в таблице.
Вывод по строчно, я знаю как сделать, а вот с выводом таким образом (смотри порядок заполнения, как идут цифры):
http://ak.nln.ru/table.JPG

у меня проблема, застопорился на одном месте и не могу стронуться дальше!

Подскажите пожалуста, как сделать!! Горю!! :(
 

ZN

Новичок
AlexandrKa
пусть есть массив с данными, которые нужно выводить
пусть вы пробегаете по нему foreach или for, и $i - номер итерации, так вот если $i%2==1, то выводите в первый столбец, иначе - во второй
 

White Rabbit

белый кролик
А если столбцов три?
Что в какой столбец выводить?

Вот можно так:
PHP:
<?php
$data = range(1,10); //данные
$cols = 3; //Кол-во столбцов
$count = count($data);
?>
<table border=1 width=100>
<?
for($i=0; $i<$count;){
    echo "<tr>";
    for($j=0; $j<$cols; $j++){
        echo"<td>";
        echo (isset($data[$i]))?$data[$i]:'&nbsp';
        echo "</td>";
        $i++;
    }
    echo "</tr>";
}
?>
</table>
 

AlexandrKa

Новичок
В базе данные выглядят так:

ID | Name | Nick | File | Country

А в таблице должно выглядеть так

<tr><td>Запись из базы 1</td><td>Запись из базы 2</td></tr>
<tr><td>Запись из базы 3</td><td>Запись из базы 4</td></tr>

и т.д....
 

AlexandrKa

Новичок
Ну мне надо что бы автоматом вывелось 5 записаей из БД, в таком виде:

<tr><td>Запись из базы 1</td><td>Запись из базы 2</td></tr>
<tr><td>Запись из базы 3</td><td>Запись из базы 4</td></tr>

А одна запись выглядет как:
Египет, Лена, Egypt_SPO.xls, Russia

тоесть на странице должно выглядеть так

<tr><td>Египет, Лена, Egypt_SPO.xls, Russia</td><td>Турция, Оля, Turky_SPO.xls, Turky</td></tr>
<tr><td>France, Маша, France_SPO.xls, France</td><td>Germany, Ира, Germany_SPO.xls, Germany</td></tr>

и т.д.
 

White Rabbit

белый кролик
Если ты испытываешь затруднения с тем, как получить доступ к данным в многомерном массиве, могу посоветовать обратиться
к соответствующему разделу мануала.
 

glebofff

Новичок
Вот такая хрень будет работать в mozilla:

=== test.xml ===
PHP:
<?xml version="1.0" encoding="windows-1251"?>
<?xml-stylesheet type="text/xsl" href="#xslt"?>
<!DOCTYPE doc [
<!ATTLIST xsl:stylesheet
	id	ID	#REQUIRED>
]>

<xml>
	<data>
		<row> 1 </row>
		<row> 2 </row>
		<row> 3 </row>
		<row> 4 </row>		
		<row> 5 </row>		
		<row> 6 </row>		
		<row> 7 </row>		
		<row> 8 </row>		
		<row> 9 </row>
		<row> 10 </row>
		<row> 11 </row>
		<row> 12 </row>		
		<row> 13 </row>		
		<row> 14 </row>		
		<row> 15 </row>		
		<row> 16 </row>		
	</data>

	<xsl:stylesheet version="1.0" id="xslt" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
		<xsl:output method="html"/>

		<xsl:template name="pipets">
			<xsl:param name="limit" />
			<xsl:param name="counter" />
			<xsl:param name="offset" />
			<xsl:if test="//data/row[$counter + $offset]">
				<td>
					<xsl:value-of select="//data/row[$counter + $offset]"/>
				</td>
			</xsl:if>
			<xsl:if test="$counter &lt; $limit">
				<xsl:call-template name="pipets">
					<xsl:with-param name="counter" select="$counter + 1" />
					<xsl:with-param name="limit" select="$limit" />
					<xsl:with-param name="offset" select="$offset" />
				</xsl:call-template>
			</xsl:if>
		</xsl:template>

		<xsl:template match="data">
			<html>
				<table border="1">
					<!-- количество столбцов -->
					<xsl:variable name="cols" select="2" />
					
					<xsl:variable name="lastoffset" select="round(count(//data/row) div $cols)*$cols" />				
					<xsl:for-each select="row">
						<xsl:if test="position() mod $cols = 0">
							<tr>
								<xsl:call-template name="pipets">
									<xsl:with-param name="offset" select="position()-$cols" />
									<xsl:with-param name="counter" select="1" />
									<xsl:with-param name="limit" select="$cols" />
								</xsl:call-template>
							</tr>
						</xsl:if>
					</xsl:for-each>
					<xsl:if test="$lastoffset != count(//data/row)">
						<tr>
							<xsl:call-template name="pipets">
								<xsl:with-param name="offset" select="$lastoffset" />
								<xsl:with-param name="counter" select="1" />
								<xsl:with-param name="limit" select="$cols" />
							</xsl:call-template>
						</tr>
					</xsl:if>
				</table>
			</html>
		</xsl:template>

	</xsl:stylesheet>
</xml>
=== ===

PS: regards to z****s, **. :-D
 
Сверху