Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Как правильно составить массив

Как правильно составить массив
var obj[0] = array('help': 1, 'overlay': 2),
obj[1] = array('help': 3, 'overlay': 4);
Ответ:
Сообщение от imedia
Как правильно составить массив
var arr = [
   {help: 1, overlay: 2},
   {help: 3, overlay: 4}
];
Вопрос: Получение массива данных с другой страницы

Есть ли возможность получить массив данных вида:
    "userId": 1,
    "id": 1,
    "title": "one",
    "body": "two" 

c другой страницы (по ссылке), на js и без использования фреймворков?
Ответ: justajoke,

ajax запрос можно реализовать и на чистом js

а массив лучше ввиде json передавать
Вопрос: Как заполнить массив не повторяющимися случайными числами?

Как заполнить массив не повторяющимися случайными числами?

Пробовал так

<script>

ArrRandomX= Array(0,1);

RandomX= Math.round(Math.random()*2);

top:
for (i=0; i<ArrRandomX.length; i++)
if (ArrRandomX[i] == RandomX)
{
RandomX = Math.round(Math.random()*2);
break top;
}

ArrRandomX[ArrRandomX.length]= RandomX;

alert(ArrRandomX);

</script>

не работает, выдает 0,1,0 и подобное, а надо 0,1,2. Вообще от break не могу разобраться работоспособности, только break 2; у меня работает, а надо переход к "top:"

просьба не отвечать типа а это что, это куда, запустите этот готовый код, и посмотри что выдает, если сообразите как до ума довести - пишите, спасибо.

возможно и ваш другой вариант кода посмотреть
Ответ: Math.floor(Math.random()*20)
Вопрос: Ajax - массив данных из базы (многоязычность)

Добрый день, помогите разобраться, пожалуйста, с технологией ajax

Вот что у меня есть:

При первой загрузки устанавливается язык по умолчанию. После, при выборе языка, в выпадающем списке, изменяется переменная сессии (LNG - типа язык) и инициализируется коннект к базе для обновления массивов переменных на выбранный язык: $text[], $nomer[] - mysql_fetch_array.
Коннект и заполнение проходят успешно, однако, сейчас, для установки нужного языка требуется редирект, что на сегодняшний день не очень интересно))

Пытаюсь сделать как-то так:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$( document ).ready(function(){
    $("#lan_select").mouseleave(function(){                        // "mouseleave" временно =)
        $.ajax({
            url: "/text.php",
            type: "POST",
            //data: {o0000001, o0000022},
            //data: {o0000001:'', o0000022:''},
            data: ({o0000001, o0000022}),
            dataType: "text",
            //success: function (o0000001, o0000022) {
            success: function (data) {
                //$('.0000001').text(data);
                //$('.0000022').text(data);
                $('.0000001').text(o0000001);
                $('.0000022').text(o0000022);
            }
        });
    });
});
А вытащить как-то так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
session_start();
    include "connect.php";
    //echo $text[array_search('0000001', $nomer)];          // - в массиве данные верные
    
    $_POST[o0000001] = $text[array_search('0000001', $nomer)];
    $_POST[o0000022] = $text[array_search('0000022', $nomer)];
    
 
    //echo $_POST[o0000001];     // - и тут все нормально, я что-то делал, текст печатался на нужном языке
    /*
    $m array(
        "o0000001" : $text[array_search('0000001', $nomer)],
        "o0000022" : $text[array_search('0000022', $nomer)]
    );
    */
    //$_POST[data] = $m;
    
    //echo $_POST['o0000001'];
    //echo $_POST['o0000022'];
Структура таблиц словарей - "interface_LNG":
id, nomer (текст - от 0000001 до nnnnnnn), text (текст), comments1(служебное поле 1), comments2 (служебное поле 2)


Что-то тяжело идет эта тема, помогите пожалуйста понять
Ответ: Спасибо за скрипт, правда он ругается на "foreach"($slova..". Я сделал немного по другому.
Если кому интересно то вот:

Java
1
2
3
4
5
6
7
$("#langsel").change(function(){
    $.getJSON('/text.php', function(data){
        $.each(data, function(nomer, text){
            $("."+nomer).html(text);
        });
    });
});
text.php
PHP
1
2
3
4
5
6
session_start();
    include "connect.php";
 
    $json = json_encode($textnomer);
    header("Content-type: text/json; charset=utf-8");
    echo $json;
connect.php
PHP
1
2
3
4
5
6
7
...
$interface_var = mysql_query("SELECT * FROM interface_".$_SESSION['lng']);
$interf = mysql_fetch_array($interface_var);
$textnomer[$interf['nomer']] = $interf['text'];
while($interf = mysql_fetch_array($interface_var)){
    $textnomer[$interf['nomer']] = $interf['text'];
}
Вопрос: Вывод массива данных через тег

Доброго времени суток!
Уважаемые знатоки обращаюсь к вам за помощью, ибо у самого мозги уже в кашу превратились из-за кода.

Прошу прощение за много текста.

Вопрос по DLE шаблонизатору
Есть значит некий файл news.php, выводит новости в готовый шаблон news.tpl, проблема в том, как бы я не старался прописать цикл while в файле news.php, вывести его на страницу не удаётся, вернее выводит только последнюю запись

Например,
Две новости в БД,
title = тест1, id =1, text=smart
title = тест2, id =2, text= qwerty


Вывод необходимо провести через теги:
{title} {text},
Т.е функция присваивания значения уже есть в шаблонизаторе:
$tpl->set('{title}', $news['title']);
Но как я уже описал выше цикл не может пройти через тег, как быть если не хочется в tpl файлах видеть php код, да и не правильно это.

Если именно эта тему уже обсуждалась, прошу кинуть в меня ссылкой и пнутт в её сторону
P.s пока с телефона, если информации недостаточно, постараюсь ещё описать или же завтра покинуть код!
Ответ: Уже ничего не заметил последнее твоё добавление.. Странно как-то в браузере страница форума отобразилась.. В новой версии Firefox прикольный стал кеш.. даже введённые в форму данные сохраняет
Вопрос: Flash + php + Mysql массивы данных

Добрый день. Пишу флэш приложение для вк. Соответственно надо работать с базой. Данные в БД скриптом я записывать могу , любое количество переменных, текста и чего угодно. Но как получить данные из БД и передать клиентскому приложению я не понимаю. Точнее не пойму как данные из запроса к mySQL формируются. Напишу более подробно что и как делаю:

ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function zapros(id_vk:int, num_vopros:int  , nomer_voprosa:int , COMPLETE:Function , ERROR:Function){ //функция запроса списка вопросов и ответов
            vars = new URLVariables;                                                                                                    
            vars['id'] = id_vk;
            vars['kolichestvo'] = num_vopros;
            
            
            
            
            request = new URLRequest("http://xyz.xyz/PHP/script.php"); 
            request.method = URLRequestMethod.POST;
            request.data = vars;
            
            loader = new URLLoader();
            loader.addEventListener(Event.COMPLETE, COMPLETE);
            loader.addEventListener(IOErrorEvent.IO_ERROR, ERROR);
            loader.load(request);
        }
        function initialize_fc(event:Event){
             trace(event.target.data);
        }
        function initialize_fc_e(event:Event){
             trace("Ошибка");
        }
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
 
//принимаем переменные от нашего клиентского приложения через метод передачи данных POST
 
 
$ID = $_POST['id'];
$KOL = $_POST['kolichestvo'];
 
//Соединяемся , выбираем базу данных
 
$db = 'BD';
$describe = 'table';
 
$Host = 'mysql.hostinger.ru';
$Login = 'user';
$Password = 'Hn28QG';
 
$link = mysqli_connect($Host, $Login, $Password, $db);
 
//Проверяем успешность соединения
 
if (!$link){
    printf("Невозможно соединиться с базой данных. Код ошибки: %s\n", mysqli_connect_error());
    echo "Это капец";
    exit;
}
 
 
$q="SELECT * FROM $describe where ('lvl', 'Trues') in ('$ID', '1')";
 
Вот собственно загвоздка тут. <---------
 
mysqli_close($link);
?>
Допустим у меня в таблице Table есть 2 столбца 'lvl' и 'Trues' и куча строчек. Мне нужны все строки которые подходят под мой запрос $q . Только я не пойму что этот запрос возвращает и как мне это дело обработать чтобы потом передать во Flash и распилить это всё на переменные. Я уже всё перерыл и куча всего есть. Но я не догоняю =) всё каким то странным языком объясняется. И циклы не понятно что делающие. Кто может на пальцах объяснить как это реализовать? Чтобы было понятно в какой итерации цикла что происходит и почему ) очень хочу это понимать а не просто спереть какой то код и везде его использовать не понимая как он работает.
Спасибо =)
Ответ:
ActionScript 3
1
ResultArr = event.target.data.split("_", 4);
вот такой функцией я эту строку на стороне флэша преобразую в массив. Получилось очень хорошо =) я правда только ответы получил. И этот метод не подойдёт если передавать много различных данных, если только не делать функцию перебора массива которая бы в зависимости от остатка элементов высчитывала к какому столбцу принадлежит элемент.
Пока обойдусь этим , жаль что данные нельзя получать сразу массивом ) без всех этих заморочек.
Вопрос: Спираль из массива данных

Есть массив чисел с переменной длинной и значениями.

Например такой: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

Как сделать вывод по спирали чтобы получилось чтото подобное?
1 10 9
2 11 8
3 12 7
4 5 6

Т.е вниз - вправо - вверх - влево, и по новой. Размер матрицы тоже будет различный в зависимости от длинны массива
Ответ: studyuser,
нет алгоритма по прежнему, как строить вашу матрицу и фибаначи тут не причём, есть массив определённой длины, из него надо получить нечто, как строить это нечто неизвестно почему так
Сообщение от studyuser
1 10 9
2 11 8
3 12 7
4 5 6
а не так например
1 10 9 8
2 11 12 7
3 4 5 6
а если 11 то как будет а если 3 или 2 или 1 или 19?
Вопрос: Спираль из массива данных на Javascript

Есть массив чисел с переменной длинной и значениями.

Например такой: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

Как сделать вывод по спирали чтобы получилось чтото подобное?
1 10 9
2 11 8
3 12 7
4 5 6

Т.е вниз - вправо - вверх - влево, и по новой. Размер матрицы тоже будет различный в зависимости от длинны массива
Ответ: studyuser,

1. поищите в гугле, или яндексе следующее: "Заполнение двумерного массива (матрицы) по спирали";
2. выберите подходящий вариант;
3. перепишите на JavaScript.

А как вывести матрицу на экран, думаю сообразите.
Вопрос: Сравнение двух массивов и вывод на экран их одинаковых элементов

Здравствуйте. Только начал изучать JavaScript. Хочу разобраться с вот такой задачкой: Заполнить два массива случайными числами; сравнить элементы массива; одинаковые элементы вывести на экран.
До чего дошел я:
Код Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script type="text/javascript">
    document.write("the first massiv:");
    var arr = []; //объявление массива
for (var i = 0; i < 10; ++i){
arr[i] = Math.round(Math.random()*100);  //заполнение случайными числами
document.write(arr[i]); //вывод массива на экран
}
document.write("the second massiv:")
var massiv = [];
for(var i = 0; i < 10; ++i){
massiv[i] = Math.round(Math.random()*100);
document.write(massiv[i]);
}
var b = []; // создаю 3-й массив, куда буду вносить одинаковые элементы 2-х массивов
for(var i = 0; i < 10; ++i){
    for(var j = 0; j < 10; ++j){ // создал 2 цикла для сравнения 2-х массивов.      
    
Вот и все до чего я додумался. Подскажите, пожалуйста, как правильно сравнить массивы и записать одинаковые элементы в 3-й массив.
Просьба от меня, по скольку я только начал учить этот язык, пожалуйста, комментируйте ваши варианты. И еще, как делать перенос строки в JS?
За ранее спасибо.
Ответ: А как можно сделать чтобы в массив добавлялся только один из 2-вох элементов?
Вопрос: jquery не правильно выводит массив

var count_input = 0;

$('#aa').on('click', '.add_m', function(){
count_input++;
var ptr = '<tr class="panel"><td>'+count_input+'</td><td class="sezon-l"><input name="add_sez['+count_input+'][]" type="text" maxlength="2"></td><td><a class="dele">-</a></td><td><table id="table'+count_input+'"><thead><td class="add"><a class="plus">+</a></td><td class="seria-l">Сер номер</td><td class="name-l">Наименование</td><td class="data-l">Дата</td></td></thead></table></td></tr& amp; gt;';
$(this).parent().after(ptr);
var count_inp = 0;
$('#table'+count_input+'').on('click', '.add', function(){
count_inp++;
var str = '<tr><td>'+count_inp+'</td><td class="seria-l"><input name="add_sez['+count_input+'][two][]" type="text" maxlength="2"></td><td class="name-l"><input name="" type="text"></td><td class="data-l"><input name="add_data[]" type="text" maxlength="10"></td></td><td><a class="del">x</a></td></tr>';
$(this).parent().after(str);
})
$('#table').on('click', '.del', function(){
$(this).parent().parent().remove();
})
})

$('#aa').on('click', '.dele', function(){
$(this).parent().parent().remove();;
})
});

Данный код выводит таблицу.
номер +
при нажатии на плюс появляется
+| Сер номер | Наименование | Дата
После нажатия на данный плюс появляются инпуты
Вот принцип вывода:
.................№ сер...Наименование......Дата
..................1234.....Пропрпопрыв.......2015
номер 1.......2134.....ПРпарапапыв......2014
..................12123....вфыфвфыфыв.....2013
--------------------------------------------------------------
.................№ сер...Наименование......Дата
..................34534.....Пропрпопрыв.......2015
номер 2......34545.....ПРпарапапыв......2014
..................34435....вфыфвфыфыв.....2013
-------------------------------------------------------------
Один нюанс, при выводе массива(это нужно чтоб правильно вставить в базу данных), все значения | № сер | Наименование | Дата | присваиваются тому номеру который был выведен последним. Т.е. если я выведу через jquery номер1 и номер2, затем начну выводить вторую часть таблицы ( № сер Наименование Дата ), вся эта часть приписывается к номер2, нужно чтоб номер1 присваивались свои значения, номер2 свои

Это сообщение отредактировал Alex-2120 - 31.08.2015 - 22:13
Ответ: Вообще, программирование подразумевает определенную четкость мышления. В том числе структурирование кода. Я тут потыкал твой код, ничего не изменял. Только "покрасивее" его сделал. В частности, отступы нормальные. Иначе вообще было не понятно, что где начинается и где заканчивается...

var count_input = 0;

$('#aa').on('click', '.add_m', function(){
count_input++;
var ptr = '<tr class="panel"><td>'+count_input+
'</td><td class="sezon-l"><input name="add_sez['+count_input+
'][]" type="text" maxlength="2"></td><td><a class="dele">-</a></td><td><table id="table'+count_input+
'"><thead><td class="add"><a class="plus">+</a></td><td class="seria-l">Сер номер</td><td class="name-l">Наименование</td>'+
'<td class="data-l">Дата</td></td></thead></table></td></tr& amp; amp; amp; gt;';

$(this).parent().after(ptr);
var count_inp = 0;
$('#table'+count_input+'').on('click', '.add', function(){
count_inp++;
var str = '<tr><td>'+count_inp+
'</td><td class="seria-l"><input name="add_sez['+count_input+
'][two][]" type="text" maxlength="2"></td><td class="name-l"><input name="" type="text">'+
'</td><td class="data-l"><input name="add_data[]" type="text" maxlength="10"></td></td><td><a class="del">x</a></td></tr>';
$(this).parent().after(str);
})
$('#table').on('click', '.del', function(){
$(this).parent().parent().remove();
})
})

$('#aa').on('click', '.dele', function(){
$(this).parent().parent().remove();;
})

// }); -- скобки из какого-то другого места


И если ты теперь точно также, т.е. более четко, структурируешь свои хотелки, то будет совсем хорошо :) Ну, хотя бы, для начала расставишь запятые в самом последнем абзаце своего описания... То тогда станет понятнее, что ты хочешь. И тогда кто-нибудь тебе сможет помочь.

И еще... Лучше все-таки переменные называть более осмысленно и значаще, чем созвучные count_inp & count_input.