Реклама на сайте Advertise with us

Хелп нид php

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

php

С нами с 09.10.06
Сообщения: 3706
Рейтинг: 2410


Передовик Master-X (16.01.2010)
Ссылка на сообщениеДобавлено: 11/04/08 в 10:39       Ответить с цитатойцитата 

сабжик::::
Код:

$file = file_get_contents("./template/main.html");
$result = mysql_query("SELECT id,name FROM `content` WHERE type=1");
$ss = $file;
while($al = mysql_fetch_array($result)){
   $ss = str_replace(array("{id}","{name}"), array(html_entity_decode($al['id']), html_entity_decode($al['name'])),$ss);
}
   echo $ss;


В шаблоне
Код:
<a href="zakoni_{id}.html">{name}</a>


Проблема в том что выводится только ОДИН пост,
Код:
$al['name']

здесь все извлекается но вот
Код:
echo $ss;
выводит только одно, вроде бы понимаю почему но не могу догнать как вывести все??? icon_sad.gif

Всем ответившим по делу максимальный рейтинг.

IPhosters.com - любые решения для Вас (виртуалы от $4.99, vps от $11.99, дедики от $95)

0
 

Гражданин планеты Земля

С нами с 30.03.03
Сообщения: 7217
Рейтинг: 2185

Ссылка на сообщениеДобавлено: 11/04/08 в 10:44       Ответить с цитатойцитата 

так попробуй... точечка перед равно.

Код:
while($al = mysql_fetch_array($result)){
   $ss .= str_replace(array("{id}","{name}"), array(html_entity_decode($al['id']), html_entity_decode($al['name'])),$ss);
}


Последний раз редактировалось: wMaster (11/04/08 в 10:45), всего редактировалось 1 раз

Гыыы

1
 



С нами с 27.06.07
Сообщения: 289
Рейтинг: 247

Ссылка на сообщениеДобавлено: 11/04/08 в 10:44       Ответить с цитатойцитата 

echo занеси внутрь фигурной скобки

1
 

Гражданин планеты Земля

С нами с 30.03.03
Сообщения: 7217
Рейтинг: 2185

Ссылка на сообщениеДобавлено: 11/04/08 в 10:49       Ответить с цитатойцитата 

У тебя здесь еще один косяк, ты $ss присваиваешь шаблон перед циклом.
И этой строкой ты его перезаписываешь в первом же цикле.

$ss = str_replace(array("{id}","{name}"), array(html_entity_decode($al['id']), html_entity_decode($al['name'])),$ss);

так нужно

Код:

$file = file_get_contents("./template/main.html");
$ss = '';
$result = mysql_query("SELECT id,name FROM `content` WHERE type=1");
while($al = mysql_fetch_array($result)){
   $ss .= str_replace(array("{id}","{name}"), array(html_entity_decode($al['id']), html_entity_decode($al['name'])), $file);
}
   echo $ss;

Гыыы

1
 

php

С нами с 09.10.06
Сообщения: 3706
Рейтинг: 2410


Передовик Master-X (16.01.2010)
Ссылка на сообщениеДобавлено: 11/04/08 в 10:52       Ответить с цитатойцитата 

если echo поставить в цикле то выводятся все новости НО каждая новость в отдельной шаблоне, 5 новостей и 5 шабонов на странице одна под другой. если использоваться конкатенацию то вапще беда получаится icon_sad.gif

терь вот так код исправил:

Код:

$result = mysql_query("SELECT id,name FROM `content` WHERE type=1");
while($al = mysql_fetch_array($result)){
   $ss = str_replace(array("{id}","{name}"), array(html_entity_decode($al['id']), html_entity_decode($al['name'])),$file);
}
echo $ss;


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

IPhosters.com - любые решения для Вас (виртуалы от $4.99, vps от $11.99, дедики от $95)

0
 

Гражданин планеты Земля

С нами с 30.03.03
Сообщения: 7217
Рейтинг: 2185

Ссылка на сообщениеДобавлено: 11/04/08 в 10:56       Ответить с цитатойцитата 

Поставь сейчас точку перед равно, я привел выше корректный код.

Гыыы

1
 

php

С нами с 09.10.06
Сообщения: 3706
Рейтинг: 2410


Передовик Master-X (16.01.2010)
Ссылка на сообщениеДобавлено: 11/04/08 в 10:59       Ответить с цитатойцитата 

wMaster с точкой ситуация такая:
1
3

происходит наложение шаблонов icon_sad.gif

IPhosters.com - любые решения для Вас (виртуалы от $4.99, vps от $11.99, дедики от $95)

0
 

Гражданин планеты Земля

С нами с 30.03.03
Сообщения: 7217
Рейтинг: 2185

Ссылка на сообщениеДобавлено: 11/04/08 в 11:07       Ответить с цитатойцитата 

ты в точности сделал как ниже? icon_confused.gif
Код:
$file = file_get_contents("./template/main.html");
$ss = '';
$result = mysql_query("SELECT id,name FROM `content` WHERE type=1");
while($al = mysql_fetch_array($result)){
   $ss .= str_replace(array("{id}","{name}"), array(html_entity_decode($al['id']), html_entity_decode($al['name'])), $file);
}
   echo $ss;


код верен, не знаю тогда в чем может быть еще дело.

Гыыы

1
 



С нами с 27.06.07
Сообщения: 289
Рейтинг: 247

Ссылка на сообщениеДобавлено: 11/04/08 в 11:07       Ответить с цитатойцитата 

тс, я сказал тебе верный вариант по коду, если что-то не так с отображением, то это уже вопросы к реализации шаблона, в студию его, чтоли

1
 

php

С нами с 09.10.06
Сообщения: 3706
Рейтинг: 2410


Передовик Master-X (16.01.2010)
Ссылка на сообщениеДобавлено: 11/04/08 в 11:10       Ответить с цитатойцитата 

Код:

$file = file_get_contents("./template/main.html");
$ss = '';
$result = mysql_query("SELECT id,name FROM `content` WHERE type=1");
while($al = mysql_fetch_array($result)){
   $ss .= str_replace(array("{id}","{name}"), array(html_entity_decode($al['id']), html_entity_decode($al['name'])), $file);
}
   echo $ss;


теперь вот так, каждая новость в отдельном шаблоне.
ну вот конструкция, которая в шаблоне:
Код:
<strong><a href="zakoni_{id}.html">{name}</a></strong>


Teacher-X точка перед равно или echo за циклом это одно и тоже icon_smile.gif

IPhosters.com - любые решения для Вас (виртуалы от $4.99, vps от $11.99, дедики от $95)

0
 



С нами с 27.06.07
Сообщения: 289
Рейтинг: 247

Ссылка на сообщениеДобавлено: 11/04/08 в 11:18       Ответить с цитатойцитата 

_s_[sov] писал:
Код:
<strong><a href="zakoni_{id}.html">{name}</a></strong>


Teacher-X точка перед равно или echo за циклом это одно и тоже icon_smile.gif


да ладно?

по сабжу: убери из шаблона <strong></strong> и сделай так:
Код:

   echo '<strong>';
$file = file_get_contents("./template/main.html");
$ss = '';
$result = mysql_query("SELECT id,name FROM `content` WHERE type=1");
while($al = mysql_fetch_array($result)){
   $ss .= str_replace(array("{id}","{name}"), array(html_entity_decode($al['id']), html_entity_decode($al['name'])), $file);
   echo $ss;
}
   echo '</strong>';

1
 

« ... full on ... »

С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686

Ссылка на сообщениеДобавлено: 11/04/08 в 11:47       Ответить с цитатойцитата 

Если шаблон состоит из одной строки
Код:
<strong><a href="zakoni_{id}.html">{name}</a></strong>

то тут правильно написали, нужна конкатенация.

Если шаблон состоит из нескольких схожих строк:
Код:
<strong><a href="zakoni_{id}.html">{name}</a></strong>
<strong><a href="zakoni_{id}.html">{name}</a></strong>
<strong><a href="zakoni_{id}.html">{name}</a></strong>
<strong><a href="zakoni_{id}.html">{name}</a></strong>

то str_replace заменяет все {id} и {name} каждый раз, а не по очереди в каждой строке, поэтому и выводится только последний пост.

Покажи полностью шаблон, собака точно там зарыта! :-)

Power of the lime madness...

1
 

php

С нами с 09.10.06
Сообщения: 3706
Рейтинг: 2410


Передовик Master-X (16.01.2010)
Ссылка на сообщениеДобавлено: 11/04/08 в 11:56       Ответить с цитатойцитата 

Код:

$ss = "";
$result = mysql_query("SELECT id,name FROM `content` WHERE type=1");
while($al = mysql_fetch_array($result)){
   $ss1 = str_replace("{id}", html_entity_decode($al['id']), $file);
   $ss1 = str_replace("{name}", html_entity_decode($al['name']), $ss1);
$ss.=$ss1;
}
   echo $ss;


но это тоже выводит каждую новость в отдельном шаблоне.

Причем тут шаблон?
Ну вот он
Код:

<p align="justify">

  <strong><a href="zakoni_{id}.html">{name}</a></strong>
   
  </p>

IPhosters.com - любые решения для Вас (виртуалы от $4.99, vps от $11.99, дедики от $95)

0
 

« ... full on ... »

С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686

Ссылка на сообщениеДобавлено: 11/04/08 в 12:17       Ответить с цитатойцитата 

_s_[sov]:
C шаблоном теперь понятно, просто чтобы знать все известные/неизвестные уравнения.

Цитата:
но это тоже выводит каждую новость в отдельном шаблоне.

Т.е., ты хочешь чтобы было примерно так в результате, насколько я понял?

Код:
<p align="justify">
<strong><a href="zakoni_1.html">Name 1</a></strong>
<strong><a href="zakoni_2.html">Name 2</a></strong>
<strong><a href="zakoni_3.html">Name 3</a></strong>
</p>


А шаблон был в одном файле. Если так, то шаблон придётся изменить вот таким образом:

Код:
<strong><a href="zakoni_{id}.html">{name}</a></strong>


А в пыхе вот так:

Код:
$file = file_get_contents("./template/main.html");
$result = mysql_query("SELECT id,name FROM `content` WHERE type=1");
$ss = '<p align="justify">';
while($al = mysql_fetch_array($result))
{
   $ss .= str_replace(array("{id}","{name}"), array(html_entity_decode($al['id']), html_entity_decode($al['name'])), $file);
}
$ss .= '</p>';
echo $ss;

Power of the lime madness...

1
 

php

С нами с 09.10.06
Сообщения: 3706
Рейтинг: 2410


Передовик Master-X (16.01.2010)
Ссылка на сообщениеДобавлено: 11/04/08 в 12:27       Ответить с цитатойцитата 

Этот вариант выводит все в разных шаблонах. Я переделал, получилось вот что
Код:

$ss = ""; $textLnk = "";$textLnk2 = "";
$result = mysql_query("SELECT id,name FROM `content` WHERE type=1");
while($al = mysql_fetch_array($result)){
$textLnk.=html_entity_decode($al['id']);
$textLnk2.=html_entity_decode($al['name']);
$textLnk2.="<br>";
}
$ss = str_replace("{id}", $textLnk, $file);
$ss = str_replace("{name}", $textLnk2, $ss);

echo $ss;


эта беда выводит все в 1 шаблоне, но трабла, все новости под одной линкой и ссылка вида:
http://www.sat.com/zakoni_13.html
вместо
http://www.sat.com/zakoni_1.html
http://www.sat.com/zakoni_3.html

IPhosters.com - любые решения для Вас (виртуалы от $4.99, vps от $11.99, дедики от $95)

0
 

« ... full on ... »

С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686

Ссылка на сообщениеДобавлено: 11/04/08 в 12:39       Ответить с цитатойцитата 

Цитата:
эта беда выводит все в 1 шаблоне, но трабла, все новости под одной линкой и ссылка вида

Ты в $textLnk забиваешь все айдиншники в цикле, в $textLnk2 все тайлы и потом делаешь 1 замену всего и получается что строка
Код:
<strong><a href="zakoni_{id}.html">{name}</a></strong>

превращается в:
Код:
<strong><a href="zakoni_123.html">Name1Name2Name3</a></strong>


Я выше вариант написал, чем он не подходит-то? Про результат я правильно понял, нужно чтобы было так?
Код:
<p align="justify">
<strong><a href="zakoni_1.html">Name 1</a></strong>
<strong><a href="zakoni_2.html">Name 2</a></strong>
<strong><a href="zakoni_3.html">Name 3</a></strong>
</p>

Power of the lime madness...

1
 

php

С нами с 09.10.06
Сообщения: 3706
Рейтинг: 2410


Передовик Master-X (16.01.2010)
Ссылка на сообщениеДобавлено: 11/04/08 в 12:42       Ответить с цитатойцитата 

да, так. пойду пробовать твой вариант, а то я уже через регулярки стал ссылки делить icon_smile.gif

IPhosters.com - любые решения для Вас (виртуалы от $4.99, vps от $11.99, дедики от $95)

0
 

« ... full on ... »

С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686

Ссылка на сообщениеДобавлено: 11/04/08 в 12:48       Ответить с цитатойцитата 

_s_[sov]:
Попробуй ещё шаблонизаторы, есть довольно лёгкие, простые и удобные, вроде Phemplate или Xtemplate, есть понавороченнее, например известный Smarty. Штука дико удобная и полезная - PHP код не смешивается с HTML, каждую часть можно править отдельно друг от друга, очень просто интегрируется (в твоём случае даже шаблон почти менять не придётся). И не будет возникать такой путаницы с кодом, логика будет простая и прочная!

Power of the lime madness...

1
 

php

С нами с 09.10.06
Сообщения: 3706
Рейтинг: 2410


Передовик Master-X (16.01.2010)
Ссылка на сообщениеДобавлено: 11/04/08 в 12:55       Ответить с цитатойцитата 

я щас до того досижу что инсталирую смарти, Corex твой вариант выводит все в разных шаблонах.

IPhosters.com - любые решения для Вас (виртуалы от $4.99, vps от $11.99, дедики от $95)

0
 

« ... full on ... »

С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686

Ссылка на сообщениеДобавлено: 11/04/08 в 13:03       Ответить с цитатойцитата 

Эт как в разных шаблонах, несколько <p>? У меня всё в одном выводит, точнее сказать результат такой, как я написал.
В шаблоне код тоже нужно же заменить, вынести параграф за шаблон.

Вот этот вариант (вместо шаблона сразу его содержимое, чтобы всё однозначно было) 100% работает как нужно:

Код:
$file = '<strong><a href="zakoni_{id}.html">{name}</a></strong>';
$result = mysql_query("SELECT id,name FROM `content` WHERE type=1");
$ss = '<p align="justify">';
while($al = mysql_fetch_array($result))
{
   $ss .= str_replace(array("{id}","{name}"), array(html_entity_decode($al['id']), html_entity_decode($al['name'])), $file);
}
$ss .= '</p>';
echo $ss;

Power of the lime madness...

2
 

php

С нами с 09.10.06
Сообщения: 3706
Рейтинг: 2410


Передовик Master-X (16.01.2010)
Ссылка на сообщениеДобавлено: 11/04/08 в 13:14       Ответить с цитатойцитата 

Код:

$ss= "";
$result = mysql_query("SELECT id,name FROM `content` WHERE type=1");
$ss = '<p align="justify">';
while($al = mysql_fetch_array($result)){
   $ss .= str_replace(array("{id}","{name}"), array(html_entity_decode($al['id']), html_entity_decode($al['name'])), $file);
}
$ss .= '</p>';
echo $ss;


после "сборки" страницы параграфы вапще не выводятся и даже в коде нет icon_sad.gif((

IPhosters.com - любые решения для Вас (виртуалы от $4.99, vps от $11.99, дедики от $95)

0
 

php

С нами с 09.10.06
Сообщения: 3706
Рейтинг: 2410


Передовик Master-X (16.01.2010)
Ссылка на сообщениеДобавлено: 11/04/08 в 13:26       Ответить с цитатойцитата 

ладно, нефиг чудо изобретать, щас на смарти все по быру сделаю. Спасибо всем ответившим, плюсики паставил!

IPhosters.com - любые решения для Вас (виртуалы от $4.99, vps от $11.99, дедики от $95)

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »