as3 php mysql Как получить значение переменной

Discussion in 'PHP' started by uShtorm, 23 Mar 2011.

  1. uShtorm

    uShtorm New Member

    Joined:
    22 Mar 2011
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    Уже долго ищу в интернете ответ на свой вопрос, но сколько не пробовал найденных вариантов, ничего не получается.

    У меня есть, допустим, 6 переменных (uid, d1, d2, d3, d4, d5), передаваемые из as3 в php в mysql. Переменные заносятся в бд (с этим проблем нет). Но не могу сделать так, чтобы значения этих переменных (а именно d1, d2, d3, d4, d5) передались обратно, в as3. Помогите пожалуйста...

    Заинтересовался as3 недавно, поэтому не владею глубокими познаниями в нем. (как в общем то и php)... Поэтому надеюсь, что кто-нибудь откликнется, и поможет с кодом.

    Вот отрывок php кода.

    Code:
    $result = mysql_query("SELECT * FROM silares WHERE uid='$uid'");
    mysql_fetch_array($result);
    echo "d1=".$row['d1']."&d2=".$row['d2']."&d3=".$row['d3']."&d4=".$row['d4']."&d5=".$row['d5'].;
    Заранее спасибо за помощь.
     
  2. uShtorm

    uShtorm New Member

    Joined:
    22 Mar 2011
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    Ну да, там uid - уникальный, он заранее задается, поэтому из бд только одна строка должна быть.. вот.. а как получить значения d1, d2, d3, d4, d5 в as3 (во flash), не знаю..
     
  3. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Какой в этом смысл - гонять переменные туда-сюда - если они не изменяются?
    PS. AJAX
     
  4. Fuckel

    Fuckel Banned

    Joined:
    16 Jan 2008
    Messages:
    274
    Likes Received:
    59
    Reputations:
    6
    Если у тебя uid уникальный, то и возвратить должен один ряд значений.
    PHP:
    $result mysql_query("SELECT * FROM silares WHERE uid='$uid' LIMIT 1");
    $row mysql_fetch_array($result);
    echo 
    "d1=" $row['d1'] . "&d2=" $row['d2'] . "&d3=" $row['d3'] . "&d4=" $row['d4'] . "&d5=" $row['d5'];
    Нет?
     
  5. uShtorm

    uShtorm New Member

    Joined:
    22 Mar 2011
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    krypt3r, потенциально, приложение многопользовательское и хотелось бы работать с сохраненными результатами.

    Fuckel, да-да. Т.е. финальный php код, возвращающий ряд значений должен быть таким, как вы написали? Эм.. спасибо. А как передать(или получить..) значения в as3?
     
  6. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    Ну в php делай вывод в виде XML или JSON и получай в AS это. Либо просто строку с разделителями и парси нужные данные.
     
  7. uShtorm

    uShtorm New Member

    Joined:
    22 Mar 2011
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    LStr1ke, оу.. а можно поподробнее?
     
  8. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    Ну предположим php вернул такой результат:
    123:::414:::John:::Ololo:::1241123

    Где 1 элемент (123) - значение d1, второй (414) - d2 и т.д.

    В AS3
    var queryStr:String = "123:::414:::John:::Ololo:::1241123"; // Ответ от php
    var param:Array = queryStr.split(":::", 5);
    В результате получим массив param, где:
    param[0] = 123 (d1)
    param[1] = 414 (d2)
    ... и т.д.

    Но это неграмотный вариант. Гораздо лучше использовать XML или JSON. Я рекомендую копать в сторону JSON там на выходе получаем объект, с которым намного легче работать.


    Главный недостаток получать так данные - это разделитель. Например если это используется для сохранения и вывода каких то текстовых данных пользователя (например имя собаки в игре). То если пользователь укажет в имя собаки такое - "-:::ThIs:Is:My:Dog:::-", то при получение этих данных от php, наличие нашего разделителя :)::) в переменной собьет элементы массива param. Это конечно зависит от выбранного разделителя, но если данных много, например чтобы получить какието грамадные данные с окружением, например в самом начале игре, то ты замучаешься следить за ключами массива param, определяя где же именно значение нужной тебе переменной. )
     
    #8 LStr1ke, 24 Mar 2011
    Last edited: 24 Mar 2011
  9. uShtorm

    uShtorm New Member

    Joined:
    22 Mar 2011
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    LStr1ke, спасибо :)
    А как в AS3 , перед
    получить эту самую строку("123:::414:::John:::Ololo:::1241123") от php?
     
  10. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    Кстати еще в as3 есть класс URLVariables погугли, возможно с ним тебе намного легче работать.

    Нету под рукой Flash, чтобы проверить.
    PHP:
    var request:URLRequest = new URLRequest ("http://tvoisait/script.php"); // На этом сайте должен быть crossdomain.xml (погугли)
    var loader:URLLoader = new URLLoader (request);
    loader.addEventListener(Event.COMPLETEonComplete);

    function 
    onComplete (event:Event):void {
    var 
    queryStr:String event.target.data//Ответ от php
    }
    и погугли на URLVariables(), URLRequest(), URLLoader()
    Там все есть и с примерами.
    А также гугли AS3 JSON
     
  11. uShtorm

    uShtorm New Member

    Joined:
    22 Mar 2011
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    Всем спасибо, вопрос решен.
     
Loading...
Similar Threads - mysql получить значение
  1. GAiN
    Replies:
    3
    Views:
    7,382