С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
11 / 11 / 3
Регистрация: 08.07.2009
Сообщений: 238

Возможно ли обратиться к id либо классу HTML таблицы?

23.04.2015, 10:11. Показов 2766. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть несколько вопросов (просто пытаюсь понять ход действий):

1. Возможно ли в коде php обратиться к id либо классу HTML таблицы?
2. Имеется html таблица
HTML5
1
2
3
4
5
6
7
8
9
10
<table id="tab-name" width="100%">
        <tr>
            <th>Фамилия</th>
            <th>Имя</th>
            <th>Отчетство</th>
        </tr>
        <tr>
            <td>Иванов</td><td>Иван</td><td>Иванович</td>
        </tr>
</table>
Подскажите как грамотнее заполнить её из БД? Хотелось бы избежать постоянных вставок echo в .php файле. Ну и хотелось бы что бы таблица была полностью управляемая (например поле name получить либо в первом, либо во втором столбце и.т.п)

Заранее спасибо.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.04.2015, 10:11
Ответы с готовыми решениями:

обратиться к классу
есть класс producer класс server класс consumer все работают в разных потоках producer принимает данные с udp и должен их...

Как обратиться к классу?
Смотри у меня файл создается в классе и открывает в классе идет обработка вся там, но первой кнопкой я обращаюсь к классу что бы произвел...

Как обратиться к высшему классу?
вопрос наверно сформулирован коряво, но как смог :pardon: проблема такая: есть два класса, в одном из них создается переменная другого...

15
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
23.04.2015, 10:37
Цитата Сообщение от alterak Посмотреть сообщение
Возможно ли в коде php обратиться к id либо классу HTML таблицы?
Такое только парсинга. Когда Вы разбираете html-код. А когда формируете, делайте так:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
<table id="tab-name" width="100%">
        <tr>
            <th>Фамилия</th>
            <th>Имя</th>
            <th>Отчетство</th>
        </tr>
        <tr>
            <td><?=$lastname?></td>
            <td><?=$firstname?></td>
            <td><?=$patronymic?></td>
        </tr>
</table>
Добавлено через 1 минуту
Цитата Сообщение от alterak Посмотреть сообщение
Хотелось бы избежать постоянных вставок echo в .php файле.
Этого не избежать, если формировать шаблоны на native php. Если использовать шаблонизаторы, то echo меняется на другой оператор, но суть та же - вывести данные.
0
13 / 13 / 7
Регистрация: 02.04.2014
Сообщений: 82
23.04.2015, 10:37
Вы в любом случае должны дать команду на вывод информации из переменной, а встроенных функций в php для вывода в блоках между тегами html не заложено, да и не к чему. Шаблонизатор решит Ваш вопрос. Можно воспользоваться готовым, к примеру Smarty. Тогда вид будет примерно такой:
PHP
1
<td>{Surname}</td><td>{Name}</td><td>{Patronymic}</td>
0
11 / 11 / 3
Регистрация: 08.07.2009
Сообщений: 238
23.04.2015, 10:59  [ТС]
Цитата Сообщение от Para bellum Посмотреть сообщение
Этого не избежать
почему не избежать? вот тут как я понял без echo переменные легко вставляются в html таблицу

HTML5
1
2
3
4
5
<tr>
   <td><?=$lastname?></td>
   <td><?=$firstname?></td>
   <td><?=$patronymic?></td>     
</tr>
А вот с шаблонами идея отличная, пошел изучать-) Спасибо.
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
23.04.2015, 11:13
Цитата Сообщение от alterak Посмотреть сообщение
вот тут как я понял без echo переменные легко вставляются в html таблицу
Так это просто сокращение. А суть та же.
0
11 / 11 / 3
Регистрация: 08.07.2009
Сообщений: 238
23.04.2015, 16:48  [ТС]
Написал такой код, все работает, только выводится только одна первая запись, чую что в цикле что-то намутил, только вот что?

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php 
    $conn = mysql_connect('localhost', 'root', '');
    $db = mysql_select_db('shop', $conn);
 
    $sql = ("SELECT * FROM prod");
         $result = mysql_query($sql)  or die(mysql_error());
    
         while ($row = mysql_fetch_assoc($result)) {
            $name = $row['name'];
            $product = $row['product'];
            $price = $row['price'];
         }
?>
 
 
<table id="tab-name" width="100%">
        <tr>
            <th width="50px">Наименование товара</th>
            <th width="20px">Продавец</th>
            <th width="20px">Цена</th>
        </tr>
        <tr>
            <td><?php echo $product ?></td>
            <td><?php echo $name ?></td>
            <td><?php echo $price ?></td>
        </tr>
</table>
0
0 / 0 / 0
Регистрация: 02.04.2013
Сообщений: 51
23.04.2015, 18:06
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php 
    $conn = mysql_connect('localhost', 'root', '');
    $db = mysql_select_db('shop', $conn);
 
    $sql = ("SELECT * FROM prod");
         $result = mysql_query($sql)  or die(mysql_error());
    echo "<table id=tab-name width=100%>
        <tr>
            <th width=50px>Наименование товара</th>
            <th width=20px>Продавец</th>
            <th width=20px>Цена</th>
        </tr>";
       while ($row = mysql_fetch_assoc($result)) {
       echo" <tr><td>$row['product']</td>
            <td>$row['name']</td>
            <td>$row['price']</td>
            </tr></table>";
?>
Добавлено через 21 минуту
Цитата Сообщение от alterak Посмотреть сообщение
Хотелось бы избежать постоянных вставок echo в .php файле
сорри не увидел
0
11 / 11 / 3
Регистрация: 08.07.2009
Сообщений: 238
23.04.2015, 18:42  [ТС]
Цитата Сообщение от saigaf-mun Посмотреть сообщение
сорри не увидел
хм... интересно, а что в этом коде другого? вроде все то же самое, только без переменных $name, $product, $price
0
 Аватар для prudkiy
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 958
23.04.2015, 19:04
Цитата Сообщение от alterak Посмотреть сообщение
все работает, только выводится только одна первая запись
Вы уверены что это первая, а не последняя строка. В коде выше строки таблицы генерируются и так выводятся все записи. В вашем же - значение последнего прохода по "базе" выводиться в таблице, по крайней мере так должно быть )
Если же вы упрямо не хотите команд типа echo (совсем не понимаю почему) и знаете точное число строк в таблице то можно при чтении "базы" пихать инфу в массив а потом куда что нужно расписать, но лично я против таких извращений )
0
11 / 11 / 3
Регистрация: 08.07.2009
Сообщений: 238
23.04.2015, 19:20  [ТС]
Цитата Сообщение от prudkiy Посмотреть сообщение
Вы уверены что это первая, а не последняя строка.
Конечно уверен... Просто не могу пока понять, почему же все записи не выводятся-(
0
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
23.04.2015, 20:34
alterak, вас еще не выгнали с работы за использование mysql_* функций? Вам везет! Но Пых не будет таким дружественным..
есть в JS функция getElementById..
Цитата Сообщение от alterak Посмотреть сообщение
Возможно ли в коде php обратиться к id либо классу HTML таблицы?
можно через .опу. Но Фигней вы занимаетесь - перепишите это позорище.. Хотя дело ваше..
0
11 / 11 / 3
Регистрация: 08.07.2009
Сообщений: 238
23.04.2015, 21:04  [ТС]
Цитата Сообщение от ads Посмотреть сообщение
alterak, вас еще не выгнали с работы за использование mysql_* функций? Вам везет! Но Пых не будет таким дружественным..
есть в JS функция getElementById..
Сообщение от alterak
Возможно ли в коде php обратиться к id либо классу HTML таблицы?
можно через .опу. Но Фигней вы занимаетесь - перепишите это позорище.. Хотя дело ваше..
воу воу, полегче дружище-)) я четвертый день изучаю php, точнее вообще web разработку-)) Мне не интересно тупо переписывать код с книжек, мне нужно просто понять последовательность... в общем-то поэтому я здесь и обратился за помощью и человеческим! мнением. Переписать код? - да без проблем, покажи искусство грамотного и красивого кода? Буду очень признателен.
Цитата Сообщение от ads Посмотреть сообщение
Но Фигней вы занимаетесь
Объясни почему? По мне так наоборот все логично и просто, есть php файл, в нем есть отдельный блок Php кода, есть отдельный блок обычного html кода - где тут фигня?
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
24.04.2015, 06:44
Цитата Сообщение от alterak Посмотреть сообщение
все логично и просто, есть php файл, в нем есть отдельный блок Php кода, есть отдельный блок обычного html кода - где тут фигня?
В принципе Вы идёте в правильном направлении. Хотите отделить логику приложения от логики отображения. Советую почитать про MVC. Но скорее всего там для Вас мало понятного будет, если Вы четвёртый день программируете. Если раньше был опыт работы с другими языками - то может легче.
1
11 / 11 / 3
Регистрация: 08.07.2009
Сообщений: 238
24.04.2015, 13:19  [ТС]
Цитата Сообщение от saigaf-mun Посмотреть сообщение
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php 
 $conn = mysql_connect('localhost', 'root', '');
 $db = mysql_select_db('shop', $conn);
$sql = ("SELECT * FROM prod");
$result = mysql_query($sql) *or die(mysql_error());
 echo "<table id=tab-name width=100%>
<tr>
<th width=50px>Наименование товара</th>
 <th width=20px>Продавец</th>
<th width=20px>Цена</th>
 </tr>";
while ($row = mysql_fetch_assoc($result)) {
echo" <tr><td>$row['product']</td>
 <td>$row['name']</td>
 <td>$row['price']</td>
 </tr></table>";
?>
Ваш код к сожалению не работает, даже если цикл закрыть.

Добавлено через 3 часа 3 минуты
Отвечу сам себе, как вариант вот пример, правда немного геморройный и, как я понял разделить html и php никак не получится-(
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php 
    include "config.php";
    
    $strSQL = "SELECT product, name, price FROM prod";
    $rs = mysql_query($strSQL);                          
    $table = "<table border = 1 width = '100%' align = center>";
    $table .= "<th>Продукт</th>";
    $table .= "<th>Продавец</th>";
    $table .= "<th>Цена</th>";
    $k=1;
        while($row = mysql_fetch_assoc($rs)) {                
            if($k%2==0) $color="#aaaaaa";
                else $color="#ef662b"; 
            $k++;
    $table .= "<tr BGCOLOR='$color' align = center>";
    $table .= "<td align = left>".$row['product']."</td>";
    $table .= "<td>".$row['name']."</td>";
    $table .= "<td>".$row['price']."</td>";
    $table .= "</tr>";
      }
    $table .= "</table>";
        echo $table;
?>
0
467 / 431 / 117
Регистрация: 15.02.2012
Сообщений: 1,946
24.04.2015, 14:30
Лучший ответ Сообщение было отмечено alterak как решение

Решение

почему же не получится? вместо
PHP
1
2
3
4
5
 while ($row = mysql_fetch_assoc($result)) {
            $name = $row['name'];
            $product = $row['product'];
            $price = $row['price'];
         }
сделайте
PHP
1
2
3
while ($row = mysql_fetch_assoc($result)) {
            $my_array[] = $row;
         }
и тогда
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<table id="tab-name" width="100%">
        <tr>
            <th width="50px">Наименование товара</th>
            <th width="20px">Продавец</th>
            <th width="20px">Цена</th>
        </tr>
<?php foreach($my_array as $value){?>
        <tr>
            <td><?=$value["product"]?></td>
            <td><?=$value["name"]?></td>
            <td><?=$value["price"]?></td>
        </tr>
<?php }?>
</table>
name = $ row ['name'] - в цикле каждый раз перезаписываете и в итоге имеете только 1 значение
создав же массив вы будете иметь все значения
1
11 / 11 / 3
Регистрация: 08.07.2009
Сообщений: 238
24.04.2015, 14:52  [ТС]
О дааа!! Спасибо огромное! То, что нужно!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.04.2015, 14:52
Помогаю со студенческими работами здесь

C++ Как лучше обратиться к классу
Добрый день. У меня такая ситуация. Есть некий класс A, содеращий массив классов B. class A { //какие-то методы и данные ...

Как обратиться к классу из другого
Доброго времени суток. Проблема такая, мне нужно обратиться к слоту друг-го класса. Пробую так: void Windows::go_line(){ ...

Как обратиться к этому классу?
Всем доброго вечера. Есть структура: &lt;div class=&quot;leftblock&quot;&gt; &lt;div class=&quot;poster&quot;&gt; &lt;img...

Обратиться к статическому классу из другой dll
Помогите пожалуйста: У меня есть исполняемый проект в нем есть статический класс(который в процессе чем то иницилизируется), приложение...

Как правильно обратиться к css классу
Подскажите пожалуйста, пытаюсь обратиться к классу .gamma-description-wrapper через jq для изменения background ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru