powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Помогите соединить php и JavaScript
2 сообщений из 2, страница 1 из 1
Помогите соединить php и JavaScript
    #36644118
Berenold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток. Занялся изучением javaScript. И вот решил написать следующую штуку:
show/hide для текста который хранится в базе данных. Изначально мы не знаем сколько записей у нас в таблице и все нужно делать через цикл.
Таблица базы:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
CREATE TABLE `ben` (
  `id` int( 10 ) unsigned NOT NULL AUTO_INCREMENT,
  `post` longtext NOT NULL,
  `bentitle` varchar( 255 ) NOT NULL,
  `benpost` longtext NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT= 11  DEFAULT CHARSET=cp1251;
"post" - просто текст который пишется перед скрываемым,
"bentitle" - название услуги(собственно по нажатию которой и должен разворачиваться скрытый текст)
"benpost" - описание услуги(show/hide текст)

config.php:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<?php
$db_host = 'localhost';
$db_user = 'root';
$db_pasw = 'Angelbk';
$db_name = 'syit2';
// Соединяемся, выбираем базу данных 
$db_info = mysql_connect($db_host, $db_user, $db_pasw) or die("Could not connect : " . mysql_errno() . " " . mysql_error());
mysql_select_db($db_name, $db_info) or die("Select database not successfull : " . mysql_errno() . " " . mysql_error()); 
?>

funct.php:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<?php 
require_once("config.php"); 

//указываем нужную кодировку 
mysql_query ("set character_set_client='cp1251'"); 
mysql_query ("set character_set_results='cp1251'"); 
mysql_query ("set collation_connection='cp1251_general_ci'"); 

function gettable($tablename) //функция которая осуществляет чтение записи в таблице выводит ее на экран
{
    //результирующий набор данных хранится в переменной $sql
    $sql = mysql_query("SELECT * FROM $tablename");
    $i =  0 ; 
    while ($tablerows = mysql_fetch_row($sql))
    {
    //теперь в цикле для каждой полученной строки сделаем вывод 
    //$tablerows[ 1 ] соответствует полю "первичный текст" 
    //$tablerows[ 2 ] соответствует полю "заголовок услуги" 
    //$tablerows[ 3 ] соответствует полю "текст услуги" 
	echo("$tablerows[1]<br>$tablerows[2]<br>$tablerows[3]");
    }
}
?>

inex.php:
Код: plaintext
1.
2.
3.
4.
<?php 
require_once("funct.php"); 
gettable(ben);
?>
Все выводится сколько бы записей я не делал все нормально.

После чего взял вот такой JavaScript
java.php:
Код: plaintext
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.
<style>
.myViewLinks { display: none; }
</style>

<script>
 // Обворачиваем функцию toggle в локальное замыкание:
var toggle = function() {
    // Ссылка на текущий открытый div:
    var currentDiv = null;

    // Функция для "раскрытия" элемента:
    function open(divElement) {
        // Тут можно добавить эффект "плавного" открытия:
        divElement.style.display = "block";
        currentDiv = divElement;
    }

    // Функция для "закрытия" элемента:
    function close(divElement) {
        // Тут можно добавить эффект "плавного" закрытия:
        divElement.style.display = "none";
        currentDiv = null;
    }

    // Возвращаем функцию, которая будет вызываться по toggle()
    return function(divID) {
	// Получаем элемент из DOM
	var divElement = document.getElementById(divID);
	// Если такой есть:
	if (divElement) {
	    // Если уже открыт этот div, то просто закрываем.
	    if (divElement === currentDiv) {
	        close(currentDiv);
	    // Если открыт другой div, то закрываем и открываем текущий:
	    } else if(currentDiv != null) {
	        close(currentDiv);
	        open(divElement);
	    // Иначе - просто открываем:
	    } else open(divElement);
	}
    }
  // Вызываем нашу "обертку", теперь toggle() вызывает функцию, описанную по "return"
  }();
</script>


<a href="javascript://" onClick="toggle('div1');return false;">Блок скрытого текста один</a>
<div class="myViewPost" id="div1">
Сдесь содержится текст который показывается и скрывается</div>
<br />

<a href="javascript://" onClick="toggle('div2');return false;">Блок скрытого текста два</a>
<div class="myViewPost" id="div2">
Сдесь содержится текст который показывается и скрывается
</div>
Опять таки все нормально работает открывается и закрывается.
Попробовал соединить funct.php и java.php получилась следующее:
funct_java.php
Код: plaintext
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.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
<style>
.myViewLinks { display: none; }
</style>

<script language="JavaScript">
 // Обворачиваем функцию toggle в локальное замыкание:
var toggle = function() {
    // Ссылка на текущий(current) открытый div:
    var currentDiv = null; 

    // Функция для "раскрытия" элемента:
    function open(divElement) {
        // Тут можно добавить эффект "плавного" открытия:
        divElement.style.display = "block";
        currentDiv = divElement;
    }

    // Функция для "закрытия" элемента:
    function close(divElement) {
        // Тут можно добавить эффект "плавного" закрытия:
        divElement.style.display = "none";
        currentDiv = null;
    }

    // Возвращаем функцию, которая будет вызываться по toggle()
    return function(divID) {
	// Получаем элемент из DOM
	var divElement = document.getElementById(divID);
	// Если такой есть:
	if (divElement) {
	    // Если уже открыт этот div, то просто закрываем.
	    if (divElement === currentDiv) {
	        close(currentDiv);
	    // Если открыт другой div, то закрываем и открываем текущий:
	    } else if(currentDiv != null) {
	        close(currentDiv);
	        open(divElement);
	    // Иначе - просто открываем:
	    } else open(divElement);
	}
    }
  // Вызываем нашу "обертку", теперь toggle() вызывает функцию, описанную по "return"
  }();
</script>



<?php 
require_once("config.php"); 
 
mysql_query ("set character_set_client='cp1251'"); 
mysql_query ("set character_set_results='cp1251'"); 
mysql_query ("set collation_connection='cp1251_general_ci'"); 

function gettable($tablename) //функция которая осуществляет чтение записи в таблице выводит ее на экран
{
    //результирующий набор данных хранится в переменной $sql
    $sql = mysql_query("SELECT * FROM $tablename");
    $i =  0 ; 
    while ($tablerows = mysql_fetch_row($sql))
    {
	$i=$i+ 1 ;
	echo("
	    $tablerows[1]
        <a href="$i" onClick="toggle('$tablerows[2]');return false;">$tablerows[2]</a>
        <div class="myViewLinks" id="$tablerows[ 2 ]">
		    <br>
		    $tablerows[3]
     		<br>
        </div>
        ");
    }
}
?>

соответственно переделываем
index.php:
Код: plaintext
1.
2.
3.
<?php 
require_once("funct_java.php"); 
gettable(ben);
?>
Вместо списка который мне нужно получить я получаю пустую страницу. помогите пожалуйста соединить эти два скрипта.
PS. Простите что так много текста просто хотел как можно подробнее описать все.
...
Рейтинг: 0 / 0
Помогите соединить php и JavaScript
    #36644374
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
	echo("
	    $tablerows[1]
        <a href=\"$i\" onClick=\"toggle('$tablerows[2]');return false;\">$tablerows[2]</a>
        <div class=\"myViewLinks\" id=\"$tablerows[ 2 ]\">
		    <br>
		    $tablerows[3]
     		<br>
        </div>
        ");
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Помогите соединить php и JavaScript
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]