Jump to content
maxcoliban

Mostrar preço, pesquisa organizada e eliminar dados repetidos

Recommended Posts

maxcoliban

Boa noite

queria pedir a vossa ajuda para a conclusão da minha PAP.

Não pude ter a ajuda do meu professor e ficaram estas coisas por fazer, e eu não sei como.

Briefing:

A PAP(Projecto de Aptidão Professinal) é um trabalho que temos de realizar no final dos 3 anos do curso professional para mostrar as ''skills'' que aprendemos durante os 3 anos do curso.

A minha PAP é um site de receitas, onde podemos pesquisar por receitas ou por ingredientes, ou ir a pagina das receitas e clicar simplesmente na receita e depois aparece a respectiva preparação.

Faltam fazer três coisas:

Na pagina ingredientes, mostrar à frente dos ingredientes o respectivo preço.

Pesquisa organizada, por preço ou por relevancia(receitas com mais ingredientes em cima com menos em baixo)

Eliminar os dados repetidos


esta aqui no phpmyadmin a table dos ingredientes

http://imgur.com/a/lChi4#0

tem o nome (abacate, arroz, etc) e tem o field do preço(preços dos ingredientes) eu gostava que o preço aparecesse a frente do nome do ingrediente

http://imgur.com/a/lChi4#2

o codigo esta aqui

<?php
$con = mysql_connect("localhost","root","");
if (!$con)
 {
 die('Could not connect: ' . mysql_error());
 }

mysql_select_db("pap", $con);

$result = mysql_query("SELECT * FROM Ingredientes");

echo "<table border='0' id=\"tableIngredientes\">
<tr>
<table style='margin: 20px auto;'>

<th>Nome do Ingrediente</th>
<table style='margin: 3px auto;'>
</tr>";

while($row = mysql_fetch_array($result))
 {
 $ing=$row['nome'];
 echo "<tr>";

 echo "<td><a href='MostraReceita.php?ingredientes=$ing'>" . $row['nome'] . "</a></td>";
 echo "</tr>";
 }
echo "</table>";

mysql_close($con);
?>


Neste momento quando meto alguns ingredientes na pesquisa (ex: batatas, arroz, carne) a ordem que aparece é aleatória.

Eu queria modificar o código de maneira que desse para escolher o filtro da pesquisa, por preço (soma do preço dos ingredientes) e por relevancia (as primeiras receitas são as que teem mais ingredientes pesquisados)

Aqui esta a pesquisa das receitas com batas, arroz e carne

http://imgur.com/a/lChi4#3

e aparece isto(modificado)

http://imgur.com/a/lChi4#5

o código é o seguinte:

<?php
$nome = $_POST['txtPesquisa'];


$nomes=explode(" ", $nome);


echo "<table border='0' id=\"tableIngredientes\">
<tr>
<table style='margin: 20px auto;'>

<th>Nome do Receita</th>
<table style='margin: 3px auto;'>
</tr>";

$xsql="select receitas.id,receitas.nome as 'nome' from Receitas, Receita_Ingrediente, ingredientes where
                      receitas.id=receita_id and ingredientes.id = receita_ingrediente.ingrediente_id";

if(count($nomes)) $xsql=$xsql." and (";
FOREACH ($nomes as $value){
$xsql=$xsql."ingredientes.nome like '%$value%' or ";
}

$xsql=substr ($xsql ,0 ,strlen($xsql)-4);
$xsql=$xsql.")";


$con = mysql_connect("localhost","root","");

if (!$con)
 {
 die('Could not connect: ' . mysql_error());
 }

mysql_select_db("pap", $con);


$result = mysql_query("$xsql");


while($row = mysql_fetch_array($result))
 {

 $rec=$row['id'];
 echo "<tr><td><a href=Preparacao.php?id=$rec>" . $row['nome'] . "</td></tr>";


 }

 mysql_close($con);

?>


Não quero ''get to greedy'' e se me conseguirem ajudar nos 2 tópicos acima eu estarei muito agradecido.

Obrigado

Share this post


Link to post
Share on other sites
KTachyon

esta aqui no phpmyadmin a table dos ingredientes

http://imgur.com/a/lChi4#0

tem o nome (abacate, arroz, etc) e tem o field do preço(preços dos ingredientes) eu gostava que o preço aparecesse a frente do nome do ingrediente

http://imgur.com/a/lChi4#2

Isto é uma dúvida de HTML e não de PHP. Basicamente, deves estruturar o HTML de forma a que possas colocar o preço à frente dos ingredientes. Por exemplo, utilizando uma tabela, ou divs consecutivas de forma a que o posicionamento da informação seja adequado.

Neste momento quando meto alguns ingredientes na pesquisa (ex: batatas, arroz, carne) a ordem que aparece é aleatória.

Eu queria modificar o código de maneira que desse para escolher o filtro da pesquisa, por preço (soma do preço dos ingredientes) e por relevancia (as primeiras receitas são as que teem mais ingredientes pesquisados)

Aqui esta a pesquisa das receitas com batas, arroz e carne

http://imgur.com/a/lChi4#3

e aparece isto(modificado)

http://imgur.com/a/lChi4#5

Usa o DISTINCT para obteres apenas uma vez. No teu caso:

SELECT DISTINCT receita.id, receita.nome ...

Não quero ''get to greedy'' e se me conseguirem ajudar nos 2 tópicos acima eu estarei muito agradecido.

Done.


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

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.