Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola pessoal, vejam se voces podem me ajudar com uma lógica, eu tenho duas tabelas, uma com classificados e outra com classificados que o usuario marcou como favoritos,TABELA DOS CLASSIFICADOS---------------|id |descricao|---------------|01 |banana |---------------|02 |maçã |---------------|03 |melancia |---------------TABELA DE FAVORITOS---------------|id |usuario |---------------|01 |usuario1 |---------------|02 |usuario1 |---------------e quando eu mostro estes dados, quero que os itens que o usuario tem em seus favoritos esteja destacado, o problema é, como faço para dentro de um while ou for para mostrar os itens em destaque aqueles que o usuario tem em seus favoritos, se alguem tiver alguma sugestão eu ficarei grato.Att,Orides
Olá wolfphw,Perfeito, funcionou certinho, era o que eu precisava, quando o sistema estiver pronto eu coloco ai para avaliarem, muito obrigado.Att,Orides
Opa, fui colocar em prática mas não deu certo, vejam se conseguem ver onde eu errei, somente o primeiro registro da listagem fica em negrito, o restante fica normal.
// aqui eu faço os sqls$sql = mysql_query("SELECT * from classificado");$sql_usuario = mysql_query("SELECT * from favoritos_usuario where usuario = '$usuario'");// aqui eu inicio o while dos registroswhile ($linha = mysql_fetch_array($sql)) { // zera a variavel para o proximo loop $achou = "nao"; // inicio o for dos registros que estao na tabela favoritos_usuario for($i=0;$i<mysql_num_rows($sql_usuario);$i++){ $favoritoUser = mysql_fetch_array($sql_usuario); // verifico se existe algum registro da classificados que consta na tabela favoritos_usuario, o campo fav tem o mesmo valor do campo id if($linha["id"] == $favoritoUser["fav"]){ // se achar passa a variavel para sim $achou = "sim"; } // fim do if } fim do for // se achou == sim ele mostra em negrito if ($achou == "sim") { echo "<b>$achou</b><br>"; } else { // senao ele mostra normal echo "$achou<br>"; } // fecha if} // fecha while
Pode ser que eu tenha errado feio, ou eu nao soube colocar na pratica. desde ja agradeço.
Att,
Orides.
Opa, mas se eu altero para uma sequencia de numeros ao inves do resultado do select ele dá certo, tipo:
for($i=0;$i<500;$i++){ // verifico se existe algum registro da classificados que consta na tabela favoritos_usuario, o campo fav tem o mesmo valor do campo id if($linha["id"] == $i){ // se achar passa a variavel para sim $achou = "sim"; } // fim do if
Mas eu pergunto, da forma que estou fazendo nao é o mesmo do que eu apresentei ai em cima?
for($i=0;$i<mysql_num_rows($sql_usuario);$i++){ $favoritoUser = mysql_fetch_array($sql_usuario); // verifico se existe algum registro da classificados que consta na tabela favoritos_usuario, o campo fav tem o mesmo valor do campo id if($linha["id"] == $favoritoUser["fav"]){ // se achar passa a variavel para sim $achou = "sim"; } // fim do if
Se alguem puder dar uma luz eu agradeço.
Opa, tem como eu pegar um resultado de uma query e jogar em uma variavel tipo array neste formato?
$sql = mysql_query("comando sql");// pega somente o campo id e guarda tudo num array da forma abaixo.$id = array('[1]','[4]','[5]','[10]','[11]');
Assim poderia resolver o problema que estou tendo com o meu sisteminha.
Desde ja agradeço.
olha soh, eu to aki pensando numa coisa.. dah uma olhada nesse exemplo que eu fiz: