Pilon
condição
16 de March de 2012 às 07:11AM
Pessoal estou com um problema numa condição.

Quero fazer o seguinte,

if ($manufacturers_info['cPath'] == "1")
{
$estilo = "port";
$quadrado = "<img border=0 src=images/port/qcinza.jpg width=10 height=10/>";
}
else
{
$estilo = "port2";
$quadrado = "<img border=0 src=images/port/qverde.jpg width=10 height=10/>";
}

Nao está a fazer o else... vejam o codigo completo,

$manufacturers_info_query = tep_db_query("select manufacturers_id, cPath from " . TABLE_MANUFACTURERS . " " );
$manufacturers_info = tep_db_fetch_array($manufacturers_info_query);
echo $manufacturers_info['cPath'];

if ($manufacturers_info['cPath'] == "1")
{
$estilo = "port";
$quadrado = "<img border=0 src=images/port/qcinza.jpg width=10 height=10/>";
}
else
{
$estilo = "port2";
$quadrado = "<img border=0 src=images/port/qverde.jpg width=10 height=10/>";
}

$row = 0;

$manufacturers_query = tep_db_query("select manufacturers_name, manufacturers_id, manufacturers_image, url from " . TABLE_MANUFACTURERS . " order by manufacturers_name" );

while ($manufacturers = tep_db_fetch_array($manufacturers_query)) {
$row++;

echo '<td align="left" valign="top" width="25%" class="smallText" style="line-height:15px;">';
echo ''.$quadrado.' <a class='.$estilo.' href="' . tep_href_link('product_info.php?products_id=' . $manufacturers['url'], 'NONSSL') . '">'. $manufacturers['manufacturers_name'] . ' ';
Pilon
Re: condição
16 de March de 2012 às 07:18AM
A ideia é ter uma lista com os manufacturers e isso está ok, o problema é que eu estou querendo mudar a cor do manufacturers que estamos vendo...
Pilon
Re: condição
16 de March de 2012 às 07:35AM
Simplifiquei o codigo, penso que o problema está no ciclo while e por isso retirei a condição do while mas continua igual....

$_GET['cPath'];

if ($cPath == "1")
{
echo $cPath;
$estilo = "port";
$quadrado = "<img border=0 src=images/port/qcinza.jpg width=10 height=10/>";
}
else
{
$estilo = "port2";
$quadrado = "<img border=0 src=images/port/qverde.jpg width=10 height=10/>";
}

$row = 0;

$manufacturers_query = tep_db_query("select manufacturers_name, manufacturers_id, manufacturers_image, url from " . TABLE_MANUFACTURERS . " order by manufacturers_name" );


while ($manufacturers = tep_db_fetch_array($manufacturers_query)) {

$row++;



echo '<td align="left" valign="top" width="25%" class="smallText" style="line-height:15px;">';
echo ''.$quadrado.' <a class='.$estilo.' href="' . tep_href_link('product_info.php?products_id=' . $manufacturers['url'], 'NONSSL') . '">'. $manufacturers['manufacturers_name'] . ' ';


//echo '<img border="0" alt="" src="images/qport.jpg" /> <a class=port href="' . tep_href_link('product_info.php?products_id=' . $manufacturers['manufacturers_id'] . '=' . $manufacturers['manufacturers_name'], 'NONSSL') . '">'. $manufacturers['manufacturers_name'] . ' <br> ';

if ($manufacturers['manufacturers_image']) {
echo tep_image(DIR_WS_IMAGES . $manufacturers['manufacturers_image'], $manufacturers['manufacturers_name']);
}
echo "</a>\n";
echo '</td>';
José Ângelo Lefundes Coelho
Re: condição
16 de March de 2012 às 09:01AM
qual é a base de dados?
José Ângelo Lefundes Coelho
Re: condição
16 de March de 2012 às 09:03AM
$cPath = $_GET['cPath'];

if ($cPath == 1)
{
echo $cPath;
$estilo = "port";
$quadrado = "<img border=0 src=images/port/qcinza.jpg width=10 height=10/>";
}
else
{
$estilo = "port2";
$quadrado = "<img border=0 src=images/port/qverde.jpg width=10 height=10/>";
}

ja tentou assim?
Pilon
Re: condição
16 de March de 2012 às 12:59PM
Não funciona.

O problema é que com o while o sistema assume que o cPath = 1 existe e muda a cor de todos os links e eu estou querendo que só mude onde o link é cPath = 1
Pilon
Re: condição
16 de March de 2012 às 01:43PM
Alguém me ajuda?
Celio Cantalice
Re: condição
16 de March de 2012 às 10:14PM
tenta assim. colocando o if dentro do while. como o while ja é um loop, vc não precisa criar aquele $row++. ao inves de chamar duas vezes a consulta na mesma tabela faz em uma só.

<?php $manufacturers_query = mysql_query("select * from " . TABLE_MANUFACTURERS . "order by manufacturers_name ASC " );

while ($manufacturers = mysql_fetch_assoc($manufacturers_query)) {


if ($manufacturers['cPath'] == "1")
{
$estilo = "port";
$quadrado = "<img border=0 src=images/port/qcinza.jpg width=10 height=10/>";
}
else
{
$estilo = "port2";
$quadrado = "<img border=0 src=images/port/qverde.jpg width=10 height=10/>";
}

echo '<td align="left" valign="top" width="25%" class="smallText" style="line-height:15px;">';
echo $quadrado."<a class='".$estilo."' href='" . tep_href_link('product_info.php?products_id="' . $manufacturers['url'], 'NONSSL') . '">"'. $manufacturers['manufacturers_name']."'</a>";
echo "<td>";
}
?>
Pilon
Re: condição
17 de March de 2012 às 04:53AM
Celio valeu, mas não resultou.

Desaparecem os links todos... depois alterei seu codigo e os links já aparecem contudo sempre que cPath=1 todos os links mudam de cor para cinza... se o cPath for = a 0 todos os links estão verdes, o que pretendo é que só o link em que estamos clicando o cPath=1 mude para cinza e todos os outros se mantenham verdes.

Valeu
Pilon
Re: condição
17 de March de 2012 às 06:50AM
Alguem?
Celio Cantalice
Re: condição
19 de March de 2012 às 08:45AM
Aqui fiz assim e funcionou bem

<?php
$conectar = mysql_connect("localhost","root","") or die(mysql_error(num_error));
$db = mysql_select_db('test', $conectar);

$sql = "select * from fabricantes order by manufacturers_name ASC ";
$manufacturers_query = mysql_query($sql);

while ($manufacturers = mysql_fetch_object($manufacturers_query)) {


if ($manufacturers->cPath == "1")
{
$estilo = "port";
$quadrado = "<img border=0 src=images/port/qcinza.jpg width=10 height=10/>";
}
else
{
$estilo = "port2";
$quadrado = "<img border=0 src=images/port/qverde.jpg width=10 height=10/>";
}

echo '<td align="left" valign="top" width="25%" class="smallText" style="line-height:15px;">';
echo $quadrado."<a class='".$estilo."' href='product_info.php?products_id=" . $manufacturers->link . "'>". $manufacturers->manufacturers_name."</a></br>";
echo "<td>";
}
?>
Celio Cantalice
Re: condição
19 de March de 2012 às 09:04AM
Celio Cantalice Escreveu:
-------------------------------------------------------
> Aqui fiz assim e funcionou bem
>
> <?php
> $conectar = mysql_connect("localhost","root","")
> or die(mysql_error(num_error));
> $db = mysql_select_db('test', $conectar);
>
> $sql = "select * from fabricantes order by
> manufacturers_name ASC ";
> $manufacturers_query = mysql_query($sql);
>
> while ($manufacturers =
> mysql_fetch_object($manufacturers_query)) {
>
>
> if ($manufacturers->cPath == "1")
> {
> $estilo = "port";
> $quadrado = "";
> }
> else
> {
> $estilo = "port2";
> $quadrado = "";
> }
>
> echo '';
> echo $quadrado."link . "'>".
> $manufacturers->manufacturers_name."";
> echo "";
> }
> ?>

todos cujo Cpath era igaul a 1 ficou cinza e os demais verde. para que quando vc clique fique com o link cinza sugiro que vc faça um update na base de dados passando via get a variavel do link para que este atualize o bd e fique cinza.
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.