Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Таблица в php

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Полина
Отправлено: 01 Мая, 2014 - 11:01:12
Post Id



Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




У меня есть таблица, в которой находятся данные из phpmyadmin. Мне надо сделать так, чтобы при нажатии на ячейку первого столбца html таблицы, id выбранной записи где-то сохранялось и после могло бы использоваться js для получения других связанных данных из бд. Помогите, если не трудно.
 
 Top
IGORtrue
Отправлено: 01 Мая, 2014 - 13:18:12
Post Id



Частый гость


Покинул форум
Сообщений всего: 177
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




Я так понял, что вы вывели данные в таблицу, тут проблем нет.
В js не силён, вот пример нашёл:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. <table>
  3.   <tr onclick="SetBackGround(this)"><td>1</td><td>2</td><td>3</td></tr>
  4.   <tr onclick="SetBackGround(this)"><td>4</td><td>5</td><td>6</td></tr>
  5.   <tr onclick="SetBackGround(this)"><td>7</td><td>8</td><td>9</td></tr>
  6. </table>
  7. <script>
  8.   function SetBackGround(sender)
  9.   {
  10.     var cells = sender.getElementsByTagName("td");
  11.     for (var i = 0; i <= cells.length - 1;i++)
  12.     {
  13.       cells[i].style.backgroundColor = "#b9ffb9";
  14.     }
  15.   }
  16. </script>
  17.  

Наверное onclick можно поставить на ячейку, на всю строку.

(Отредактировано автором: 01 Мая, 2014 - 13:18:55)

 
 Top
Полина
Отправлено: 03 Мая, 2014 - 07:41:46
Post Id



Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




Эм.. я наверно не так объяснила..
у меня есть html таблица написанная с помощью php
PHP:
скопировать код в буфер обмена
  1.  
  2. // выбираем все значения из таблицы "Contacts"
  3.             $qr_result = mysql_query("SELECT * FROM user")
  4.               or die(mysql_error());
  5.          
  6.             // выводим на страницу сайта заголовки HTML-таблицы
  7.             echo '<table border="1">';
  8.            echo '<thead>';
  9.            echo '<tr>';
  10.            echo '<th>ФИО</th>';
  11.            echo '<th>Пол</th>';
  12.        echo '<th>Род деятельности</th>';
  13.            echo '<th>Город</th>';
  14.            echo '</tr>';
  15.            echo '</thead>';
  16.            echo '<tbody>';
  17.            // выводим в HTML-таблицу все данные клиентов из таблицы MySQL  <script language=''javascript''>$(".p1").val(2);</script>
  18.            while($data = mysql_fetch_array($qr_result)){
  19.               echo '<tr>';
  20.               echo '<td class = "p" style="cursor: pointer">' . $data['fio'] . '</td>';
  21.               echo '<td>' . $data['pol'] . '</td>';
  22.               echo '<td>' . $data['det'] . '</td>';
  23.                   echo '<td>' . $data['gorod'] . '</td>';
  24.               echo '</tr>';
  25.           }
  26.          
  27.             echo '</tbody>';
  28.            echo '</table>';


еще в js есть такой код
CODE (javascript):
скопировать код в буфер обмена
  1.  $(".p").click(function(){
  2.     $("#dan_o_pol").css("display","block");
  3.     $("#spisok_tests").css("display","block");
  4.         $("#on10").css("display","block");
  5.         $("#on1").css("display","none");
  6.         $("#on2").css("display","none");
  7.         $("#on3").css("display","none");       
  8.         $("#on4").css("display","none");       
  9.         $("#on5").css("display","none");       
  10.         $("#on6").css("display","none");
  11.         $("#on7").css("display","none");
  12.         $("#on8").css("display","none");
  13.         $("#on9").css("display","none");
  14.         $("#r_test").css("display","none");
  15.  });

с его помощью отображается все что мне нужно. но я не знаю как сделать так, чтобы при выборе одной строки таблицы отображались данные связанные с id данной строки.
 
 Top
IGORtrue
Отправлено: 03 Мая, 2014 - 08:47:46
Post Id



Частый гость


Покинул форум
Сообщений всего: 177
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




Так, да, мне кажется правильно так.
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. <tr onclick="SetBackGround(this)">
  3.  

Вешаем онклик на строку вашей таблицы, по нажатию на неё вызываем функцию, получаем id строки, а дальше допустим отправляем аякс запрос к php скрипту.
 
 Top
Полина
Отправлено: 04 Мая, 2014 - 17:09:34
Post Id



Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




А как мы получим id? С помощью чего? и откуда, если мы его не присваиваем? я думала есть функция с помощью которой можно автоматически присваивать id ну или присваивать id переменную в цикле?
 
 Top
peters
Отправлено: 05 Мая, 2014 - 10:48:27
Post Id


Гость


Покинул форум
Сообщений всего: 90
Дата рег-ции: Янв. 2014  


Помог: 7 раз(а)




ну вставьте этот id в атрибут тега tr, например, для каждой строки таблицы:
CODE (html):
скопировать код в буфер обмена
  1. <tr class="clickable" id="trid_'.$data['id'].'"


а на jquery уже пишете:
CODE (javascript):
скопировать код в буфер обмена
  1. $('.clickable').click(function() {
  2.  var id = $(this).attr("id").substr(5);
  3.   //вот ид строки на которую кликнули
  4.  //дальше пишите что вам нужно, например аякс запрос и передаем этот ид
  5.  
  6. });
 
 Top
Полина
Отправлено: 07 Мая, 2014 - 07:44:24
Post Id



Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




Спасибо большое))
У меня еще вопрос)
Как вывести значение переменной в div с помощью jquery??
 
 Top
Zuldek
Отправлено: 07 Мая, 2014 - 08:58:10
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




CODE (javascript):
скопировать код в буфер обмена
  1. $("#my_div").html('значение');
 
 Top
Полина
Отправлено: 07 Мая, 2014 - 09:08:20
Post Id



Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




еще такой вопрос)
есть ajax запрос
CODE (javascript):
скопировать код в буфер обмена
  1. $.ajax({
  2.     url: "dan_o_pol.php",
  3.     type: "POST",
  4.     data: {id: id},
  5.              success: function (data) {
  6.    
  7.      if (data == 0) {alert("Во время обработки запроса произошла ошибка. Повторите запрос.");}
  8.   else{
  9.  
  10.   $("#dan1").html(dan1);
  11.   $("#dan2").html(dan2);
  12.   $("#dan3").html(dan3);
  13.   $("#dan4").html(dan4);
  14.   }}});


и есть пхп документ

PHP:
скопировать код в буфер обмена
  1. include ('bd.php');
  2. $id = $_POST['id'];
  3. $sql_query = "SELECT * FROM user WHERE id_user='".$id."'";
  4. $sql = mysql_query($sql_query);
  5. if($sql){
  6. $arr = mysql_fetch_assoc($sql);
  7.  
  8. $dan1 = $arr['fio'];
  9.    
  10. $dan2 = $arr['pol'];
  11.  
  12. $dan3 = $arr['det'];
  13.  
  14. $dan4 = $arr['gorod'];  
  15. echo "<script language=''javascript''>var dan1 = $dan1;</script>";
  16. echo "<script language=''javascript''>var dan2 = $dan2;</script>";
  17. echo "<script language=''javascript''>var dan3 = $dan3;</script>";
  18. echo "<script language=''javascript''>var dan4 = $dan4;</script>";
  19.  
  20. }



Вот почему данные не выводятся??
 
 Top
Zuldek
Отправлено: 07 Мая, 2014 - 09:13:57
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




А где они у вас должны выводится?
CODE (html):
скопировать код в буфер обмена
  1. <div id=dan1></div>
  2. <div id=dan2></div>
  3. <div id=dan3></div>
  4. <div id=dan4></div>

Этой разметки из вашего кода не видно.
Как и переменной dan1 в js:
CODE (javascript):
скопировать код в буфер обмена
  1.   $("#dan1").html(dan1);

...

CODE (javascript):
скопировать код в буфер обмена
  1.     $.ajax({
  2.         url: "dan_o_pol.php",
  3.         type: "POST",
  4.         data: {id: id},
  5.                  success: function (data) {
  6.        
  7.          if (data == 0) {alert("Во время обработки запроса произошла ошибка. Повторите запрос.");}
  8.       else{
  9.      
  10.       $("#dan1").html(dan1);
  11.       $("#dan2").html(dan2);
  12.       $("#dan3").html(dan3);
  13.       $("#dan4").html(dan4);
  14.       if(!(dan1 &&  dan2 && dan3 && dan4)) alert('У меня нет переменных dan1,dan2,dan3, dan4 ! Что ты от меня хочешь, женщина?!');
  15.       }}});

(Отредактировано автором: 07 Мая, 2014 - 09:24:26)

 
 Top
Полина
Отправлено: 07 Мая, 2014 - 09:17:12
Post Id



Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




Есть html документ в котором находятся пустые эти дивы
(Добавление)
В пхп есть
PHP:
скопировать код в буфер обмена
  1. echo "<script language=''javascript''>var dan1 = $dan1;</script>";

тут же вроде создается dan?
 
 Top
Zuldek
Отправлено: 07 Мая, 2014 - 09:45:30
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Открываем firebug
Console->ShowSMLHttpRequests->on
Идём на страницу, где отрабатывает

смотритм по ушедшему заросу POST на вкладке Response что вам отвечает сервер. Все данные записываются в переменную data:
Цитата:
CODE (javascript):
скопировать код в буфер обмена
  1.          if (data == 0) {alert("Во время обработки запроса произошла ошибка. Повторите запрос.");}

Поэтому ещё раз спрашиваю, что вы ждете от записи
Цитата:
$("#dan1").html(dan1);

?
Браузер понятия не имеет о том, какие там у вас на сервере в js-скриптах определены переменные, он получает текст ответа (блок данных) сервера, в вашем случае в переменную data.
Чтобы получить с сервера параметры и их значение с сервера по ajax-запросу, обычно используется json(http://ru[dot]wikipedia[dot]org/wiki/JSON ), который парсится на стороне клиента, чтобы получить структурированные данные. Идём читаем, вникаем в примеры.

Как альтернатива json можно, если вам нужен только html, отдаваемый сервером, передать в ответе этот html. При этом нужно понимать, что JS-код не исполняется на сервере и если js у вас рендерит html, то в ответ вы получите эти js-скрипты, а не сгенерированный ими html.

(Отредактировано автором: 07 Мая, 2014 - 10:03:38)

 
 Top
Полина
Отправлено: 07 Мая, 2014 - 09:58:03
Post Id



Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




есть таблица
-------------------------------- --------
| id_user | fio | pol | det | gorod |
-------------------------------- --------
| 1 |Ира| ж | - |Иркутск|
-------------------------------- ---------

надо что бы в html выводились эти данные в отдельных дивах.
 
 Top
Zuldek
Отправлено: 07 Мая, 2014 - 10:01:44
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




 
 Top
Полина
Отправлено: 07 Мая, 2014 - 10:20:28
Post Id



Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




я не просила писать за меня. все написано и работает, все кроме отправки переменной из пхп в js.
(Добавление)
Все что отдал пхп находится в переменой data/
что бы вытащить несколько переменных из data есть много вариантов..
Например в пхп можно слить данные в строку с разделителем
PHP:
скопировать код в буфер обмена
  1. $dan1 = $arr['fio'];
  2.  
  3. $dan2 = $arr['pol'];
  4.  
  5. $dan3 = $arr['det'];
  6.  
  7. $dan4 = $arr['gorod'];
  8.  
  9. $input_dan .= $dan1;
  10. $input_dan .= '||';
  11. $input_dan .= $dan2;
  12. $input_dan .= '||';
  13. $input_dan .= $dan3;
  14. $input_dan .= '||';
  15. $input_dan .= $dan4;
  16.  

На выходе получишь строку вида Сергей Петрович
Васильков||мужской||нет||иркутск

А уже при выводе на сайте разбить ее по разделителю на массив


CODE (javascript):
скопировать код в буфер обмена
  1. success: function (data) {
  2.  
  3. if (data == 0) {alert("Во время обработки запроса произошла ошибка.
  4. Повторите запрос.");}
  5. else{
  6. var myarr = data .split("||");
  7. $("#dan1").html(myarr[0]);
  8. $("#dan2").html(myarr[1]);
  9. $("#dan3").html(myarr[2]);
  10. $("#dan4").html(myarr[3]);
  11.  
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB