Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2010, 10:14   #1
strannik
python developer
Пользователь Подтвердите свой е-майл
 
Аватар для strannik
 
Регистрация: 30.11.2006
Сообщений: 81
По умолчанию Гиперссылка и цикл.

Подскажите пожалуйста - такая проблема - есть база данных newbd и таблица winart (в таблице есть поле id с автоинкрементом) - также есть файл index.php (в нем делаю выборку из таблицы ЦИКЛОМ WHILE) - как все выбранное из таблицы по строчкам (первая запись - первая строка, вторая запись - вторая строка и т.д.) сделать гипперссылкой на тотже самый файл index.php. Грубо говоря в файле index.php из таблицы выбраны названия статей плюс номер статьи - как по нажатию на название статьи открывать в этом же файле index.php тело самой статьи.
Заранее большое спасибо!!!
ps. мучаюсь неделю уже
Границы расширяет тот, кто выходит за них.
strannik вне форума Ответить с цитированием
Старый 06.05.2010, 10:34   #2
kirosin
Форумчанин
 
Аватар для kirosin
 
Регистрация: 15.01.2010
Сообщений: 209
По умолчанию

покажи кусок кода с циклом
Все генитальное просто.
kirosin вне форума Ответить с цитированием
Старый 06.05.2010, 10:49   #3
strannik
python developer
Пользователь Подтвердите свой е-майл
 
Аватар для strannik
 
Регистрация: 30.11.2006
Сообщений: 81
По умолчанию

PHP код:
$mydb mysql_connect ("localhost","username","pass");
mysql_select_db ("newbd"$mydb);
$res mysql_query("select * from winart",$mydb);
$ar mysql_fetch_array($res);
do
{
echo (
$ar["title"]." "."[".$ar["id"]."]"."<br>"); 
}
while (
$ar mysql_fetch_array($res)); 
вот так делаю выборку циклом - название статьи плюс её номер
Границы расширяет тот, кто выходит за них.
strannik вне форума Ответить с цитированием
Старый 06.05.2010, 11:02   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

особо не вникая - примерно так
PHP код:
echo '<a href="url-'.$ar["id"].'.html">'.$ar["title"]." "."[".$ar["id"]."]"."</a><br>"); 
будет генерить ссылки вида url-4.html .... где 4 - номер статьи....
а потом уж их обрабатывайте как хотите
ADSoft вне форума Ответить с цитированием
Старый 06.05.2010, 11:50   #5
strannik
python developer
Пользователь Подтвердите свой е-майл
 
Аватар для strannik
 
Регистрация: 30.11.2006
Сообщений: 81
По умолчанию

ADSoft Спасибо что ответили - но я хотел бы немного другое - мне надо чтобы по ссылке пердавалась переменная id (номер статьи) на тот же php файл откуда и вызывается php код - с последующим открытием статьи НЕ ИЗ ФАЙЛА а из базы данных по переменной id
примерно так
PHP код:
 echo ("<a href=\"index.php?id=".$ar["id"]."\">".$ar["title"]." "."[".$ar["id"]."]"."</a><br>"); 
но после этого отображается последняя строка выборки - естественно гиперссылкой
Границы расширяет тот, кто выходит за них.
strannik вне форума Ответить с цитированием
Старый 06.05.2010, 12:05   #6
Vertexxx
Заблокирован
 
Регистрация: 10.04.2010
Сообщений: 145
По умолчанию

Вы хотите в индексе сделать ссылки, кликнув по которым можно было открыть требуемую статью по ее id? Тогда не лучше бы сделать так?

PHP код:
$mydb mysql_connect ("localhost","username","pass");
mysql_select_db ("newbd"$mydb);
$res mysql_query("select article, title from winart",$mydb);
$out='';
while(
$ar mysql_fetch_assoc($res))
{
  
$out .= "<h3 onclick=\"showHide()\">$ar['title']</h3>"// название статьи
  
$out .= "<div style=\"display:none\">$ar['article']</div>" //статья  
}
echo 
$out
Смысл понятен, я думаю?


УПД.:
Ну, если уж очень хочется гиперссылку, пожалуйста:
PHP код:
$out .= "<a href=\"index.php?$ar['id']\">$ar['title']</a>"

Последний раз редактировалось Vertexxx; 06.05.2010 в 12:13.
Vertexxx вне форума Ответить с цитированием
Старый 06.05.2010, 14:53   #7
MrJenika
Форумчанин
 
Аватар для MrJenika
 
Регистрация: 07.09.2009
Сообщений: 361
По умолчанию

если вам в том же окне надо то читайте про ajax
MrJenika вне форума Ответить с цитированием
Старый 06.05.2010, 19:16   #8
strannik
python developer
Пользователь Подтвердите свой е-майл
 
Аватар для strannik
 
Регистрация: 30.11.2006
Сообщений: 81
По умолчанию

да мне необходимо передать в то же окно - а средствами php не обойтись?
Vertexxx - ваш код не понял - из него максимум что сделал - это отображение названия статьи - объясните пожалуйста если не сложно - я как понял там ява скрипт
p.s. извините за глупые вопросы - просто новичек в этом
Границы расширяет тот, кто выходит за них.

Последний раз редактировалось strannik; 06.05.2010 в 19:23.
strannik вне форума Ответить с цитированием
Старый 06.05.2010, 21:54   #9
Vertexxx
Заблокирован
 
Регистрация: 10.04.2010
Сообщений: 145
По умолчанию

Цитата:
Сообщение от strannik Посмотреть сообщение
да мне необходимо передать в то же окно - а средствами php не обойтись?
Vertexxx - ваш код не понял - из него максимум что сделал - это отображение названия статьи - объясните пожалуйста если не сложно - я как понял там ява скрипт
p.s. извините за глупые вопросы - просто новичек в этом
Смысл такой, что подгружаются разом все статьи, но стиль у них по умолчанию таков, что они скрыты от глаз. При нажатии по названию статьи запускается JavaScript наподобие такого (специализирующиеся в этой области люди, возможно, знают лучший вариант)
Код HTML:
function showHide(par)
{
    if(par.parentNode.nextSibling.style.display=='none'){
        par.parentNode.nextSibling.style.display='block'; 
    }else{
        par.parentNode.nextSibling.style.display='none';
    }
    if(document.all){
        if(par.nextSibling.style.display=='none'){
            par.nextSibling.style.display='block'; 
        }else{
            par.nextSibling.style.display='none';
        }        
    }else{        
        if(par.nextSibling.nextSibling.style.display=='none'){
            par.nextSibling.nextSibling.style.display='block'; 
        }else{
            par.nextSibling.nextSibling.style.display='none';
        }
    }        
}
и открывает соответствующий div-блок со статьёй.
Vertexxx вне форума Ответить с цитированием
Старый 07.05.2010, 16:05   #10
kirosin
Форумчанин
 
Аватар для kirosin
 
Регистрация: 15.01.2010
Сообщений: 209
По умолчанию

я бы сделал приблизительно так:
Код:
$pub=$_GET['id']; //получаем значение id методом GET из ссылки
$mydb = mysql_connect ("localhost","username","pass"); 
mysql_select_db ("newbd", $mydb); 
$res = mysql_query("select * from winart",$mydb); 
$ar = mysql_fetch_array($res); 

if ($pub==false) //если значение GET пустое, публикуем список названий статей
{
do 
{ 
echo "<a href="index.php?id=.$ar["id"].">".ar["title"]."</a> "."[".$ar["id"]."]"."<br>";  //создаем ссылки вида http://myurl.com/index.php?id='номер статьи'
} 
while ($ar = mysql_fetch_array($res));
}
else
{
echo $ar['$pub']["text"]; //если значение GET содержит номер статьи, тогда публикуем статью с этим номером (проверить синтаксис*)
}
* - я плохо разбираюсь в синтаксисе, не уверен что правильно вытаскиваем из БД соответствующую статью... потому эту строку можно временно заменить на:
echo $pub;
чтобы видеть ошибки.
таким образом, если человек приходит по ссылке http://myurl.com/index.php, тогда он видит список статей, если по ссылке типа http://myurl.com/index.php?id=34, которую мы сгенерили в списке статей, тогда публикуется статья номер 34
Все генитальное просто.
kirosin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
гиперссылка KingSize Общие вопросы Delphi 7 05.05.2009 18:05
гиперссылка Neymexa Общие вопросы по Java, Java SE, Kotlin 5 17.03.2009 07:27
ГИПЕРССЫЛКА BAHTIYOR Microsoft Office Excel 9 09.01.2008 15:45
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34