Тема: Помогите с циклом
Здравствуйте, уважаемые знатоки
есть скрипт, который парсит страничку, id ссылки должен подставляться из базы данных пользователей.
подключаемся к базе
подставляем idp (первого пользователя) в ссылку для парсинга
парсим ссылку
загоням результаты в переменные
записываем полученные данные в базу (за счет обновления старых)
---------конец первого цикла------
пауза 4 секунды
--------начало второго прохода------
подставляем idp (второго пользователя) в ссылку для парсинга
парсим ссылку
загоням результаты в переменные
...и т.д. пока есть пользователи в базе
никак не могу сделать этот цикл, если не сложно, помогите пожалуйста
вот как я сделал это все:
<?php
/*Соединяемся с базой*/
if (isset($_GET['idp'])) {$idp = $_GET['idp'];}
if (isset($_POST['bu '])) {$bu = $_POST['bu'];}
if (isset($_POST['bo'])) {$bo = $_POST['bo'];}
if (isset($_POST['eu'])) {$eu = $_POST['eu'];}
if (isset($_POST['eo'])) {$eo = $_POST['eo'];}
if (isset($_POST['pu'])) {$pu = $_POST['pu'];}
if (isset($_POST['po'])) {$po = $_POST['po'];}
if (isset($_POST['vpistolu'])) {$vpistolu = $_POST['vpistolu'];}
if (isset($_POST['vpistolo'])) {$vpistolo = $_POST['vpistolo'];}
if (isset($_POST['vgrenu'])) {$vgrenu = $_POST['vgrenu'];}
if (isset($_POST['vgreno'])) {$vgreno = $_POST['vgreno'];}
if (isset($_POST['vavtou'])) {$vavtou = $_POST['vavtou'];}
if (isset($_POST['vavtoo'])) {$vavtoo = $_POST['vavtoo'];}
if (isset($_POST['vpulu'])) {$vpulu = $_POST['vpulu'];}
if (isset($_POST['vpulo'])) {$vpulo = $_POST['vpulo'];}
if (isset($_POST['vdrobu'])) {$vdrobu = $_POST['vdrobu'];}
if (isset($_POST['vdrobo'])) {$vdrobo = $_POST['vdrobo'];}
if (isset($_POST['vsnipu '])) {$vsnipu = $_POST['vsnipu'];}
if (isset($_POST['vsnipo '])) {$vsnipo = $_POST['vsnipo'];}
$result = mysql_query ("SELECT id, idp FROM ratings");
$myrow = mysql_fetch_array($result); // Лишняя строка.
while ($myrow = mysql_fetch_array($result)) {
$idp = $myrow["idp"];
$html = file_get_contents('http://www.ganjawars.ru/info.php?id='.$idp);
preg_match_all ('|<font color=#990000>(\d+.+)\((.*?)\)|', $html, $ma);
preg_match_all ('|<b>(\d+.+)\((.*?)\)|', $html, $maa);
list($f, $bu, $eu, $pu)=$maa[1];
list($ff, $bo, $eo, $po)=$maa[2];
list($vpistolu, $vgrenu, $vavtou, $vpulu, $vdrobu, $vsnipu)=$ma[1];
list($vpistolo, $vgreno, $vavtoo, $vpulo, $vdrobo, $vsnipo)=$ma[2];
if ( isset($bu) && isset($bo) && isset($eu)&& isset($eo) && isset($pu)&& isset($po) && isset($vpistolu)&& isset($vpistolo) && isset($vgrenu)&& isset($vgreno)
&& isset($vavtou)&& isset($vavtoo)&& isset($vpulu)&& isset($vpulo)&& isset($vdrobu)&& isset($vdrobo)&& isset($vsnipu)&& isset($vsnipo)&& isset($vsnipo)&& isset($vsnipo))
{
// Здесь надо другую переменную использовать, $result находится в while.
$result = mysql_query ("UPDATE ratings SET bu='$bu', bo='$bo',eu='$eu',eo='$eo',pu='$pu', po='$po',vpistolu='$vpistolu', vpistolo='$vpistolo',vgrenu='$vgrenu', vgreno='$vgreno',vavtou='$vavtou', vavtoo='$vavtoo',vpulu='$vpulu', vpulo='$vpulo',vdrobu='$vdrobu',vdrobo='$vdrobo',vsnipu='$vsnipu',vsnipo='$vsnipo' WHERE idp='$idp'");
sleep(4);
if ($result == 'true') {echo "<p>Все отлично</p>";}
else {echo "<p>Нифига</p>";}
}
else {echo "<p>Вы заполнили не все поля, изменения не будут сохранены.</p>";}
}
?>
У меня обновляется только одна запись(