Войти
OFFLINE / Окно в реальностьПросмотров: 4,425

Нужна помощь "тыжпрограммистов".

Допустим у меня есть сайт.
На одной из страниц у меня подключен скрипт.
jQuery.ajax({ url: "http://api.unit-online.ru/items?type=%D0%BE%D1%80%D1%83%D0%B6%D0%B8%D0%B5", dataType: "jsonp" }).done(function (result) {
jQuery("#nonlinecount1").html(result.count);
бла
бла
бла
a = jQuery("#nonlinePPS").html();
jQuery("#nonlinePPS").html(a+ "" + result.items.name+" ["+result.items[i].level+"]"+"<a href=\"http://unit-online.ru/item?id="+result.items[i].id+"\"target=\"_blank\"> <img src=http://блаблабла/ico_info.gif></a><br>");
В левой части страницы мы видим вот это http://petromi.com/get/eah4F6960de220ea0011
Как видно из кода, при нажатии на значок информации мы попадаем на http://unit-online.ru/item?id= +id ствола, например http://unit-online.ru/item?id=79
Теперь допустим что в правой части страницы у меня есть фрейм, в котором лежит:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Инфомация о предмете</title>
<style>
#content {
бла
}
.item-info {
бла
}
.common-params {
бла
}
.common-params div, .spec-params div {
бла
}
.item-name {
бла
}
.item-img {
бла
}
</style>
</head>
<body>
<script src="http://www.бла/js/jquery.js"></script>
<table>
бла бла
</table>
<script>

$.ajax({ url: "http://api.unit-online.ru/item", dataType: "jsonp", data: { id: 771 } }).done(function (data) {
if (data.status == "ok") {
var item = data.item;
var info = $("#content .item-info");
info.find(".item-name").text(item.name);
info.find(".item-img").html('<img alt="" src="' + item.image + '">');
var params = $('<div>');
for (var i = 0; i < item.params.length; ++i) {
if (item.params[i].name.lastIndexOf("Клетки", 0) === 0) {
info.find(".spec-params").append(
$('<div>').text(item.params[i].name + ": " + item.params[i].value)
).toggle();
} else {
params.append($('<table>').append(
$('<tr>').append(
$('<td>').text(item.params[i].name)).append(
$('<td class="value">').text(item.params[i].value))
)
);
}
}
info.find(".common-params").append(params);
$("#content .progress").toggle();
info.toggle();

} else if (data.status == "fail") {
$("#content").text("Отсутсвует информация о предмете с id = 771.");
}
});

</script>
</body>
</html>
В этом фрейме мы видим что-то похожее на http://petromi.com/get/eah4kC71eeb920ea0311 , только в других цветах/шрифтах.
Собственно, в чём мне нужна помощь?
Хотелось бы чтобы ([i]при нажатии на значок информации мы попадаем на http://unit-online.ru/item?id= +id ствола, например http://unit-online.ru/item?id=79
), а нужно чтобы при нажатии id предмета передавался в скрипт во фрейме $.ajax({ url: "http://api.unit-online.ru/item", dataType: "jsonp", data: { id: 771 } }).done(function (data) {.
Если это вообще возможно, у меня не хватает знаний чтобы понять как это сделать. Если вы знаете как это сделать/ как сделать иначе, но с похожим эффектом, то пожалуйста напишите код/ дайте ссылку на литературу по данному вопросу/ на видео-урок.
P.S. Не нужно писать типо "читай про фреймы и скрипты", я это и так пытаюсь делать, но либо я тупой, либо не там ищу.

Re: Нужна помощь "тыжпрограммистов".

1) Узнать что такое JSON и зачем оно надо - complete
2) Установить Denwer - жду пока с оф. сайта пришлют ссылку на почту. Долго чо-то не приходит. Да, в папке "спам" смотрел.
3) Суперпользователи и права в UNIX-системах - complete
4) Пытался понять что же это такое многомерный массив с типом "stdClass Object", буду пытаться дальше
5) Узнать разницу между echo и print_r() - complete
6) gettype() в первом варианте функции возвращает "string", после работы json_decode() возвращает "object".

Думаю что наша "строка" на самом деле выглядит примерно вот так
http://petromi.com/get/eadnot504eff50ec8811
http://petromi.com/get/eadnnW62aed300ec8811
Это чтобы было наглядно видно что на каком "уровне" лежит.
А добраться к примеру до типа оружия можно теоритически вот так echo $type->item[0]->subtype;
Но это не точно, всё завтра, а то через 6 часов вставать на пары.

Re: Нужна помощь "тыжпрограммистов".

для NightAssasin:
Вот ты о курсовых заговорил, прям как-будто знал что я сегодня курсач защитил

Вдруг кому-то интересно что же там такое http://my-files.ru/73xahl

Re: Нужна помощь "тыжпрограммистов".

*теоретически

Re: Нужна помощь "тыжпрограммистов".

для -TRickSTeR-:
2. не ими моск, ставь XAMPP
денвер разве не умер?
чего то там версии софта староваты, не?

4. ты же посмотрел на вывод print_r(get_file("api.unit-online.ru/item?id=".$id));
там же массив в массиве ;)

6. вот он и говорит тебе, что это не array, а нечто более сложное - см. п.4.

Re: Нужна помощь "тыжпрограммистов".

6) gettype() ты попробовал,
а почему не захотел попробовать другие типы получать?

мне казалось, что это интересно
я бы сначала потрогал settype()
и попробовал сложить числа со строкой,
например так:
$a = "5";
$b = false;
settype($b, "int");
echo $a.$b;

ну и в других забавных вариантах

Re: Нужна помощь "тыжпрограммистов".

для -TRickSTeR-:
2) openserver

Re: Нужна помощь "тыжпрограммистов".

18 Марта 2016 02:25, boromotor [17] :
для -TRickSTeR-:
2) openserver
убейся нахер об стену!
удивлён, что они в этот опенсервер ещё VK-музыку не впендюрили

Re: Нужна помощь "тыжпрограммистов".

для Da Boogie Woogie:
Если тут - прими запрос в скайпе, пожалуйста.

Re: Нужна помощь "тыжпрограммистов".

Не могу найти как преобразовать object в string например, это вообще возможно?)

Re: Нужна помощь "тыжпрограммистов".

для -TRickSTeR-:
всё возможно.
только в данном случае тебе придётся разбирать эти массивы

Re: Нужна помощь "тыжпрограммистов".

для Da Boogie Woogie:
у нас там лишние эти [0],[1] - нам эта информация только мешает.
значит надо простёшим циклом брать парамс разбирать и укладывать.
всё в рамках одного цикла, по ресурсозатратам, это будет очень легко и быстро,
а главное красиво и ооочень удобно для дальнейшей работы

Спойлер

Выводит: Array ( [0] => N; [1] => N; [2] => N; [3] => N; [4] => N; [5] => N; [6] => N; [7] => N; [8] => N; [9] => N; [10] => N; [11] => N; [12] => N; [13] => N; [14] => N; [15] => N; [16] => N; [17] => N; )

Re: Нужна помощь "тыжпрограммистов".

уродливый код.
а потому по определению ничего вменяемого из него не получится.

переделывай.

Re: Нужна помощь "тыжпрограммистов".

для Da Boogie Woogie:
переделываю, то же самое выходит.
А что конкретно не так?

Re: Нужна помощь "тыжпрограммистов".

попробуй перестать отвлекаться на ерунду и действовать согласно плана работ.

по плану, после того как ты научился забирать информацию с сервера,
ты должен уложить в БД список всех стволов,
потом видимо следует хорошенько подумать какая будет структура таблицы в БД,
как она будет индексироваться,
а уже потом по списку будешь забирать отдельно информацию по каждому стволу и укладывать в соответствующую строку БД.

Re: Нужна помощь "тыжпрограммистов".

для Da Boogie Woogie:
ты должен уложить в БД список всех стволов,
Я так понимаю это таблица с двумя полями:
id
name

так?

Спойлер

Re: Нужна помощь "тыжпрограммистов".

для -TRickSTeR-:
ну для начала видимо так.
но структуру таблицы тебе придётся тщательно продумать до того, как ты начнёшь укладывать в неё другие данные

ну и механизм подключения к БД тоже хорошенько продумать - ты же будешь постоянно к этой БД обращаться,
так что имеет смысл уложить это в функцию, а то и в отдельный файл

Re: Нужна помощь "тыжпрограммистов".

для Da Boogie Woogie:
Походу меня осенило, у нас в принципе всего одна таблица, так?
В ней ну примерно 25 полей, первым делом мы заполняем только id и name, потом мы берем из нее каждый id и дописываем соответствующие параметры в оставшиеся поля, так?

Re: Нужна помощь "тыжпрограммистов".

для -TRickSTeR-:
ты раз за разом игнорируешь то, что я пишу,
а потом заявляешь, что тебя осенило

Re: Нужна помощь "тыжпрограммистов".

для Da Boogie Woogie:
я не игнорирую=) просто я тупой

Re: Нужна помощь "тыжпрограммистов".

залил я значит в ту же папку файл connection.php
Спойлер


пишу
Спойлер

Пишет "Соединение успешно установлено", но в базу скрипт ничего не заносит.
Ну думаю проверю в чем прикол
Спойлер

Выдает "Соединение успешно установленоНе удалось выбрать базу данных"
Название бд перепроверил 100500 раз и руками писал и копировал, ничего не помогает.
По старинке же всё нормально работает.
« 2 3 4 5 6