php: добавить данным из БД атрибуты микроразметки

178
09 июня 2019, 20:10

Второе в моей жизни "столкновение" с php сломало мой незрелый мозг гуманитария. Пытаюсь добавить в скрипт, выводящий данные из БД в html, атрибуты микроразметки, чтобы всем ячейкам нужных столбцов хтмл-таблицы присваивался соответствующий микрокласс.

Насколько я сумела понять, мне нужно добавить что-то вроде этого:

function setAttribute(array_column()){
    for($inn = 0; $inn < $arrayCount; $inn++){
        setAttribute('itemprop','name');
    }
}

Требуется еще каким-то образом определить нужный столбец...

Подскажите, туда ли я "копаю"? Что нужно исправить, если код выше имеет право на существование? Может, конечно, совсем ерунду написала. У меня крайне фрагментарные представления о пхп.

Подскажите, пожалуйста, как решить мою задачу. Или буду очень признательна за ссылку на мануал (оч. желательно на русском, буржуинским слабо владею).

Вообще, любое конкретное направление (ну, кроме нецензурного:), куда взор направить, дабы осуществить задуманное.

Arendach, видимо, это тот код, о котором Вы говорите?

foreach($html->getElementsByTagName('tr') as $tr){
if($tr->getAttribute('class')=='restop'){
    continue;
}
$tds = $tr->getElementsByTagName('td');
if($tds->item(0)->hasAttribute('colspan')){
    continue;
}
$address = explode(',',$tds->item(2)->nodeValue);
    if($stmt = $db->prepare($sql)){
        $stmt->bindValue(1,clearString($address[0]),SQLITE3_TEXT);//area
        $stmt->bindValue(2,clearString(implode(', ',array_slice($address,1))),SQLITE3_TEXT);//address
        $stmt->bindValue(3,clearString($tds->item(3)->nodeValue),SQLITE3_TEXT);//metro
        $stmt->bindValue(4,clearString($tds->item(4)->nodeValue),SQLITE3_TEXT);//floor
        $stmt->bindValue(5,intval($tds->item(1)->nodeValue),SQLITE3_INTEGER);//rooms
        $stmt->bindValue(6,clearString($tds->item(1)->nodeValue),SQLITE3_TEXT);//rooms_s
        $stmt->bindValue(7,clearString($tds->item(5)->nodeValue),SQLITE3_INTEGER);//sq_total
        $stmt->bindValue(8,clearString($tds->item(6)->nodeValue),SQLITE3_TEXT);//sq_room
        $stmt->bindValue(9,clearString($tds->item(7)->nodeValue),SQLITE3_INTEGER);//sq_kitchen
        $stmt->bindValue(10,clearString($tds->item(8)->nodeValue)=='+');//phone
        $stmt->bindValue(11,clearString($tds->item(9)->nodeValue)=='+');//furniture
        $stmt->bindValue(12,clearString($tds->item(10)->nodeValue)=='+');//fridge
        $stmt->bindValue(13,clearString($tds->item(11)->nodeValue)=='+');//st_metro
        $stmt->bindValue(14,intval($tds->item(12)->nodeValue));//price
        $stmt->bindValue(15,clearString($tds->item(13)->nodeValue),SQLITE3_TEXT);//term
        $stmt->bindValue(16,clearString(preg_replace(['/^[^,]+,/','/Взято.*$/'],'',$tds->item(16)->nodeValue)),SQLITE3_TEXT);//other
        $stmt->bindValue(17,date('Y-m-d H:i:s'));//created_at
        $stmt->execute();
        $added++;
    }
    $total_rows++;
}
READ ALSO
Проблема со swiftmailer на локальном сервере

Проблема со swiftmailer на локальном сервере

На локальном сервере установил заглушку fakesandmail(/usr/bin/fakesendmailsh -bs)

123
Почему диапазон A-z включает в себя дополнительные символы, кроме букв?

Почему диапазон A-z включает в себя дополнительные символы, кроме букв?

/^[\-\\s\'A-яA-zЁёәіңғүұқөһӘІҢҒҮҰҚӨҺ]*$/ - это регулярное выражение почему-то пропускает ^\_

137
Странный illegal string offset или base64

Странный illegal string offset или base64

Есть загрузка в массив картинки в формате base64

119
Проверка ID в БД

Проверка ID в БД

Есть таблица в БД db_zadanie, в ней хранятся "id", "user", "iduser","text"

160