X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

7 страниц V   1 2 3 4 5 6 7 >
Открыть тему
Тема закрыта
> Помогите найти ошибку в коде php
melihovgv_sf
melihovgv_sf
Topic Starter сообщение 4.8.2012, 15:03; Ответить: melihovgv_sf
Сообщение #1


Старожил
******

Группа: User
Сообщений: 1597
Регистрация: 25.7.2011
Поблагодарили: 0 раз
Репутация:   0  


--------Код php------------
[PHP]<?
function ShowTree($ParentID, $lvl) {

global $link;
//global $lvl;

$lvl++;

$sSQL = "SELECT * FROM content WHERE parent = " . $ParentID . " ORDER BY namemenu";

$result = mysql_query($sSQL, $link);

if (mysql_num_rows($result) > 0) {

echo("<UL>\n");
while ( $row = mysql_fetch_array($result) ) {

$ID1 = $row["id"];
$chpu = $row["chpu"];

echo("<li>");



echo"<a href=\"".$chpu.".html\">" . $row["namemenu"] . "</a>" ;




echo("</li>\n");
ShowTree($ID1, $lvl);
$lvl--;

}
echo("</UL>\n");
}

}

ShowTree(0, 0);

$ID1 = (isset($_GET['id']))?(int)$_GET['id']:1;
$sql2 = "SELECT * FROM `content` WHERE `id`=$ID1 LIMIT 1";//выбираем запись с id=переданный_параметр
$res2 = mysql_query($sql2) or die(mysql_error());

$row = mysql_fetch_array($res2);



mysql_close($link);

echo "<b>TITLE</b><br>";
echo $row['title']."<br>";
echo "<b>h1zagolovok<br></b>";
echo $row['h1zagolovok']."<br>";
echo "<b>Контент</b><br>";
echo $row['contents']."<br>";

?>
[/PHP]
-----htaccess---------------
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
--------------------------------

Код php формирует меню будущего сайта.
Меню отрисовывается нормально, проблема в следующем при выводе контента,титлов и т.д. почему-то выводится только первая страница, т.е. при переходе по меню выводится только первая страница.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ami_sf
Ami_sf
сообщение 4.8.2012, 19:59; Ответить: Ami_sf
Сообщение #2


Бывалый
****

Группа: User
Сообщений: 259
Регистрация: 28.11.2011
Поблагодарили: 0 раз
Репутация:   0  


melihovgv, т.е. выводится информация, у которой id=1 в базе?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
melihovgv_sf
melihovgv_sf
Topic Starter сообщение 4.8.2012, 22:10; Ответить: melihovgv_sf
Сообщение #3


Старожил
******

Группа: User
Сообщений: 1597
Регистрация: 25.7.2011
Поблагодарили: 0 раз
Репутация:   0  


да, именно)

---------- Сообщение добавлено в 22:10 ---------- Предыдущее сообщение размещено в 21:52 ----------

Для того, чтобы формировались чпу я убрал из строки кода get параметр и id. И получается, меню формируется, норм, а когда идет переход не осуществляется гет запрос. Как можно решить это?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ami_sf
Ami_sf
сообщение 4.8.2012, 22:38; Ответить: Ami_sf
Сообщение #4


Бывалый
****

Группа: User
Сообщений: 259
Регистрация: 28.11.2011
Поблагодарили: 0 раз
Репутация:   0  


(melihovgv_sf @ 5.8.2012, 01:10) *
да, именно)

А как выглядит урл, когда вы переходите на другую страницу?
(melihovgv_sf @ 4.8.2012, 18:03) *
$ID1*=*(isset($_GET['id']))?(int)$_GET['id']:1;

В этой части кода ищется id и присваивается числовое значение, но у вас видно там не число, если оно все время единицу присваивает.

---------- Сообщение добавлено в 20:38 ---------- Предыдущее сообщение размещено в 20:23 ----------

Замените это:
[PHP]echo"<a href=\"".$chpu.".html\">" . $row["namemenu"] . "</a>" ;[/PHP]
На это для второй страницы:
[PHP]echo"<a href=\"".$chpu.".php?id=2\">" . $row["namemenu"] . "</a>" ;[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
melihovgv_sf
melihovgv_sf
Topic Starter сообщение 4.8.2012, 22:48; Ответить: melihovgv_sf
Сообщение #5


Старожил
******

Группа: User
Сообщений: 1597
Регистрация: 25.7.2011
Поблагодарили: 0 раз
Репутация:   0  


http://test.ru/index.html перехожу http://test.ru/service.html

---------- Сообщение добавлено в 22:42 ---------- Предыдущее сообщение размещено в 22:40 ----------

Если вот так http://test.ru/service.php?id=3 то работает но не со всем, то что нужно.

---------- Сообщение добавлено в 22:43 ---------- Предыдущее сообщение размещено в 22:42 ----------

$ID1*=*(isset($_GET['id']))?(int)$_GET['id']:1;

Если бы сюда загнать chpu и чтобы на основе ее выводилось инфа.

---------- Сообщение добавлено в 22:48 ---------- Предыдущее сообщение размещено в 22:43 ----------

Но если делаю вот так
$chpu = (isset($_GET['chpu']))?(string)$_GET['chpu']:1;
$sql2 = "SELECT * FROM content WHERE `chpu`=$chpu LIMIT 1";//LIMIT 1выбираем запись с id=переданный_параметр

$res = mysql_query($sql2);

$row = mysql_fetch_array($res);

Контент вообще не выводится.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ami_sf
Ami_sf
сообщение 4.8.2012, 22:57; Ответить: Ami_sf
Сообщение #6


Бывалый
****

Группа: User
Сообщений: 259
Регистрация: 28.11.2011
Поблагодарили: 0 раз
Репутация:   0  


(melihovgv_sf @ 5.8.2012, 01:48) *
сли бы сюда загнать chpu и чтобы на основе ее выводилось инфа

Так можно теоретически, но просто с так как сейчас проще. Да и вы можете избежать вообще GET запроса, если каждой странице присвоите id.
Например для первой:
[PHP]
$ID1 = 1;
$sql2 = "SELECT * FROM `content` WHERE `id`=$ID1 LIMIT 1";//выбираем запись с id=переданный_параметр
$res2 = mysql_query($sql2) or die(mysql_error());
[/PHP]
Например для второй:
[PHP]
$ID1 = 2;
$sql2 = "SELECT * FROM `content` WHERE `id`=$ID1 LIMIT 1";//выбираем запись с id=переданный_параметр
$res2 = mysql_query($sql2) or die(mysql_error());
[/PHP]
и тд.

---------- Сообщение добавлено в 20:57 ---------- Предыдущее сообщение размещено в 20:51 ----------

(melihovgv_sf @ 5.8.2012, 01:48) *
Контент вообще не выводится.

Дак GET-запрос это не урл, а то что после ?. Например, site.ru?home=d, и гет запрос это ?home=d. Я вообщем не учитель я хз как объяснить :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
melihovgv_sf
melihovgv_sf
Topic Starter сообщение 4.8.2012, 23:00; Ответить: melihovgv_sf
Сообщение #7


Старожил
******

Группа: User
Сообщений: 1597
Регистрация: 25.7.2011
Поблагодарили: 0 раз
Репутация:   0  


[PHP]$ID1 = 1;
$sql2 = "SELECT * FROM content WHERE `id`=$ID1 LIMIT 1";
$res = mysql_query($sql2);
$row = mysql_fetch_array($res);

$ID1 = 2;
$sql2 = "SELECT * FROM `content` WHERE `id`=$ID1 LIMIT 1";
$res2 = mysql_query($sql2);
$res = mysql_query($sql2);
$row = mysql_fetch_array($res);[/PHP]

Если делаю вот так, выводится последняя запись.

---------- Сообщение добавлено в 23:00 ---------- Предыдущее сообщение размещено в 22:59 ----------

т.е. вторая запись, первая не выводится.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ami_sf
Ami_sf
сообщение 4.8.2012, 23:30; Ответить: Ami_sf
Сообщение #8


Бывалый
****

Группа: User
Сообщений: 259
Регистрация: 28.11.2011
Поблагодарили: 0 раз
Репутация:   0  


(melihovgv_sf @ 5.8.2012, 02:00) *
т.е. вторая запись, первая не выводится.

Да тут немного ошибся, если на странице должно выводится больше 1 записи, то лучше в базу добавить ещё один столбец, в котором будет указано к какой странице относится информация, а уже потом переменной ID! присваивать знамение столбца на определенной странице.

Хотя такая же проблема будет и с GET вариантом.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
melihovgv_sf
melihovgv_sf
Topic Starter сообщение 5.8.2012, 0:15; Ответить: melihovgv_sf
Сообщение #9


Старожил
******

Группа: User
Сообщений: 1597
Регистрация: 25.7.2011
Поблагодарили: 0 раз
Репутация:   0  


Можешь на примере показать, как это реализовать. Я уже месяц бьюсь над чпу и выводом)Сама структура, практически готова)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ami_sf
Ami_sf
сообщение 5.8.2012, 0:29; Ответить: Ami_sf
Сообщение #10


Бывалый
****

Группа: User
Сообщений: 259
Регистрация: 28.11.2011
Поблагодарили: 0 раз
Репутация:   0  


(melihovgv_sf @ 5.8.2012, 03:15) *
Можешь на примере показать, как это реализовать. Я уже месяц бьюсь над чпу и выводом)Сама структура, практически готова)

Тут все зависит от того, как у вас там все устроено. Вы хотите все текста поместить в одну таблицу и выводить их на разных страницах?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
7 страниц V   1 2 3 4 5 6 7 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Где на форуме найти начинающих seo-специалистов?
12 brigadirchik 1138 Сегодня, 10:42
автор: ЭдуардКоструба
Открытая тема (нет новых ответов) Написать универсальный движок для сайтов на PHP
10 BuxarNET 548 Вчера, 12:08
автор: EvilGomel
Открытая тема (нет новых ответов) Помогите советом как пробить ЯШУ для сайта Giffs.ru ?!
Что нужно докрутить у сайта, что бы ЯША не устоял ?
10 sinoptik89 482 20.10.2020, 22:24
автор: VinogradOFF
Открытая тема (нет новых ответов) Написать универсальный движок для сайтов на PHP
0 BuxarNET 173 18.10.2020, 6:58
автор: BuxarNET
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
42 qpPeW 19092 7.10.2020, 3:36
автор: GetUp


 



RSS Текстовая версия Сейчас: 30.10.2020, 17:36
Дизайн