[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ПХП вывод информации в таблицу в цикле
hostmaked
Здравствуйте.
Есть html странички c кодом.
 Город 1 - Команда желтых
<br><br><b>Текущая неделя ( 28 октября 2013 - 03 ноября 2013 )</b><br><br>побед - 13, поражений - 7<br>В гонке с красными побед - 2, поражений - 4
<br>В гонке с синими побед - 1, поражений - 3<br>В гонке с зелеными побед - 10, поражений - 0<br><br><br>
Всего шесть городов, по 4 команды в каждом. Данный кусок кода идентичен. всего 24 команды

Хочу вытянуть из этого куска цифры - к-во побед и к-во поражений и для наглядности поместить в таблицу (пример таблицы)

Правдами и неправдами мне удалось вытянуть все цифры. Но никак не удается запихнуть их в такую табличку. Делал так:
цикл -
вытянул страничку,
вырезал этот кусок кода,
из него вытянул в переменные "победы", "поражения", "разница"
и здесь загвоздка - не знаю каким образом записывать последовательно вытянутые цифры в нужные ячейки таблицы.
конец цикла

ПХП только начал изучать, прошу сильно не бить и подтолкнуть в нужном направлении. Спасибо
Игорь_Vasinsky
я б на вашем месте работал бы с БД

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
exotica
добавляй новую строку в таблице, в конце цикла

<tr>
<
td>Название команды</td>
<
td>Победы</td>
<
td>Поражения</td>
<
td>Разница</td>
</
tr>


_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
hostmaked
Цитата (Игорь_Vasinsky @ 1.11.2013 - 14:24)
я б на вашем месте работал бы с БД

с базами никогда не работал, только только знакомлюсь с языком. Да и надеюсь что есть все же проще способ чем загонять эти цифры в бд а потом из нее вытягивать
Игорь_Vasinsky
а где вы информацию собирались хранить?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
hostmaked
Цитата (Игорь_Vasinsky @ 1.11.2013 - 14:50)
а где вы информацию собирались хранить?

хранить в смысле записывать в бд, не нужно. Нужно взять цифры и вывести их в хтмл таблицу на страничке. Когда эти цифры изменятся на источнике, соответственно новые данные перезапишутся (обновятся)
Игорь_Vasinsky
аа... это тебе парсер нужно. и опыт в php

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Dezigo
Используй для этого DOM. (Document Object Model)
http://php.net/manual/en/book.dom.php

Там примеры есть:

Example
<?php
$doc = new DOMDocument();
// A corrupt HTML string
$doc->loadHTML('<HTML><A HREF="ss">asd</A>');
$body = $doc->getElementsByTagName('body')->item(0);
print htmlspecialchars(innerHTML($body));
// Prints <a href="ss">asd</a>



Покажите входящие данные, и как Вы хотите что-бы было.
И твой код.
hostmaked
Цитата (Dezigo @ 1.11.2013 - 16:17)
Используй для этого DOM.
Покажите входящие данные, и как Вы хотите что-бы было.
И твой код.

До дома еще как до неба боком если честно))

Входящие:
Есть 24 странички (6 городов по 4 комы):
http://hod.lialso.com/keepers/exemp/city1-blu.html
http://hod.lialso.com/keepers/exemp/city1-green.html
http://hod.lialso.com/keepers/exemp/city1-red.html
http://hod.lialso.com/keepers/exemp/city1-yellow.html

http://hod.lialso.com/keepers/exemp/city2-blu.html
http://hod.lialso.com/keepers/exemp/city2-green.html
http://hod.lialso.com/keepers/exemp/city2-red.html
http://hod.lialso.com/keepers/exemp/city2-yellow.html

http://hod.lialso.com/keepers/exemp/city3-blu.html
http://hod.lialso.com/keepers/exemp/city3-green.html
http://hod.lialso.com/keepers/exemp/city3-red.html
http://hod.lialso.com/keepers/exemp/city3-yellow.html

http://hod.lialso.com/keepers/exemp/city4-blu.html
http://hod.lialso.com/keepers/exemp/city4-green.html
http://hod.lialso.com/keepers/exemp/city4-red.html
http://hod.lialso.com/keepers/exemp/city4-yellow.html

http://hod.lialso.com/keepers/exemp/city5-blu.html
http://hod.lialso.com/keepers/exemp/city5-green.html
http://hod.lialso.com/keepers/exemp/city5-red.html
http://hod.lialso.com/keepers/exemp/city5-yellow.html

http://hod.lialso.com/keepers/exemp/city6-blu.html
http://hod.lialso.com/keepers/exemp/city6-green.html
http://hod.lialso.com/keepers/exemp/city6-red.html
http://hod.lialso.com/keepers/exemp/city6-yellow.html


Нужно из каждой из них вытянуть из строки "Всего побед - X, поражений - Y" собственно сами X и Y, вычислить разницу Z=X-Y. И занести переменные XYZ в таблицу
http://hod.lialso.com/keepers/exemp/table.php

Мой код:

<?php
echo '<table border="1">';
//рисуем шапку таблицы вне цикла
echo'<style type="text/css">
.tg-table-light { border-collapse: collapse; border-spacing: 0; }
.tg-table-light td, .tg-table-light th { background-color: #fff; border: 1px #bbb solid; color: #333; font-family: sans-serif; font-size: 100%; padding: 10px; vertical-align: top; }
.tg-table-light .tg-even td { background-color: #eee; }
.tg-table-light th { background-color: #ddd; color: #333; font-size: 110%; font-weight: bold; }
.tg-table-light tr:hover td, .tg-table-light tr.even:hover td { color: #222; background-color: #FCFBE3; }
.tg-bf { font-weight: bold; } .tg-it { font-style: italic; }
.tg-left { text-align: left; } .tg-right { text-align: right; } .tg-center { text-align: center; } .tg-center-w {text-align: center;color: green;} .tg-center-l {text-align: center;} .tg-center-s {text-align: center;}
</style>
<table class="tg-table-light">
<tr>
<th rowspan="2">Команда<br /> Город</th>
<th colspan="3" >Синие</th>
<th colspan="3" >Красные</th>
<th colspan="3" >Зеленые</th>
<th colspan="3" >Желтые</th>
</tr>
<tr >
<th>&uarr;</th>
<th >&darr;</th>
<th>&sum;</th>
<th>&uarr;</th>
<th >&darr;</th>
<th>&sum;</th>
<th>&uarr;</th>
<th >&darr;</th>
<th>&sum;</th>
<th>&uarr;</th>
<th >&darr;</th>
<th>&sum;</th>
</tr>'
;

include "cities.php"; /*инклюдим массив страничек откуда дергается код
$name[]="
http://hod.lialso.com/keepers/exemp/city1-blu.html"; -24 шт*/
for($i=0;$i<=23;$i++){

$content=file_get_contents($name[$i]); //парсим страницу

// ниже обрезаю и избавляюсь от лишеного мусора для получения нужного куска кода

$tag_in="<br><b>";
$tag_out="<br><br><b>";
$position=strpos($content,$tag_in);
$content=substr($content,$position);
$position=strpos($content,$tag_out);
$content=substr($content,0,$position);
$content=str_replace("<br><br>","<br>",$content);
$content=str_replace("</b><br><br>","</b><br>",$content);

//вырезаем строку-итог для каждой комы "Всего побед"
preg_match_all("/<\/b><br>(.*?)<br>/", $content, $content);
$var=ereg_replace("Всего","",$content[1][0]); //убираем слово Всего
$digit1 = substr($var, 13, 3); //вырезаем и заносим в переменную "победы"
$digit1 = chop($digit1, ','); //убираю запятые
$digit2= substr($var, 38, 3); //вырезаем и заносим в переменную "поражения"
$result=$digit1-$digit2; // заносим в переменную результат победа - поражения
//дальше нужно дорисовать табличку и тут ступор

$city=array('Город1','Город2','Город3','Город4','Город5','Город6');
//в таком варианте выводится все в строку и нужно условие по которому пойдет новая строка
$j=0;
while($j<1){
//тут условие для новой строки начинающейся с '<tr><td>'.$city.<'td>';
echo '<td>'.$digit1.'</td>';
echo '<td>'.$digit2.'</td>';
echo '<td>'.$result.'</td>';
$j++;}

//условие и вывод конца строки
}
?>

Натолкните на путь исправления пож-ста
Быстрый ответ:

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