Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
bioshock

Variável / Função {resolvido}

Recommended Posts

bioshock

Boas, é possivel eu atribuir uma variavel que armazene todo o conteúdo de (por ex:) 20 linhas de código? Ou é melhor usar uma função e depois dizer que:

$Variavel = function  ??

Share this post


Link to post
Share on other sites
KiNgPiTo

Só podes fazer usar $variável = função() se a função retornar algo... caso contrário basta que chames a função();

Ou se a duvida é se vale a pena ter 20 linhas de código numa função, se for código usado em mais do que um caso, definitivamente sim, se for só mesmo usado num sitio, a única benesse será mesmo o facto de organizares melhor o código...

Share this post


Link to post
Share on other sites
bioshock

O objectivo é criar páginas com apenas uma página. Ou seja, quando uma nova categoria é criada, automaticamente é criada uma página, e nessa página já tem de conter algumas linhas de código. Eu consigo fazer com que se crie uma página, mas a página fica em branco, e tenho de por o código todo à mão.

Função:

<?php 
function CreatePage(){
$query3 = mysql_query("SELECT * FROM produtos WHERE categoria = '$nome'")or die("Error: " .mysql_error());
while($rows2 = mysql_fetch_array($query3)){
$id = $rows2['id'];
    $nome = $rows2['nome'];
$preco = $rows2['preco'];
    $promocao = $rows2['promocao'];
$descricao = $rows2['descricao'];
    $imagem = $rows2['imagem'];
$categoria = $rows2['categoria'];

// cria as linhas
echo "<tr><td><b>Nome:</b></td> $nome<br></th>";
    echo "<input type='image' name='imageField' id='imageField' src='images/thumbs/$imagem'>";
echo "<b>Descrição:</b> $descricao<br>";
    echo "<b>Preço:</b> $preco €<br>";
echo "<b>Promoção:</b> $promocao %<br><br><br></tr>";
}
}
?>

Código para escrever na página criada:

$myFile = $rows['nome'].".php";
$fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, CreatePage());
fclose($fh);

O problema, é que a função é apresentada na página principal (index.php) e eu queria que aparecesse nas páginas que são criadas sempre que existe uma nova categoria.

Share this post


Link to post
Share on other sites
KiNgPiTo

Metes essa função num ficheiro php e depois onde precisares de a usar fazes um include...

Share this post


Link to post
Share on other sites
bioshock

Pois, eu isso já descobri, por acaso nem pus a função, criei mesmo uma página, ficando assim o código:

fwrite($fh, '<?php include("insertPages.php")?>');

Contudo, agora estou-me a ver às aranhas para restringir os produtos à categoria. Por exemplo, no index diz:

Categorias: Cereais & Vinhos.

Quando eu clicasse em Vinhos só me aparecia a informação relativa aos vinhos..

Share this post


Link to post
Share on other sites
bioshock

Bem, este problema já tá resolvido, vou criar outro tópico para o problema que agora me surge. Obrigado!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.