[Comm] Программирование на PHP.
Alexey Morsov
=?iso-8859-1?q?samurai_=CE=C1_ricom=2Eru?=
Ср Май 26 10:44:02 MSD 2004
Shushenskoe USZN wrote:
> Alexey Morsov пишет:
>
>> Shushenskoe USZN wrote:
>
> ...............
>
>> Ну во-первых попробуй заменить:
>> $i = 0;
>> while ($i < $num) {
>> $row = pg_fetch_array($sql_result, $i);
>> на:
>> $i=0;
>> while ($row = pg_fetch_array($sql_result, $i, PGSQL_ASSOC)) {
>> echo $row["your_field"] // зачем заводить новые переменные?
>> echo ...
>> $++;
>> }
>
> Мне же надо, чтобы эти данные отображались в хтмл-форме, тогда будет,
> наверное,
> так ?
> $i = 0;
> while ($row = pg_fetch_array($sql_result, $i, PGSQL_ASSOC)) {
> echo "<TR>
> <TD>"echo $row["date_in"]"</TD>
> <TD>"echo $row["sender"]"</TD>
> <TD>"echo $row["name_file"]"</TD>
> <TD>"echo $row["date_out"]"</TD>
> <TD>"echo $row["number_out"]"</TD>
> <TD>"echo $row["opisanie"]"</TD>
> <TD><a
> href=\"showedit.php?nn=$nn&date_in=$date_in&number_out=$number_out&opisanie=$opisanie&sender=$sender&date_out=$date_out&otmetka=$otmetka&name_file=$name_file\">Edit</a></TD>
>
> </TR>
> ";
> $i++;
> }
> Но и это не работает. Что не правильно ?
Как я говорил под postgre не програмирую - но может тебе поможет
мой кусок кода (проверенно работает на Mysql) выводящий таблицу
из результата запроса:
<?php function print_history($type="short", $start="yesterday",
$end="yesterday")
{
$start=strftime("%Y-%m-%d", strtotime($start));
$end=strftime("%Y-%m-%d", strtotime($end));?>
<table width=100% cellspacing=2 cellpadding=2>
<caption>История счетчиков<br>(<?php print
get_update_datetime('history'); ?>)
<thead><tr>
<th class="cur" width=10%>Дата
<th class="cur" width=60%>Цепочка
<th class="cur">Байты
<?php /* Выполним SQL запрос */
if ($type == 'short') {
$sql = "
SELECT
history.date AS date,
chains.chain_note AS note,
history.bytes AS bytes
FROM history INNER JOIN chains ON
history.chain_id=chains.chain_id
WHERE
(date BETWEEN '$start' AND '$end') AND
(history.chain_id IN (0,4,5))
ORDER BY
date DESC,
history.chain_id";
}
else {
$sql = "
SELECT
history.date AS date,
chains.chain_note AS note,
history.bytes AS bytes
FROM history INNER JOIN chains ON
history.chain_id=chains.chain_id
WHERE
date BETWEEN '$start' AND '$end'
ORDER BY
date DESC,
history.chain_id";
}
$result = mysql_query($sql) or die ("Query failed:
".mysql_error());
$day=0;
/* выводим resultset */
while ($line = mysql_fetch_array($result,
MYSQL_ASSOC)) {?>
<tr>
<?php if ($day == $line['date']) {?>
<td>
<?php }
else
{?>
<td class="cur">
<?php printf ("\t%s\n",
strftime("%d.%m.%Y",strtotime($line['date'])));
} ?>
<td class="cur">
<?php printf ("\t%s\n", $line['note']);?>
<td class="cur" align=right>
<?php printf ("\t%s\n",
number_format($line["bytes"],0,'.',' '));
$day=$line['date'];
}
mysql_free_result($result);
?>
</table><?php
}?>
>
>
>> А вообще посмотри доки к php - их есть и даже на русском и там все
>> довольно прозрачно - просто у меня нет Postgres - у меня mysql - так
>> что конкретикой помочь не смогу
>
> Доки в основном на английском, а те что на русском, поверхностны.
Читай на английском... их много и по теме 8-)
> (Читал на www.php.net/manual/ru...)
Полезная весчь... прада там больш еполовины по англицки
> Собираюсь приобрести книгу о PHP, видел на www.books.ru две:
Имхо трата денег впустую...
В печатных книгаз нет столь полезной вещи как контекстный
поиск... ;-)
Переводам в таких вещах я вообще пересал доверять уже года два
назад...
У вас вообще хоть какой-т озапрос выводит? может у вас ошибка в
запросе? У меня были ситуации когда выводилась пустая талица
именоо из-за неправильно составленного запроса.
--
Всего наилучшего,
Системный Администратор ЗАО "ИК "РИКОМ-ТРАСТ"
Алексей Морсов
http://www.ricom.ru
http://www.fondmarket.ru
Подробная информация о списке рассылки community