[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблемка с выводом данных
Clockgen
Здравствуйте,подскажите пожалуйста,как правильно написать код php?
Задачка не из легких,для меня,т.к. я новичок,читаю литературу php, но есть вопросы,над которыми я думаю уже 2 недели((

Есть 4 таблицы с такими данными:

Цитата
Таблица FIO

id_fio  |  FIO

3  | Абаза
1  | Сакума
4  | Николаев
8  | Берилов
2  | Мукатин
15  | Завидов


Цитата
Таблица generators

id_gen  | nazvanie  | id_plat


1  | D32G-019.2M | 1
2  | 0-25.0J075-B-3.3-1v |  3
3  | CSX325T26.000M2-UT10  | 5
4  | KC2520C26.000C1LE00  | 8
5  | ГК143-ТС  | 20
6  | MXO37/14D-F18C5S-20МГц  | 19


Цитата
Таблица Plat

id_plat nazvanie id_fio

1  | A    |  1
8  | B    |  3
3  | C    |        4
19 | D    |  8
5  | E    |  2
20  | F    |  15


Цитата
Таблица Prom1

id_pr1  | id_gen  | kolichestvo  | id_plat  | id_fio

1  | 1  | 1  |  1  | 1
2  | 3  | 1  |  3  | 2
3  | 2  | 1  |  5  | 2
4  | 2  | 1  |  8  | 3

5  | 3  | 1  |  20  | 4
6  | 4  | 1  |  19  | 15


Таблица Prom1 хранит в себе все значения полей для связи таблиц.

Как сделать так,чтобы на странице появилась таблица с таким содержанием?

Цитата
id_gen  | kolichestvo  | id_plat  | id_fio

1  | 1  |  1  | 1
3  | 1  |  3  | 2
2  | 2  |  5,8  | 2,3


и вместо id_plat и id,fio появилось соотвественно не номер,а слова(вместо id_plat 5,8 - E,B, а вместо id_fio 2,3 - Мукатин, Абаза)? Помогите пожалуйста.
Жирным шрифтом я выделил те фрагменты таблицы в БД,данные которых необходимо показать для наглядности в итоге на странице.

Вот код php:

<?php
$q = mysql_query( "SELECT p.id_gen, GROUP_CONCAT(p.id_plat SEPARATOR ' , ') as o ,
SUM(p.kolichestvo) as l
FROM Prom_1 p
GROUP BY p.id_gen"
);
$r = mysql_query( "SELECT generators.id_gen, generators.nazvanie, Prom_1.id_plat
FROM generators
INNER JOIN Prom_1 ON generators.id_gen = Prom_1.id_gen
GROUP BY generators.id_gen"
);

$id_gen[] = array();
$id_gen1[] = array();
$kolichestvo[] = array();
$id_plat[] = array();
$nazvanie[] = array();
$i = '00';
$n = '00';

while ($row = mysql_fetch_array($q, MYSQL_ASSOC)) {
$id_gen[] = $row['id_gen'];
$kolichestvo[] = $row['l'];
$id_plat[] = $row['o'];
$n++;
// echo $row['id_gen'], "--", $row['l'], "--", $row['o'], "<BR>";
}
foreach ($kolichestvo as $z ) {settype($z, "integer");}
foreach ($id_plat as $f ) {settype($f, "integer");}

while ($ro = mysql_fetch_array($r, MYSQL_ASSOC))
{
$id_gen1[]= $ro['id_gen'];
$nazvanie[] = $ro['nazvanie'];
$b++;
//echo $ro['id_gen'], " ", $ro['nazvanie'], "<BR>";
}
echo '<table border="1">';
echo '<thead>';
echo '<tr>';
echo '<th>Индекс</th>';
echo '<th>Название</th>';
echo '<th>Количество</th>';
echo '<th>Индекс платы</th>';
echo '</tr>';
echo '</thead>';
echo '<tbody>';
for ($i; $i<=$n; $i++) {
if ($id_gen[$i] == $id_gen1[$i]) {
echo '<tr>';
echo '<td>'. $id_gen[$i]. '</td>';
echo '<td>'. $nazvanie[$i]. '</td>';
echo '<td>'. $kolichestvo[$i]. '</td>';
echo '<td>'.$id_plat[$i]. '</td>';
echo '</tr>';
} }


вот этот код работает почти как надо, только его нужно немного доработать, если возможно. Помогите пожалуйста, можно ли вместо $id_plat[$i] вывести название плат из таблицы plats. И если это возможно, то как это можно сделать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.