1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

цикл foreach

Тема в разделе "Web Coding", создана пользователем ArtKeep, 15 мар 2007.

Статус темы:
Закрыта.
Модераторы: latteo
  1. ArtKeep

    ArtKeep Писатель

    Регистр.:
    11 мар 2007
    Сообщения:
    7
    Симпатии:
    0
    Люди подскажите как написать скрипт.
    Есть база MSQL c данными пользователями, есть скрипт читающий данные с отдельного сайта, кто знает combats.ru
    , так вот скрипт читает с данного сайта данные такие как уровень персонажа, склонность, комнату где находиться чар, склонность и т.д, я написал скрипт но он читает инфу всех кто в таблице login
    Код:
    $query = "SELECT * FROM dbl_users";
    $result=mysql_query($query, $link) or die(mysql_error());
    $number = MYSQL_NUMROWS($result);
    
    for($i=0; $i<mysql_num_rows($result); $i++)
    {
    $Acc = mysql_result($result,$i,"user_name");
    
    $inf = '<a href="http://capitalcity.combats.ru/inf.pl?login='.$Acc.'" target="_blank"><img src="http://capitalcity.combats.ru/i/inf.gif" title=" Инф. персонажа" alt="" border="0" height="11" width="12"></a>';
    $lines = file("http://capitalcity.combats.ru/inf.pl?login=".$Acc."&short=1");
    foreach($lines as $value)
    {
       list($var, $val) = split("\=",$value);
       $arr['some_key'] = 'some value';
       $arr[$var] = $val;
    }
    
    
    $level=$arr['level'];
    $align=$arr['align'];
    $klan=$arr['klan'];
    
    if (isset($arr['room_name']))
    {
    $room=$arr['room_name'];
    }
    else
    {
    $room=Нет в клубе;
    }
    
    $query="UPDATE dbl_users SET login_online='$login_on' WHERE user_name='$Acc'";
    mysql_query($query, $link) or die(mysql_error());
    $query="UPDATE dbl_users SET align='$align' WHERE user_name='$Acc'";
    mysql_query($query, $link) or die(mysql_error());
    $query="UPDATE dbl_users SET klan='$klan' WHERE user_name='$Acc'";
    mysql_query($query, $link) or die(mysql_error());
    $query="UPDATE dbl_users SET room_name='$room' WHERE user_name='$Acc'";
    mysql_query($query, $link) or die(mysql_error());
    $query="UPDATE dbl_users SET level='$level' WHERE user_name='$Acc'";
    mysql_query($query, $link) or die(mysql_error());
    }
    
    ?>
    Но этот скрипт обновляет всех пользователей который в таблице dbl_users, так вот как доработать скрипт чтобы читала 1 определенного персонажа, к примеру он вводил имя данного персонажа и именно его обновляло?!:bc:
     
  2. ArtKeep

    ArtKeep Писатель

    Регистр.:
    11 мар 2007
    Сообщения:
    7
    Симпатии:
    0
    Да и вообще поделитесь кто скриптами взаимодействующие с сombats.ru
     
  3. Christ

    Christ Постоялец

    Регистр.:
    24 ноя 2006
    Сообщения:
    62
    Симпатии:
    8


    Ну, во-первых, кавычки:
    $room=Нет в клубе; ===> $room='Нет в клубе';

    2) Ну у тебя ж все написано, убери цикл for() и будет все по одному пользователю! :)
    Или я них не понял сверхзадачу...
     
  4. tqwd

    tqwd Прохожие

    Ну так если надо одного пользователя, то пускай выбирает либо из BD сразу по его ID или нику (WHERE), либо выбирай из массива по ключу (param_name['key']).
     
Статус темы:
Закрыта.