Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, gostaria de agradecer a todos que me ajudam, poias as vezes é uma coisa seimples mais agente bate a cabeça e não ve. O que preciso fazer é o seguinte.tabela forum_categorias - Contem as categorias e descrições das mesmastabela foruns - Contem a categoria que o forum pertence e derivadospresiso fazer os seguinte
if((isset($_GET['operacao'])) && ($_GET['operacao'] == "forum")) { $showtopic = $_GET['showtopic']; $showforum = $_GET['showforum']; if((!isset($showtopic)) and (!isset($showforum))) { $tpl = "forumcategorias"; $query = mysql_query("select * from forum_categorias" ,$con); while($row = mysql_fetch_assoc($query)) { $categoria[] = $row['categoria']; $descricao[] = $row['descricao']; $query2 = mysql_query("select * from foruns where categoria = '$categoria'", $con); while($row2 = mysql_fetch_array($query2)) { $titulo[] = $row2['forum']; $descricao2[] = $row2['descricao']; $lider1[] = $row2['lider1']; $lider2[] = $row2['lider2']; $lider3[] = $row2['lider3']; $lider4[] = $row2['lider4']; $categoria2[] = $row2['categoria']; $total_posts[] = $row2['total_posts']; $folder[] = $row2['folder']; $data_ultimo_post[] = $row2['data_ultimo_post']; $autor_ultimo_post[]= $row2['autor_ultimo_post']; $topicos[] = $row2['topicos']; } } } }$smarty->assign("categoria", $categoria);$smarty->assign("descricao", $descricao);$smarty->assign("titulo", $titulo);$smarty->assign("descricao2", $descricao2);$smarty->assign("lider1", $lider1);$smarty->assign("lider2", $lider2);$smarty->assign("lider3", $lider3);$smarty->assign("lider4", $lider4);$smarty->assign("categoria2", $categoria2);$smarty->assign("total_posts", $total_posts);$smarty->assign("folder", $folder);$smarty->assign("data_ultimo_post", $data_ultimo_post);$smarty->assign("autor_ultimo_post", $autor_ultimo_post);$smarty->assign("topicos", $topicos); $smarty->assign("tpl", $tpl);$smarty->display("index.tpl");
Depois disso tudo tenho que passar pro Smarty, que Uma categoria e seus respectivos Foruns que estão nesta categoria...soh que não tah rolando.....segue tpl do smarty pra conferencia tb
[:include file="busca.tpl":] [:section name=categorias loop=$categoria:] <div class="forumtop"> <img src="images/forum_topl.jpg" alt=" " class="forumtopl" /> <div class="forumtoptitle"> [:$categoria[categorias]:] - <span style="font-style:italic; font-weight:normal;"> [:$descricao[categorias]:] </span> </div> <img src="images/forum_topr.jpg" alt=" " class="forumtopr" /> </div> <div class="forumcategoriashd"> </div> [:section name=foruns loop=$titulo:] <div class="forumforuns"> <div class="forumfolder"> <img src="images/forum_foldersimples.jpg" alt="Simples" /> </div> <div class="forumtitulo"> <span style="font-weight:bold;">[:$titulo[foruns]:]</span><br /> <span style="font-size:10px;">Descrição</span><br /> <span style="font-size:10px;">Liderado por: <span style="font-style:italic;">Fulando Siclano, Beltrano</span></span> </div> <div class="forumrespostas"> 1257 </div> <div class="forumrespostas"> 1754 </div> <div class="foruminfo"> Ultimo Post:<br /> <span style="font-weight:bold;">Fulano</span><br /> Data: 22/05/2006 </div> </div> [:/section:] <div class="forum_base"> </div> [:/section:]
Olha soh descobri uma coisa.... vejam como este código agora...
<?php
session_start();
require("includes/includes.php");
require("includes/conection.php");
if((isset($_GET['operacao'])) && ($_GET['operacao'] == "forum"))
{
$showtopic = $_GET['showtopic'];
$showforum = $_GET['showforum'];
if((!isset($showtopic)) and (!isset($showforum)))
{
$tpl = "forumcategorias";
$query = mysql_query("select * from forum_categorias" ,$con);
while($row = mysql_fetch_assoc($query))
{
$categoria[] = $row['categoria'];
$descricao[] = $row['descricao'];
$consult = $row[categoria];
echo 'Categorias:'.$consult.'<br>';
$a++;
$query2[$a] = mysql_query("select * from foruns where categoria = '$consult'", $con);
while($row2 = mysql_fetch_array($query2[$a]))
{
$titulo = $row2['forum']; // o Certo seria assim $titulo[] = $row2['forum'];
echo 'Titulo:'.$titulo.'<br>';
}
}
}
}
$smarty->assign("categoria", $categoria);
$smarty->assign("consult", $consult);
$smarty->assign("descricao", $descricao);
$smarty->assign("forum", $forum);
$smarty->assign("titulo", $titulo);
$smarty->assign("descricao2", $descricao2);
$smarty->assign("lider1", $lider1);
$smarty->assign("lider2", $lider2);
$smarty->assign("lider3", $lider3);
$smarty->assign("lider4", $lider4);
$smarty->assign("categoria2", $categoria2);
$smarty->assign("total_posts", $total_posts);
$smarty->assign("folder", $folder);
$smarty->assign("data_ultimo_post", $data_ultimo_post);
$smarty->assign("autor_ultimo_post", $autor_ultimo_post);
$smarty->assign("topicos", $topicos);
$smarty->assign("tpl", $tpl);
$smarty->display("index.tpl");
?>
template...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="[http://www.w3.org/1999/xhtml">](http://www.w3.org/1999/xhtml%22)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Canoas By Night</title>
<link href="cbn.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="divabrefecha.js"></script>
<script type="text/javascript" src="flash.js"></script>
</head>
<body>
<div class="corpo">
<div class="cabecalho">
</div>
[:section name=categorias loop=$categoria:]
<div class="forumtop">
<img src="images/forum_topl.jpg" alt=" " class="forumtopl" />
<div class="forumtoptitle">
[:$categoria[categorias]:] -
<span style="font-style:italic; font-weight:normal;">
[:$descricao[categorias]:]
</span>
</div>
<img src="images/forum_topr.jpg" alt=" " class="forumtopr" />
</div>
<div class="forumcategoriashd">
</div>
[:section name=foruns loop=$titulo:]
<div class="forumforuns">
<div class="forumfolder">
<img src="images/forum_foldersimples.jpg" alt="Simples" />
</div>
<div class="forumtitulo">
<span style="font-weight:bold;">[:$titulo[foruns]:]</span><br />
<span style="font-size:10px;">Descrição</span><br />
<span style="font-size:10px;">Liderado por: <span style="font-style:italic;">Fulando Siclano, Beltrano</span></span>
</div>
<div class="forumrespostas">
1257
</div>
<div class="forumrespostas">
1754
</div>
<div class="foruminfo">
Ultimo Post:<br />
<span style="font-weight:bold;">Fulano</span><br />
Data: 22/05/2006
</div>
</div>
[:/section:]
<div class="forum_base">
</div>
[:/section:]
<div class="rodape">
</div>
</div>
</body>
</html>
SQL - Query
-- phpMyAdmin SQL Dump
-- version 2.8.2
--
-- Servidor: localhost
-- Tempo de Geração: Jan 31, 2007 as 02:45 PM
-- Versão do Servidor: 4.1.20
-- Versão do PHP: 4.4.4
--
-- Banco de Dados: cbn
--
-- --------------------------------------------------------
--
-- Estrutura da tabela chat_mensagens
--
CREATE TABLE `chat_mensagens` (
`id` int(10) unsigned NOT NULL auto_increment,
`time` varchar(45) NOT NULL default '',
`data` varchar(45) NOT NULL default '',
`sala` varchar(45) NOT NULL default '',
`mensagem` varchar(255) NOT NULL default '',
`autor` varchar(45) NOT NULL default '',
`para` varchar(45) NOT NULL default '',
`de` varchar(45) NOT NULL default '',
`reservado` int(1) unsigned NOT NULL default '0',
`modo` varchar(20) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
--
-- Extraindo dados da tabela chat_mensagens
--
-- --------------------------------------------------------
--
-- Estrutura da tabela chat_salas
--
CREATE TABLE `chat_salas` (
`id` int(10) unsigned NOT NULL auto_increment,
`categoria` varchar(45) NOT NULL default '',
`sala` varchar(45) NOT NULL default '',
`usuarios` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
--
-- Extraindo dados da tabela chat_salas
--
-- --------------------------------------------------------
--
-- Estrutura da tabela forum_categorias
--
CREATE TABLE `forum_categorias` (
`id` int(10) unsigned NOT NULL auto_increment,
`descricao` varchar(255) NOT NULL default '',
`categoria` varchar(45) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Extraindo dados da tabela forum_categorias
--
INSERT INTO `forum_categorias` (`id`, `descricao`, `categoria`) VALUES (1, 'Sobre RPG em Geral', 'RPG'),
(2, 'asdasd asd asd asd asd', 'Vampiro');
-- --------------------------------------------------------
--
-- Estrutura da tabela foruns
--
CREATE TABLE `foruns` (
`id` int(10) unsigned NOT NULL auto_increment,
`forum` varchar(30) NOT NULL default '',
`descricao` varchar(60) NOT NULL default '',
`lider1` varchar(60) NOT NULL default '',
`lider2` varchar(60) NOT NULL default '',
`lider3` varchar(60) NOT NULL default '',
`lider4` varchar(60) NOT NULL default '',
`categoria` varchar(45) NOT NULL default '',
`total_posts` int(10) unsigned NOT NULL default '0',
`folder` int(10) unsigned NOT NULL default '0',
`data_ultimo_post` varchar(45) NOT NULL default '',
`autor_ultimo_post` varchar(45) NOT NULL default '',
`topicos` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
--
-- Extraindo dados da tabela foruns
--
INSERT INTO foruns (id, forum, descricao, lider1, lider2, lider3, lider4, categoria, total_posts, folder, data_ultimo_post, autor_ultimo_post, topicos) VALUES (1, 'Lobisomen', 'Forum didicado ao RPG Lobisomen', 'asdasd asdas1', 'asdasdasdasas 2', 'asdasd asdas 3', '', 'RPG', 1524, 1, '22/04/2006', 'Autor 1', 154242),
(2, 'çalskdçlaskd', 'Forum didicado ao RPG Lobisomen', 'asdas 1', 'asdasd 2', 'asdasd 3', 'asdasd 4', 'Vampiro', 1542, 0, '', 'Autor 2', 154242),
(3, 'asdasd', 'asdasd asd asd', 'asd asd as', 'dasd asd', 'asd as das', 'dasdasdasd', 'RPG', 135, 0, '', '', 0);
-- --------------------------------------------------------
--
-- Estrutura da tabela foruns_mensagens
--
CREATE TABLE `foruns_mensagens` (
`id` int(10) unsigned NOT NULL auto_increment,
`autor` int(10) unsigned NOT NULL default '0',
`mensagem` text NOT NULL,
`topico` int(10) unsigned NOT NULL default '0',
`notificacao` int(1) unsigned NOT NULL default '0',
`data` varchar(45) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
--
-- Extraindo dados da tabela foruns_mensagens
--
-- --------------------------------------------------------
--
-- Estrutura da tabela foruns_topicos
--
CREATE TABLE `foruns_topicos` (
`id` int(10) unsigned NOT NULL auto_increment,
`topico` varchar(45) NOT NULL default '',
`data` varchar(45) NOT NULL default '',
`vizualizado` int(10) unsigned NOT NULL default '0',
`posts` int(10) unsigned NOT NULL default '0',
`autor` varchar(45) NOT NULL default '',
`ult_post` varchar(45) NOT NULL default '',
`imagem` int(10) unsigned default NULL,
`tipo` varchar(45) NOT NULL default '',
`ativo` int(1) unsigned NOT NULL default '0',
`enquete1` varchar(45) default NULL,
`enquete2` varchar(45) default NULL,
`enquete3` varchar(45) default NULL,
`enquete4` varchar(45) default NULL,
`enquete5` varchar(45) default NULL,
`votos1` int(10) unsigned default NULL,
`votos2` int(10) unsigned default NULL,
`votos3` int(10) unsigned default NULL,
`votos4` int(10) unsigned default NULL,
`votos5` int(10) unsigned default NULL,
`n_options` int(10) unsigned default NULL,
`notificacao` int(1) unsigned NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
--
-- Extraindo dados da tabela foruns_topicos
--
olá Raziel Nomack, estou precisando da mesma coisa que você precisou, e também estou apanhanado, já faz tempo, masi de 1 ano esse post, será que você já tem essa solução?
olá quinhone, o qual a sua dificuldade ?
colocar um laço loop dentro de outro ?
veja um exemplo
{foreach name=NOME_DO_LACO1 item=DADOS1 from=$ARRAY_ENVIADO_POR_ASSIGN}
{foreach name=NOME_DO_LACO2 item=DADOS2 from=$ARRAY2_ENVIADO_POR_ASSIGN_OU_ITEM_DO_LACO1}
{/foreach}
{/foreach}
entendeu ?
Cara, estou fazendo assim:
no PHP minha consulta está assim:
$rsDestaqueCarros = $db->Execute('SELECT c.idcarros, c.car_veiculo, c.car_preco, c.car_placa from carros as c ORDER BY RAND( ) LIMIT 0, 4');
while(!$rsDestaqueCarros->EOF){
$idcarros[] = $rsDestaqueCarros->fields['idcarros'];
$car_veiculo[] = utf8_decode($rsDestaqueCarros->fields['car_veiculo']);
$car_preco[] = $rsDestaqueCarros->fields['car_preco'];
$car_placa[] = $rsDestaqueCarros->fields['car_placa'];
$rsDestaqueFotos = $db->Execute('SELECT f.idfotos_car, f.idcarros, f.car_fot_icone from fotos_car as f where f.idcarros = '.$rsDestaqueCarros->fields['idcarros']);
while(!$rsDestaqueFotos->EOF){
$idfotos_car[] = $rsDestaqueFotos->fields['idfotos_car'];
$car_fot_icone[] = $rsDestaqueFotos->fields['car_fot_icone'];
$rsDestaqueFotos->moveNext();
}
$rsDestaqueCarros->moveNext();
};
e no TPL está assim:
{section name=a loop=$CAR_ID}
PLACA:{$CAR_PLACA[a]}
{section name=b loop=$CAR_ID[a]}
ICONE: {$FOT_CAR_ICONE[a][b]}
{/section}
{/section}
mas ele retorna assim:
PLACA:AAA0000
ICONE: c
ICONE: a
ICONE: r
PLACA:JYB9882
ICONE: c
PLACA:AAA1111
ICONE: c
ICONE: a
ICONE: r
ICONE: _
PLACA:JZU4795
ICONE: c
ICONE: a
ICONE: r
ICONE: _
ICONE: f
essas letras isoladas depois do ICONE: são na realidade car_fotos/icone/foto.jpg, em cada icone desse deveria vir o caminho das fotos de cada carro.
mostre o "assign"
smarty->assign("xx", $xx);
ehh tipo.. entendeu ??
como você está escrevendo as variáveis ?
smarty->assign() ??
está assim:
$smarty = new smarty_setup;
//ESSES 4 SÃO OS DADOS DO CARRO
$smarty->assign('CAR_ID', $idcarros);
$smarty->assign('CAR_NOME', $car_veiculo);
$smarty->assign('CAR_PRECO', $car_preco);
$smarty->assign('CAR_PLACA', $car_placa);
// E AQUI É A IMAGEM
$smarty->assign('FOT_ID', $idfotos_car);
$smarty->assign('FOT_CAR_ICONE', $car_fot_icone);
$smarty->display("destaques_carros.tpl");Quinhone
um exemplo:
carros.php
<?php
define("RelativePath",dirname(__FILE__));
include(RelativePath ."/lib/common.php");
require_once(dirname(__FILE__)."/lib/smarty.php");
include 'lib/extra_functions.php';
$id = 1;
$car[$id]['id'] = $id;
$car[$id]['placa'] = 'ACDC-5';
$car[$id]['nome'] = 'Nome 1';
$car[$id]['img']['file'][1] = 'image1.jpg';
$car[$id]['img']['file'][2] = 'image2.jpg';
$id = 2;
$car[$id]['id'] = $id;
$car[$id]['placa'] = 'CDCA-4';
$car[$id]['nome'] = 'Nome 2';
$car[$id]['img']['file'][3] = 'image3.jpg';
$car[$id]['img']['file'][4] = 'image4.jpg';
$all = $car;
$smarty_obj->assign('all', $all);
$smarty_obj->display("[b]carros.html[/b]");
?>
carros.html
{foreach name=loop1 key=k1 item=rs from=$all}
<br /><br />id: {$rs.id}, placa: {$rs.placa}, nome: {$rs.nome}
{foreach name=loop2 key=k2 item=rs2 from=$rs.img.file}
<br />fileID: {$k2}, file: {$rs2}
{/foreach}
>
As tabelas não estao relacionadas......????
Se estiver nao a necessidade de dois SELECT nem dois WHILE..
Adailton
Como assim relacionadas? Sou meio leigo em questão de termos...
E na Realidade, o problema todo está no Smarty, pois ele exige que seja definido o array desta forma
$variavel[] = $row['campodatabela'];
Criando assim 2 arrays duplicados,
O resultado da forma que está fica assim:
sendo que era pra ficar assim