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

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

23.04.2015, 10:11. Показов 2777. Ответов 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,949
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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru