Функция

Discussion in 'PHP' started by Allen21, 13 Mar 2012.

  1. Allen21

    Allen21 New Member

    Joined:
    25 Nov 2011
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    как сделать, что бы значение $side1 = $user->id.";";
    которое вставляется: $db->query("insert into battle(start,timeout,side1,side2,kick_time,hp,data,type,hall,battle,module) values('".time()."','".(60*5)."','".$side1."','".$side2."','".$kick_time."','".$hp."','".$data."','bot','$loc','arm','zver')");

    вставлялось лиж однажды, ибо вставляется много раз, если например за side1 будет два человека, будет такого вида: 10670;10688; -это айдишники, вот если яснее, как сделать, что бы вставлялся лишь один айди, рэндомно, или либо как?!
     
  2. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Ребят, читайте больше русской литературы! Из того что, вы пишете ничего не понятно!
     
    #2 Chaak, 13 Mar 2012
    Last edited: 13 Mar 2012
  3. Allen21

    Allen21 New Member

    Joined:
    25 Nov 2011
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    есть некое значение вида: $side1 = $user->id.";";
    оно вставляется в БД и имеет вид: $db->query("insert into battle(start,timeout,side1,side2,kick_time,hp,data ,type,hall,battle,module) values('".time()."','".(60*5)."','".$side1."','".$side2."','".$kick_time."','".$hp."','".$data."','bot','$loc','arm','zver')");

    Хочу что бы это значение, которое вставляется в БД, вставлялся в одном екзмемпляре, тоесть, иногда это значение в БД выглядит так: 10670;10688; , но я хочу что бы это значение вставлялось лишь однажды, или даже можно было ограничить кол-во вставляемых символов: 6 и имело вид лишь одного значения: 10670; или любое другоей.
     
  4. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    $side1 substr($side10strpos($side1';'));
    Это нужно вставить перед запросом
     
  5. Allen21

    Allen21 New Member

    Joined:
    25 Nov 2011
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    прошу прощение, поставить перед $side1 = $user->id.";"; ?
     
  6. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    После
     
  7. Allen21

    Allen21 New Member

    Joined:
    25 Nov 2011
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    всеравно вставляет, но в таком виде: 1067210670; между идами нет пробела, крашится, как сделать, что бы после например первого айдишника и знака" ;" ничего больше не писалось?
     
  8. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Сразу перед
    PHP:
     $db->query("insert into battle(start,timeout,side1,side2,kick_time,hp,data ,type,hall,battle,module) values('".time()."','".(60*5)."','".$side1."','".$side2."','".$kick_time."','".$hp."','".$data."','bot','$loc','arm','zver')");
    вставь
     
  9. Allen21

    Allen21 New Member

    Joined:
    25 Nov 2011
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    вставил, но всеравно, пишет два айдишника без ";"
     
  10. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Включаю навыки экстрасенса.
    PHP:
    $data substr($data0strpos($data';'));
    нп
     
  11. Allen21

    Allen21 New Member

    Joined:
    25 Nov 2011
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    а причем здесь data?

    у меня просто есть уже значение data в скрипте)

    $data = $side1.$side2;

    дело в том, что скрипт стопорится, когда введены именно параметры side1, которые вставляются но без ";"
    мне бы что бы любой параметр который ставится после ";" отсеивался либо вообще не вставлялся
     
  12. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    мб попробуешь
     
  13. Allen21

    Allen21 New Member

    Joined:
    25 Nov 2011
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    попробывал, просто данные которые ввелись в поле data, стали без ";".

    я уже тебе голову заморочил, но это где-то уже очень близко, у меня в поле side1 такое значение: 1067210670;

    я вот думаю, если перед первым значением поставить ";" а после второго нет, то и второй перс в самой игре отсеется автоматом...
     
  14. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Может просто
    PHP:
    $arr explode(";",$side1);
    На выходе массив $arr где ключи 0 1 и т.д это разные ид

    Можно просто взять и в базу тыкать $arr[0]
    Или если рендамно то
    PHP:
      // Генерируем случайный индекс массива 
      
    $index rand(0,count($arr) - 1); 
      
    // Выводим случайный элемент массива 
      
    echo $arr[$index];
     
  15. Allen21

    Allen21 New Member

    Joined:
    25 Nov 2011
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0

    а как это сделать точнее?))
    свои значение подставить или просто вставить это?

    и дело в том, что рендом тут не нужен, ибо получается если на клетке три разных айди, то бот должен выбрать кого-то одного из них!
     
    #15 Allen21, 14 Mar 2012
    Last edited: 14 Mar 2012
  16. Allen21

    Allen21 New Member

    Joined:
    25 Nov 2011
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    если есть, кто сможет взяться за этот скриптик, может со мной связаться, оплачу работу, 571пять99пять52
     
Loading...
Similar Threads - Функция
  1. GAiN
    Replies:
    4
    Views:
    6,877