Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 1
Регистрация: 06.05.2012
Сообщений: 106

передача значения

01.04.2013, 01:58. Показов 1068. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток уважаемые форумчане
Возникла интересная проблема, которую я к сожалению так и не смог решить.
Вывожу на странице a.php кнопки в так сказать в виде матрицы:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$result = mysql_query("SELECT * FROM `zakaz` WHERE `sektor`=$c1 ");
        
        //для записи первой цифры основного (первого) столбца
        for($this->i=0; $this->i < $a1; $this->i++)
        {
            //второй фор нужен для записи всех последующих символов
            for($this->j=0; $this->j < $b1; $this->j++)
            {
                $myrow = mysql_fetch_array($result);
                 array_reverse($myrow); //sort
                 
                 //если статус "0" - кнопка будет зеленая
                if($myrow["status"] == 0) 
                    echo "&ensp;<button class='green' id='green' onClick='init()' value='".$myrow['id']."' name='".$myrow['id']."'>".$myrow['id']."</button>";
                
                //если статус "1" - кнопка будет красная
                if($myrow["status"] == 1) 
                    echo "&ensp;<button class='red' id='red' onClick='no()'  value='".$myrow['id']."' name='".$myrow['id']."'>".$myrow['id']."</button>"; 
            }
            
            echo "<br/>";
        }

Нужно, что бы при нажатии на зеленую кнопку пользователь попадал на страницу с формой (b.php), в текстовое поле которой уже записано значение нажатой им кнопки. Я уже и так и этак пробовал - ничего не получается.
Пробовал уже вывести хотя бы alert с value или именем этой кнопки - выводило просто "1".

JavaScript
1
alert($('#red').attr("value"));
Миниатюры
передача значения  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.04.2013, 01:58
Ответы с готовыми решениями:

Передача значения
Здравствуйте! У меня такой вообще странный вопрос, есть скрипт точнее SQL запрос SELECT * FROM `afwor_tests` WHERE code_ay...

Передача значения переменной
Можно ли как-нибудь в одном файле задать значение переменной через форму и передать её в php в этом же файле? Или не в этом же,но без...

Передача значения переменной
Всем привет. Такой вот вопрос:как передать значения переменной из одного php файла в другой php файл?

17
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
01.04.2013, 02:17
а у вас что всего два ID на все элементы?
id - уникальный идентификатор. не как не может быть такого что бы у двух разных элементов был один id.
как понять какой элемент нужно брать при обращении к нему по id если их куча?


Цитата Сообщение от The_Ray Посмотреть сообщение
Пробовал уже вывести хотя бы alert с value или именем этой кнопки - выводило просто "1".
а что должно выводиться? у вас первый элемент с id = red имеет значение 1, он вам и вывел

получайте не по ид значение, а по this указателю на элемент, или же просто в функцию параметром передавайте сразу число.
1
1 / 1 / 1
Регистрация: 06.05.2012
Сообщений: 106
01.04.2013, 02:43  [ТС]
Знаю, но если через класс то ничего не поменяется.
Так мне нужно получать не значение id, а value или хотя бы name кнопки. В исходном коде страницы - оно прописывается, а вывести его не могу.
Миниатюры
передача значения  
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
01.04.2013, 11:41
Цитата Сообщение от The_Ray Посмотреть сообщение
Так мне нужно получать не значение id
Читайте ещё раз прошлый пост, там написано про ид.
У вас на скрине сколько ид со значением green а сколько с red?
а должно быть максимум 1!

Цитата Сообщение от The_Ray Посмотреть сообщение
В исходном коде страницы - оно прописывается, а вывести его не могу.
А где я скаал что оно не прописывается? Я сказал что у вас код с ошибкой так как ид дублируются.
1
1 / 1 / 1
Регистрация: 06.05.2012
Сообщений: 106
01.04.2013, 12:25  [ТС]
Да, про id прочитал невнимательно. Но даже если вместо id использовать class(его ведь можно присваивать много раз) то все равно ничего не поменяется и нажав на любую кнопку я получаю значение 1.
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
01.04.2013, 17:46
Вы плохо опять прочитали

Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
как понять какой элемент нужно брать при обращении к нему по id если их куча?
Если имя класса одно, то тот же вопрос возникает. Как понять какой элемент вы хотите получить и из какого элемента значение отправить. Вы выбираете по классу $('.red') - у вас будет массив, куча элементов, все которые имеют класс red.

Добавлено через 11 минут
передавайте так
PHP
1
echo "&ensp;<button class='green' id='green' onClick='init(".$myrow['id'].")' value='".$myrow['id']."' name='".$myrow['id']."'>".$myrow['id']."</button>";
ну и в функции init принимайте параметром.
либо
PHP
1
echo "&ensp;<button class='green' id='green' onClick='init(this)' value='".$myrow['id']."' name='".$myrow['id']."'>".$myrow['id']."</button>";
а в функции init у вас указатель на кнпоку будет
JavaScript
1
2
3
4
function init(el)
{
    var val = $(el).val()
...
1
1 / 1 / 1
Регистрация: 06.05.2012
Сообщений: 106
01.04.2013, 20:45  [ТС]
Спасибо за совет, сделал так как говорите, результат 'undefined'(
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
01.04.2013, 21:39
полный код бы и вывода строку и функции init или хотя бы часть где получаете значение в функции

Добавлено через 1 минуту
JavaScript
1
var val = $(el).attr('value')
для кнопки. я думал у вас поле input text
1
1 / 1 / 1
Регистрация: 06.05.2012
Сообщений: 106
01.04.2013, 22:36  [ТС]
Я уже и так пробовал, все равно 'undefined'.
Вот весь код

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<script type="text/javascript"> 
 
function init() {
  $('#green').bind( 'click', sayHello() );
  $grButton = $('#green').attr("value");
  alert($grButton);
}
function sayHello() {
  alert( "Заполните форму" );
  window.location.replace("http://localhost/test/forms.php");
}
 
function no(el) {
  $(el).bind( 'click', sayNo() );
 }
function sayNo(el) 
{
  var val = $(el).attr('value');
  alert(val);
}
 
</script>
</head>
<body>
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
/*Соединяемся с базой*/
    require_once("blocks/bd.php"); 
    $Connect = new Connect();
    $Connect->dbcon();
class func
{   
    public function write($a, $b, $c)
    {
        $a1 = $a;
        $b1 = $b;
        $c1 = $c;
 
        $result = mysql_query("SELECT * FROM `zakaz` WHERE `sektor`=$c1 ");
        
        //для записи первой цифры основного (первого) столбца
        for($this->i=0; $this->i < $a1; $this->i++)
        {
            //второй фор нужен для записи всех последующих символов
            for($this->j=0; $this->j < $b1; $this->j++)
            {
                $myrow = mysql_fetch_array($result);
                 array_reverse($myrow); //sort
                 
                 //если статус "0" - кнопка будет зеленая
                if($myrow["status"] == 0) 
                    echo "&ensp;<button class='green' id='green' onClick='init()' value='".$myrow['id']."' name='".$myrow['id']."'>".$myrow['id']."</button>";
                
                //если статус "1" - кнопка будет красная
                if($myrow["status"] == 1) 
                    echo "&ensp;<button class='red' id='red' onClick='no(".$myrow['id'].")'  value='".$myrow['id']."' name='".$myrow['id']."'>".$myrow['id']."</button>"; 
            }
            
            echo "<br/>";
        }       
    }
}
?>
<br/><br/>
<table border="1" height="200" width="900" align="center">
<tr>
<td colspan="5">
<center>
</center>
</td></tr>
<tr>
<td>
<center>
    <?php 
    $func = new func();
        $func->write(10, 3, 1);
    ?>
</center>
</td>
 
....
с функцией init() пока не работаю. разбираюсь на no()
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
01.04.2013, 23:46
PHP
1
onClick='no(".$myrow['id'].")'
тут же не this передача, а просто числа, у него нет атрибутов.
JavaScript
1
$(el).bind( 'click', sayNo() );
это вообще зачем?
JavaScript
1
2
3
function no(id) {
  alert(id)
 }
1
1 / 1 / 1
Регистрация: 06.05.2012
Сообщений: 106
01.04.2013, 23:52  [ТС]
Спасибо большое как оказалось все просто, а я накрутил..
А можно же будет потом значение id записать в этом же js скрипте в переменную и передать ее на др. страницу?
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
02.04.2013, 00:00
Что мешает записать значение в переменную?

Ну а передавать get/post/cookie
1
1 / 1 / 1
Регистрация: 06.05.2012
Сообщений: 106
02.04.2013, 00:27  [ТС]
Спасибо
0
1 / 1 / 1
Регистрация: 06.05.2012
Сообщений: 106
03.04.2013, 21:08  [ТС]
Доброго времени суток. Теперь проблема при передаче(

Пробовал передавать переменную 2мя способами:

1й)
zak.php
JavaScript
1
2
3
4
5
6
7
function init(el) {
    var mesto = el;
    window.location.href = 'http://localhost/test/buy.php?mesto'+mesto;
 
    alert( "Заполните форму" );
    window.location.replace("http://localhost/test/buy.php?mesto");
}

2й способ:

JavaScript
1
2
3
4
5
function init(el) {
    var mesto = el;
    $.get('http://localhost/test/buy.php', {mesto:mesto});
    alert( "Заполните форму" );
    window.location.replace("http://localhost/test/buy.php");
выводит ошибу Undefined variable: mesto

проверяю в в buy.php существование этой переменной - существует, но в поле формы куда записывается значение этой переменной - пусто и через alert в обоих случаях - выводит undefined.
PHP
1
2
3
4
5
6
7
8
9
10
<?php 
   if (isset($_GET['mesto']))
   {
        echo "qwe";
    $mesto =$_GET['mesto'];
 
   }
   echo "<script>alert(".$_GET['mesto'].");</script>";
   echo "<td><input type='text' name='mesto' disabled='disabled' value='".$mesto."'/></td>";
?>
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
03.04.2013, 22:37
Цитата Сообщение от The_Ray Посмотреть сообщение
window.location.href = 'http://localhost/test/buy.php?mesto'+mesto;
пропущен знак =
1
1 / 1 / 1
Регистрация: 06.05.2012
Сообщений: 106
03.04.2013, 22:47  [ТС]
не помогло, результат такой же

Добавлено через 2 минуты
все, разобрался, спасибо большое за помощь

Добавлено через 3 минуты
интересно только почему с $.get не работает
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
03.04.2013, 23:03
ну так get не сделает переход на новую страницу, он просто отправит ajax запрос
Цитата Сообщение от The_Ray Посмотреть сообщение
{mesto:mesto}
не советую так делать, вот ты можете сказать что тут имя а что переменная?
и зачем вообще нужна временная переменная? почему сразу el не передавать?
1
1 / 1 / 1
Регистрация: 06.05.2012
Сообщений: 106
03.04.2013, 23:42  [ТС]
пробовал и сразу el передавать, так там вообще тьма-тьмущая ошибок была. Я так понял, что с get лучше работать, если все происходит на одной странице
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.04.2013, 23:42
Помогаю со студенческими работами здесь

Передача значения из value в php
Добрый вечер. Столкнулся с проблемой. Я получаю из базы, id для value. Как мне его передать в PHP скрипт? Нужно передать id выбранной...

Передача значения в переменною
Доброго времени суток. Скажите, в чем может быть проблема class A extends MY_Controller { public $test; .... ...

Передача значения из PHP в JS
Всем добрый день. Нужно передать значение переменной из PHP В JS. Перейдем к делу: &lt;head&gt; &lt;script language =...

Передача значения переменной из формы
Здравствуйте. Простите за глупый вопрос, ответ на который в гугле найти не смог:

передача значения из списка на страницу
Здравствуйте существует список в html &lt;ul&gt; &lt;li&gt;&lt;a href=&quot;for_web_develop.php&quot;&gt;Item 41&lt;/a&gt;&lt;/li&gt; допустим у этого элемента списка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru