|
Saimon ↓
|
 |
|
27 Октябрь, 2008, 07:19:38
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 76 Сила слова: 0
|
Доброго всем времени суток.
Подскажите как такую выборку из БД присвоить как какой-нибудь переменной чтобы передать её на страницу?
$sql = "SELECT * FROM $table_name where (mark='Tank')AND (model='Т34')";
$query = mysql_query($sql,$link) or die();
$n = mysql_num_rows($query);
if ($n = = 0) {
echo "<tr>";
echo "<td colspan=6 align=center><p> раздел не заполнен! </td></tr>";
}
else {
$i=0;
while($i<$n)
{
$img=mysql_result($query,$i, "pic");
$t_text=mysql_result($query,$i, "text");
$nid=mysql_result($query,$i, "id");
$art=mysql_result($query,$i, "articl");
echo "<table border=1 cellpadding=0 cellspacing=0 width=570 align=center>";
echo "
<tr width=250 height=133><td> <img src='$img' width=250 height=133> </td>
<td>
<table border=1 cellpadding=0 cellspacing=0 width=320>
<tr><td> $t_text </td></tr>
<tr><td> $art </td></tr>
</table>
</td>
</tr>";
echo"<tr height=20><td></td><td></td></tr>";
echo "</table>";
$i++;
}
}
заранее спасибо)
|
|
|
|
|
Записан
|
|
|
|
|
md5 ↓
|
 |
|
27 Октябрь, 2008, 07:23:54 , спустя 4 минуты 16 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
выезд, апартаменты, массаж, стриптиз, подружки, дорого
Группа: в ухо Карма: не нужна
Сообщений: 10494 Сила слова: 1.19
|
|
|
|
|
|
Записан
|
8: Undefined variable: str Файл: /home/pyha/pyha.ru/forum/bbcode/Xbb/Tags/Man.php Строка: 18 adw0rd: мудень блять, я уже фиксить стал эту фигню :) md5: вуахахахаха
|
|
|
|
Saimon ↓
|
 |
|
27 Октябрь, 2008, 09:30:12 , спустя 2 часа 6 минут 18 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 76 Сила слова: 0
|
блиин
нужно чтобы данные сюда попали
$smarty -> assign('text', $text);
$text- то есть я так понял их сюда надо присвоить
|
|
|
|
|
Записан
|
|
|
|
|
Saimon ↓
|
 |
|
27 Октябрь, 2008, 09:31:23 , спустя 1 минуту 11 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 76 Сила слова: 0
|
я как не бюсь, выборка из базы велезает на странице где попало(
|
|
|
|
|
Записан
|
|
|
|
|
Professor ↓
|
 |
|
27 Октябрь, 2008, 09:56:47 , спустя 25 минут 24 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Адекваты Карма: 30
Сообщений: 2074 Сила слова: 1.45
|
Помоему ты немного не понимаеш чего хочеш.
$smarty -> assign('text', $text); - Это шаблонизатор смарти. Тут cтатья про него есть. надо почитать.
http://pyha.ru/articles/php/smarty-for-beginners/
В общих чертак, как показал md5 надо что то типо этого
Это в выполняющем файле, а
где вывести надо,
там так
<body>
{$text.name}
{$text.id}
</body>
|
|
|
|
|
Записан
|
|
|
|
|
Saimon ↓
|
 |
|
27 Октябрь, 2008, 10:20:14 , спустя 23 минуты 27 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 76 Сила слова: 0
|
что то я вообще понимать что либо перестал(((
вот как у меня сейчас все выглядит:
require($_SERVER['DOCUMENT_ROOT'].'/libs/Smarty.class.php');
$smarty = new Smarty();
$link = mysql_connect($localhost, $mysql_user, $mysql_password);
if(!$link) die('Не могу соединиться с MySQL');
mysql_select_db($bd_name) or die('Не могу открыть $bd_name: '.mysql_error());
$query = "SELECT * FROM $table_name where (mark='Q')AND (model='W')";
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result)) {
echo "<table border=1 cellpadding=0 cellspacing=0 width=570 align=center>";
echo "<tr><td><img src= $row[pic] width=250 height=133></td><td>";
echo "<table border=1 cellpadding=0 cellspacing=0 width=320>";
echo "<tr><td> $row[tov_name] </td></tr>";
echo "<tr><td> $row[tov_text] </td></tr>";
echo "<tr><td> $row[tov_sena] </td></tr>";
echo "<tr><td> $row[articl] </td></tr>";
echo "<tr><td>";
echo "<table border=0 cellpadding=5 cellspacing=0 width=320>";
echo "<tr><td><input type='hidden' name='id' value='$nid'><input type='submit' name='norel' value='в корзину' readonly></td></tr>";
echo "</table>";
echo "</td></tr>";
echo "</table>";
echo "</td></tr>";
echo "<tr height=20><td></td><td></td></tr>";
echo "</table>";
}
mysql_free_result($result);
$text=' ';
$smarty->template_dir = $_SERVER['DOCUMENT_ROOT'].'/templates';
$smarty->compile_dir = $_SERVER['DOCUMENT_ROOT'].'/templates_c';
$smarty->cache_dir = $_SERVER['DOCUMENT_ROOT'].'/cache';
$smarty->config_dir = $_SERVER['DOCUMENT_ROOT'].'/configs';
$smarty -> assign('text', $text);
$smarty->display ('mainuslugi.tpl');
|
|
|
|
|
Записан
|
|
|
|
|
Professor ↓
|
 |
|
28 Октябрь, 2008, 12:06:23 , спустя 1 час 46 минут 9 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Адекваты Карма: 30
Сообщений: 2074 Сила слова: 1.45
|
Сильно не вдавался, но помоему ебе нужно так
require($_SERVER['DOCUMENT_ROOT']. '/libs/Smarty.class.php');
$smarty = new Smarty ();
$link = mysql_connect($localhost, $mysql_user, $mysql_password);
if(! $link) die('Не могу соединиться с MySQL');
mysql_select_db($bd_name) or die('Не могу открыть $bd_name: '. mysql_error());
$text= ' ';
$query = "SELECT * FROM $table_name where (mark='Q')AND (model='W')";
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result)) {
$text.= "<table border=1 cellpadding=0 cellspacing=0 width=570 align=center>";
$text.= "<tr><td><img src= '". $row[pic ]. "' width=250 height=133></td><td>";
$text.= "<table border=1 cellpadding=0 cellspacing=0 width=320>";
$text.= "<tr><td> ". $row['tov_name']. " </td></tr>";
$text.= "<tr><td> ". $row['tov_text']. " </td></tr>";
$text.= "<tr><td> ". $row['tov_sena']. " </td></tr>";
$text.= "<tr><td> ". $row['articl']. " </td></tr>";
$text.= "<tr><td>";
$text.= "<table border=0 cellpadding=5 cellspacing=0 width=320>";
$text.= "<tr><td><input type='hidden' name='id' value='$nid'><input type='submit' name='norel' value='в корзину' readonly></td></tr>";
$text.= "</table>";
$text.= "</td></tr>";
$text.= "</table>";
$text.= "</td></tr>";
$text.= "<tr height=20><td></td><td></td></tr>";
$text.= "</table>";
}
mysql_free_result($result);
$smarty-> template_dir = $_SERVER['DOCUMENT_ROOT']. '/templates';
$smarty-> compile_dir = $_SERVER['DOCUMENT_ROOT']. '/templates_c';
$smarty-> cache_dir = $_SERVER['DOCUMENT_ROOT']. '/cache';
$smarty-> config_dir = $_SERVER['DOCUMENT_ROOT']. '/configs';
$smarty -> assign('text', $text);
$smarty-> display ('mainuslugi.tpl');
Что то типа
|
|
|
|
|
Записан
|
|
|
|
|
AlexB ↓
|
 |
|
28 Октябрь, 2008, 12:24:57 , спустя 18 минут 34 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: в ухо Карма: 89
Сообщений: 3423 Сила слова: 2.6
|
Saimon, не может быть echo и assign одновременно.
Либо ты выводишь данные через echo, тогда никакого Smarty быть не должно в принципе, либо отдаешь данные в шаблон и пользуешься методами шаблонизатора. Поэтому у тебя и получается где попало т.к. вывод сам по себе, а шаблонизатор сам по себе.
То что написал Professor, в принципе может работать, но делать так не надо не в коем случае.
|
|
|
|
« Последнее редактирование: 28 Октябрь, 2008, 12:28:08 от AlexB »
|
Записан
|
|
|
|
|
Professor ↓
|
 |
|
28 Октябрь, 2008, 01:09:59 , спустя 45 минут 2 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Адекваты Карма: 30
Сообщений: 2074 Сила слова: 1.45
|
но делать так не надо не в коем случае.
Подтверждаю!
|
|
|
|
|
Записан
|
|
|
|
|
Saimon ↓
|
 |
|
28 Октябрь, 2008, 07:44:43 , спустя 6 часов 34 минуты 44 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 76 Сила слова: 0
|
Так работает ТОЧНО проверил!!!
Почему нельзя ??? И как можно сделать правильно???
Я в Smarty новичок, да и в ПХП тоже, вот уже один сайт с принципиальным касяком есть (не правильно понял как Smarty работает)
|
|
|
|
|
Записан
|
|
|
|
|
Saimon ↓
|
 |
|
28 Октябрь, 2008, 07:49:27 , спустя 4 минуты 44 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 76 Сила слова: 0
|
я на сколько понял данные надо в массив, а из массива в $text
что вроде этого
@$result = mysql_query("SELECT * FROM `news`");
$cnt = 0;
$arr_news = array ();
while ($row = mysql_fetch_array ($result)) {
$arr_news[$cnt]['date'] = $row[date];
$arr_news[$cnt]['text'] = $row ;
$cnt++;
}
$smarty->assign('arr_news', $arr_news);
$smarty->display('index.tpl');
|
|
|
|
|
Записан
|
|
|
|
|
sap ↓
|
 |
|
28 Октябрь, 2008, 09:27:09 , спустя 1 час 37 минут 42 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Жмурики Карма: 40
Сообщений: 2697 Сила слова: 1.48
|
Так работает ТОЧНО проверил!!!
Почему нельзя ??? И как можно сделать правильно???
Потому что нужно понимать, что такое шаблонизатор, и зачем он нужен. А нужен он для отделения бизнес-логики от вью-логики.
В варианте, предложенным Professor-ом, они смешиваются. Если не понял, читать про MVC и шаблонизаторы, причем теорию.
Правильно будет что-то вроде:
$result = mysql_query("SELECT * FROM $table_name WHERE `mark`='Q' AND `model`='W'"; );
$data = array();
while ($row = mysql_fetch_assoc($result)) {
$data[] = $row;
}
$smarty-> assign("news_data", $data);
И в темплейте что-то вроде:
{foreach from=$news_data item=v}
<table border=1 cellpadding=0 cellspacing=0 width=570 align=center>
<tr><td><img src="{$v.pic}" width=250 height=133></td><td>
<table border=1 cellpadding=0 cellspacing=0 width=320>
<tr><td>{$v.tov_name}</td></tr>
<tr><td>{$v.tov_text}</td></tr>
<tr><td>{$v.tov_sena}</td></tr>
<tr><td>{$v.articl}</td></tr>
<tr><td>
{/foreach}
Это если я правильно вспомнил синтаксис смарти, потому как это говно давно не использовал.
|
|
|
|
|
Записан
|
|
|
|
|
Professor ↓
|
 |
|
28 Октябрь, 2008, 12:36:05 , спустя 3 часа 8 минут 56 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Адекваты Карма: 30
Сообщений: 2074 Сила слова: 1.45
|
Все правильно. Как я и предлогал в первом сообщении))
|
|
|
|
|
Записан
|
|
|
|
|
Saimon ↓
|
 |
|
28 Октябрь, 2008, 11:41:54 , спустя 11 часов 5 минут 49 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 76 Сила слова: 0
|
Спасибо все заработало
Еще просьба, подскажите какие книги почитать на эту тему (Smarty и PHP), я еще только учусь.
|
|
|
|
|
Записан
|
|
|
|
|
md5 ↓
|
 |
|
28 Октябрь, 2008, 11:56:42 , спустя 14 минут 48 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
выезд, апартаменты, массаж, стриптиз, подружки, дорого
Группа: в ухо Карма: не нужна
Сообщений: 10494 Сила слова: 1.19
|
сначала почитать про php,
smarty ещё рано
не понимаешь что должен передавать и куда и как это обрабатывать
|
|
|
|
|
Записан
|
8: Undefined variable: str Файл: /home/pyha/pyha.ru/forum/bbcode/Xbb/Tags/Man.php Строка: 18 adw0rd: мудень блять, я уже фиксить стал эту фигню :) md5: вуахахахаха
|
|
|
|