Назад | Начало урока | Вперед
Содержание

Глава 23

Получить список заказов

Если пользователь (администратор) на странице admin_insert.php выберет опцию "Получить
список заказов", и нажмет ОК, то эта страница примет новый вид, так как будет
выполняться новая ветвь того-же сценария, где можно получить список заказов:

Подсказка

Код html-страницы:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0047)http://localhost/admin_insert.php?format=orders -->
<HTML><HEAD><TITLE></TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1251">
<META content="MSHTML 6.00.2900.2523" name=GENERATOR></HEAD>
<BODY>
<DIV align=right><IMG height=50 src="admin_insert97.files/title.gif"
width=300></DIV>
<P>Список клиентов</P>
<TABLE cellSpacing=0 cellPadding=1 border=1>
<TBODY>
<TR>
<TH>Дата заказа</TH>
<TH>Фамилия</TH>
<TH>Сумма заказа</TH></TR>
<TR>
<TD>2009-08-04</TD>
<TD>Иванов</TD>
<TD>1400.00</TD></TR>
<TR>
<TD>2009-08-05</TD>
<TD>Smit</TD>
<TD>1300.00</TD></TR>
<TR>
<TD>2009-11-05</TD>
<TD>Volos</TD>
<TD>1200.00</TD></TR>
</TBODY></TABLE>Номер страницы :1<BR>Страницы : <A
href="http://localhost/admin_insert.php?format=orders&start=0"
target=_parent>1</A>
<P><IMG height=40 src="admin_insert97.files/footer.gif"
width=400></P></BODY></HTML>


Здесь выполнилась следующая ветсвь скрипта:

case 'orders':

$order = new order();
$order->show_orders();
$order->connect_close();
break;

Напомню функцию show_orders():

function show_orders() {

@$start=$_GET['start'];
if(!$start) $start=0;// начальная строка выборки из базы
$number=10;//----Количество записей на странице
$query = "SELECT count(id) as row_cnt FROM order_items";
if ($result = $this->connection->query ($query)) {
$row = mysqli_fetch_assoc($result);
$row_cnt = $row['row_cnt'];
$chislo_stranits=(int)($row_cnt/$number+1);
}
$stop = $start+$number;
$query = "SELECT o.order_date, c.family_name, o.quantity ".
"FROM customers as c, orders as o, order_items as oi ".
"WHERE c.id=o.customer ".
"AND o.id=oi.order_id ".
"LIMIT $start,$stop ";

$HrefPage='';
if ($result = $this->connection->query ($query)) {

echo "<p>Список клиентов</p>";
echo "<table border=1 cellspacing=0 cellpadding=1>";
echo "<tr><th>Дата заказа</th><th>Фамилия</th><th>Сумма заказа</th></tr>";
$i=0;
while($i<$number) {
if($row = mysqli_fetch_assoc($result)) {
echo "<tr><td>".$row['order_date']."</td><td>".$row['family_name']."</td><td>".$row['quantity']."</td></tr>";
}
$i++;
}
echo "</table>";
$tekush_stranitsa = $start/$number +1;
echo "Номер страницы :".$tekush_stranitsa."<br>Страницы :";
for($link=1; $link <= $chislo_stranits; $link++) {
$PageStart=($link - 1) * $number;
$HrefPage="<a href=".$_SERVER['SCRIPT_NAME']."?format=orders&start=".$PageStart." target=_parent> ".$link."</a>";

echo " ".$HrefPage;

}
}
}

Как и следовало ожидать вывод данных из БД производится в html-таблицу.
Использован довольно изощренный запрос к БД.


Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz