|
|
|
| таблица имеет следующий вид:
<td class="mbi_left" align="left" width="35%"><a class="blue" HREF="/pasa/zapchasti?ticker=III:LN">avtogir GROUP PLC</a></td><td align="right" width="10%">284.80</td><td align="right" width="10%"><span class="changeup">3.80</span></td><td align="right" width="10%"><span class="changeup">1.35</span></td><td align="right" width="20%">570,554</td><td align="right" width="15%">05:42</td>
</tr>
<tr class="alternateRow">
<td class="mbi_left" align="left" width="35%"><a class="blue" HREF="/pasa/zapchasti?ticker=ADM:LN">AUTTOMOBILLE GROUP</a></td><td align="right" width="10%">1,174.00</td><td align="right" width="10%"><span class="changeup">11.00</span></td><td align="right" width="10%"><span class="changeup">0.95</span></td><td align="right" width="20%">40,549</td><td align="right" width="15%">05:36</td>
</tr>
<tr class="whiteRow">
<td class="mbi_left" align="left" width="35%"><a class="blue" HREF="/pasa/zapchasti?ticker=AGK:LN">ARG AUT</a></td><td align="right" width="10%">929.50</td><td align="right" width="10%"><span class="changeup">8.50</span></td><td align="right" width="10%"><span class="changeup">0.92</span></td><td align="right" width="20%">83,785</td><td align="right" width="15%">05:38</td>
</tr>
<tr class="alternateRow">
<td class="mbi_left" align="left" width="35%"><a class="blue" HREF="/pasa/zapchasti?ticker=ATST:LN">AUTO TRUST</a></td><td align="right" width="10%">333.30</td><td align="right" width="10%"><span class="changeup">2.00</span></td><td align="right" width="10%"><span class="changeup">0.60</span></td><td align="right" width="20%">71,654</td><td align="right" width="15%">05:42</td>
</tr>
<tr class="whiteRow">
<td class="mbi_left" align="left" width="35%"><a class="blue" HREF="/pasa/zapchasti?ticker=AMEC:LN">AMEC AUTO</a></td><td align="right" width="10%">776.00</td><td align="right" width="10%"><span class="changedown">-3.00</span></td><td align="right" width="10%"><span class="changedown">-0.39</span></td><td align="right" width="20%">502,843</td><td align="right" width="15%">05:42</td>
</tr>
<tr class="alternateRow">
<td class="mbi_left" align="left" width="35%"><a class="blue" HREF="/pasa/zapchasti?ticker=AAL:LN">ANGLO AUTO</a></td><td align="right" width="10%">2,774.50</td><td align="right" width="10%"><span class="changeup">23.50</span></td><td align="right" width="10%"><span class="changeup">0.85</span></td><td align="right" width="20%">1,176,225</td><td align="right" width="15%">05:42</td>
</tr>
<tr class="whiteRow">
<td class="mbi_left" align="left" width="35%"><a class="blue" HREF="/pasa/zapchasti?ticker=ANTO:LN">AUTO FAGASTA</a></td><td align="right" width="10%">1,022.00</td><td align="right" width="10%"><span class="changeup">22.00</span></td><td align="right" width="10%"><span class="changeup">2.20</span></td><td align="right" width="20%">802,435</td><td align="right" width="15%">05:42</td>
</tr>
<tr class="alternateRow">
<td class="mbi_left" align="left" width="35%"><a class="blue" HREF="/pasa/zapchasti?ticker=ABF:LN">AUTO BRIT</a></td><td align="right" width="10%">875.50</td><td align="right" width="10%"><span class="changeup">16.00</span></td><td align="right" width="10%"><span class="changeup">1.86</span></td><td align="right" width="20%">2,595,920</td><td align="right" width="15%">05:42</td>
</tr>
|
нужно выбрать все значения с колонок, это компания, цена, изменение, изм. в проц., volume, время = итого 5 колонок, и так в каждой строке. фрагмент который я привел неполный, таблица может быть как меньше, так и больше.
и потом уже записать их в базу данных. Помогите. | |
|
|
|
|
|
|
|
для: Softic
(14.01.2010 в 14:37)
| | на вскидку:
<?php
$text = '<td class="mbi_left" align="left" width="35%"><a class="blue" HREF="/pasa/zapchasti?ticker=III:LN">avtogir GROUP PLC</a></td><td align="right" width="10%">284.80</td><td align="right" width="10%"><span class="changeup">3.80</span></td><td align="right" width="10%"><span class="changeup">1.35</span></td><td align="right" width="20%">570,554</td><td align="right" width="15%">05:42</td>
</tr>
<tr class="alternateRow">
<td class="mbi_left" align="left" width="35%"><a class="blue" HREF="/pasa/zapchasti?ticker=ADM:LN">AUTTOMOBILLE GROUP</a></td><td align="right" width="10%">1,174.00</td><td align="right" width="10%"><span class="changeup">11.00</span></td><td align="right" width="10%"><span class="changeup">0.95</span></td><td align="right" width="20%">40,549</td><td align="right" width="15%">05:36</td>
</tr>
<tr class="whiteRow">
<td class="mbi_left" align="left" width="35%"><a class="blue" HREF="/pasa/zapchasti?ticker=AGK:LN">ARG AUT</a></td><td align="right" width="10%">929.50</td><td align="right" width="10%"><span class="changeup">8.50</span></td><td align="right" width="10%"><span class="changeup">0.92</span></td><td align="right" width="20%">83,785</td><td align="right" width="15%">05:38</td>
</tr>
<tr class="alternateRow">
<td class="mbi_left" align="left" width="35%"><a class="blue" HREF="/pasa/zapchasti?ticker=ATST:LN">AUTO TRUST</a></td><td align="right" width="10%">333.30</td><td align="right" width="10%"><span class="changeup">2.00</span></td><td align="right" width="10%"><span class="changeup">0.60</span></td><td align="right" width="20%">71,654</td><td align="right" width="15%">05:42</td>
</tr>
<tr class="whiteRow">
<td class="mbi_left" align="left" width="35%"><a class="blue" HREF="/pasa/zapchasti?ticker=AMEC:LN">AMEC AUTO</a></td><td align="right" width="10%">776.00</td><td align="right" width="10%"><span class="changedown">-3.00</span></td><td align="right" width="10%"><span class="changedown">-0.39</span></td><td align="right" width="20%">502,843</td><td align="right" width="15%">05:42</td>
</tr>
<tr class="alternateRow">
<td class="mbi_left" align="left" width="35%"><a class="blue" HREF="/pasa/zapchasti?ticker=AAL:LN">ANGLO AUTO</a></td><td align="right" width="10%">2,774.50</td><td align="right" width="10%"><span class="changeup">23.50</span></td><td align="right" width="10%"><span class="changeup">0.85</span></td><td align="right" width="20%">1,176,225</td><td align="right" width="15%">05:42</td>
</tr>
<tr class="whiteRow">
<td class="mbi_left" align="left" width="35%"><a class="blue" HREF="/pasa/zapchasti?ticker=ANTO:LN">AUTO FAGASTA</a></td><td align="right" width="10%">1,022.00</td><td align="right" width="10%"><span class="changeup">22.00</span></td><td align="right" width="10%"><span class="changeup">2.20</span></td><td align="right" width="20%">802,435</td><td align="right" width="15%">05:42</td>
</tr>
<tr class="alternateRow">
<td class="mbi_left" align="left" width="35%"><a class="blue" HREF="/pasa/zapchasti?ticker=ABF:LN">AUTO BRIT</a></td><td align="right" width="10%">875.50</td><td align="right" width="10%"><span class="changeup">16.00</span></td><td align="right" width="10%"><span class="changeup">1.86</span></td><td align="right" width="20%">2,595,920</td><td align="right" width="15%">05:42</td>
</tr> ';
preg_match_all("/<a.*>(.*)<\/a>.*<td align=\"right\" width=\"10%\">(.*)<\/td>.*\"changeup\">(.*)<\/span><\/td>.*\"changeup\">(.*)<\/span><\/td><td align=\"right\" width=\"20%\">(.*)<\/td>.*<td align=\"right\" width=\"15%\">(.*)<\/td>/", $text, $result);
print "<pre>";
print_r($result);
?>
|
результат:
Array
(
[0] => Array
(
[0] => avtogir GROUP PLC284.803.801.35570,55405:42
[1] => AUTTOMOBILLE GROUP1,174.0011.000.9540,54905:36
[2] => ARG AUT929.508.500.9283,78505:38
[3] => AUTO TRUST333.302.000.6071,65405:42
[4] => ANGLO AUTO2,774.5023.500.851,176,22505:42
[5] => AUTO FAGASTA1,022.0022.002.20802,43505:42
[6] => AUTO BRIT875.5016.001.862,595,92005:42
)
[1] => Array
(
[0] => avtogir GROUP PLC
[1] => AUTTOMOBILLE GROUP
[2] => ARG AUT
[3] => AUTO TRUST
[4] => ANGLO AUTO
[5] => AUTO FAGASTA
[6] => AUTO BRIT
)
[2] => Array
(
[0] => 284.80
[1] => 1,174.00
[2] => 929.50
[3] => 333.30
[4] => 2,774.50
[5] => 1,022.00
[6] => 875.50
)
[3] => Array
(
[0] => 3.80
[1] => 11.00
[2] => 8.50
[3] => 2.00
[4] => 23.50
[5] => 22.00
[6] => 16.00
)
[4] => Array
(
[0] => 1.35
[1] => 0.95
[2] => 0.92
[3] => 0.60
[4] => 0.85
[5] => 2.20
[6] => 1.86
)
[5] => Array
(
[0] => 570,554
[1] => 40,549
[2] => 83,785
[3] => 71,654
[4] => 1,176,225
[5] => 802,435
[6] => 2,595,920
)
[6] => Array
(
[0] => 05:42
[1] => 05:36
[2] => 05:38
[3] => 05:42
[4] => 05:42
[5] => 05:42
[6] => 05:42
)
)
|
P.S - pattern сам чисти )) | |
|
|
|
|
|
|
|
для: freeing
(14.01.2010 в 14:59)
| | Спасибо, все вроде бы правильно работает!!
Извиняюсь за тупизм, паттерн это я так понял регулярное выражение, что там нужно еще почистить? в рнр почти ноль!
и вопрос по добавлению в базу всего вышеописанного, правильно ли я сделал?
<?
mysql_query("INSERT INTO `auto` (names, cena, izmen, perc_izmen, volume, time) VALUES ('".$result['1'][]."', '".$result['2'][]."', '".$result['3'][]."', '".$result['4'][]."', '".$result['5'][]."', '".$result['6'][])."')";
?>
|
| |
|
|
|
|
|
|
|
для: Softic
(14.01.2010 в 18:49)
| | Непойму как сделать цикл для записи сразу всех значений в массив, читаю форум, это правильно для моего случая?:
<? php
foreach($result as $value_i) {
foreach($value_i as $value)
{
mysql_query("INSERT INTO `auto` (names, cena, izmen, perc_izmen, volume, time) VALUES ('".$result['']."', '".$result['']."', '".$result['']."', '".$result['']."', '".$result['']."', '".$result[''])."')";
}
}
?>
|
| |
|
|
|
|
|
|
|
для: Softic
(14.01.2010 в 14:37)
| | вот структура БД:
CREATE TABLE IF NOT EXISTS `auto_100` (
`id` int(11) NOT NULL auto_increment,
`company` varchar(30) NOT NULL,
`price` varchar(20) NOT NULL,
`change` varchar(20) NOT NULL,
`perc_change` varchar(20) NOT NULL,
`volume` varchar(20) NOT NULL,
`time` datetime default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
|
пытаюсь записать в БД следующим запросом выше полученный массив, подскажите что не так?
<? php
$sql = "INSERT INTO (`auto_100`
,`company`
,`price`
,`change`
,`perc_change`
,`volume`
,`time`
) VALUES";
mysql_query($sql ('".$value[1]."', '".$value[2]."', '".$value[3]."', '".$value[4]."', '".$value[5]."', '".$value[6])."')) or die("Error in $sql : ".mysql_error());
?>
|
| |
|
|
| |
|