Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

formalivre

Select * From

Recommended Posts

olá pessoal.

estou tentando fazer um SELECT em uma tabela desta forma:

página 1:

<a href="revista.php?act=listar_&revista=Revista1">Revista 01</a><br>
<a href="revista.php?act=listar_&revista=Revista2">Revista 02</a></p>
nesta página eu chamo as revistas serão 15 revistas.

 

página 2:

<?
		$revista = addslashes($_GET["revista"]);
		
			$consulta = mysql_query("SELECT * FROM site WHERE '$revista' GROUP BY Indice ORDER by Indice ASC") or die(mysql_error());
			$conta = mysql_num_rows($consulta);
			
			if($conta == 0){
				echo"- Não há categorias<br>";
			}
			else{
				while($x = mysql_fetch_array($consulta)){
				$Chave = $x["Chave"];
				$Indice = $x["Indice"];
				echo"- <a href=\"revista_listar.php?act=listar_&cat=$Indice\">$Indice</a><br>";
				}
			}
?>
nesta página eu faço o SELECT, com certeza esta página está errada. preciso de uma ajuda para resolver este problema. obrigado desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sintaxe do Mysql está errada (não errada, mas não está fazendo o que deveria fazer).

 

SELECT * FROM site WHERE '$revista' GROUP BY Indice ORDER by Indice ASC

Traduzindo

SELECIONE * DA TABELA site AONDE '$revista' AGRUPADO POR Indice ORDENADO POR Indice ASC

Consegue perceber o erro? Não sei se tem outros, mas este com certeza existe.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema é que não mostra as informações de cada revista selecionada.

o que eu entendo é que no lugar de '$revista' deveria aparecer Revista1 ou Revista2 conforme a seleção da revista, aí ficaria assim:

SELECT * FROM site WHERE Revista1 GROUP BY Indice ORDER by Indice ASC
na verdade eu preciso que faça isso, se não terei de fazer várias páginas, uma para cada revista.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A cláusula WHERE Do mysql consiste em

 

ONDE x [operador] y

 

Onde operador pode ser

= , <= , >= , like , <>, etc...

 

No caso você só coloca Revista1

Mas... revista 1 o que ?

 

Creio que seria assim

 

SELECT * FROM site WHERE revista='Revista1' GROUP BY Indice ORDER by Indice ASC

Concatene a variável.. assim funciona mais rápido;

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi Renato. meus conhecimentos de PHP não vão tão longe assim, mas obrigado pela resposta.

ficaria como neste caso você poderia me dar um exemplo?

SELECT * FROM site WHERE '$revista' GROUP BY Indice ORDER by Indice ASC
obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT * FROM site WHERE revista='".$revista."' GROUP BY Indice ORDER by Indice ASC

 

revista seria o nome do campo

 

Você está limitando os resultados de acordo com algum campo.

 

o campo 'revista' que eu adicionei acima é um exemplo. Veja na sua tabela o nome correto do campo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vou tentar explicar melhor o que preciso.

em minha tabela eu tenho os seguintes campo:

Revista1 | Revista2 | Revista3 - e assim por diante.
os valores existentes nestes campos são números.

quando o valor é zero(0) o cliente não anuncia na revista determinada.

quando o valor é maior que zero(0) ele está anunciando na revista determinada.

então seria assim:

fazer é um SELECT por exemplo no campo "Revista1" e listar apenas o anunciante que tem número maior que zero(0)

tentei assim

SELECT * FROM site WHERE Revista1 > 0 GROUP BY Indice ORDER by Indice ASC
mas não deu certo.

será que deu para entender.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, tua tabela tá bem estranha. Dá uma estudada em normalização, porque a modelagem tá bem esquisita. Independente de qualquer coisa, a sua dúvida é no Mysql, então vou mover para o fórum correto.

 

Tópico Movido

PHP http://forum.imasters.com.br/public/style_emoticons/default/seta.gif MySQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.