Jump to content


Photo

Não Consigo Trocar Os Valores De Uma Consulta No Mysql


  • Faça o login para participar
2 replies to this topic

#1 dark sonic

dark sonic

    12 Horas

  • Usuários
  • 121 posts
  • Sexo:Não informado

Posted 03/02/2007, 06:02

É o seguinte pessoal eu tenho um sistema aki que eu to fazendo pra voltar com o meu site e o dito cujo é pra adicionar jogos on-line...

O único problema que estou tendo é na hora de fazer a consulta eu inverter os valores dos generos, porque eles estão da seguinte maneira

1 = Ação
2 = Esportes
3 = Corrida
E assim por diante

Porque eu estou usando numeros ao inves de salvar direto no bd o nome do genero !??
Porque eu pretendo fazer um sistema de busca e os generos estando em numeros vai agizilizar um pouco !! Mas enfim vamos a duvida

Quando eu estou aqui no painel na parte de vizualizar todos os jogos adicionados eu deixo a mostra na lista o nome do jogo o genero a data em que ele foi adicionado e se ele está disponivel ou não...

O único problema que estou tendo é de converter os numeros 1,2,3,4,5,6,7,8 para o nome do genero correspondente ao numero Ação,Esportes,Corrida...

Se for pra modificar só um não tem problema nenhum eu faço da seguinta forma

$genero_change = str_replace('1','Ação',$genero);
echo $genero_change;

Só que o problema é que na minha lista eu mostro uns 15 registros por vez e desse jeito que eu estou fazendo não está dando certo... Aqui segue o jeito que estou fazendo

while($x = mysql_fetch_array($sql)) {
$genero = $x[genero];
$genero_change = str_replace('1','Ação',$genero);
$genero_change = str_replace('2','Esportes',$genero);
$genero_change = str_replace('3','Clássicos',$genero);
$genero_change = str_replace('4','Luta',$genero);
$genero_change = str_replace('5','Raciocínio',$genero);
$genero_change = str_replace('6','Estratégia',$genero);
$genero_change = str_replace('7','Corrida',$genero);
$genero_change = str_replace('8','Humor',$genero);
$genero_change = str_replace('9','Cassino',$genero);
$genero_change = str_replace('10','Cartas/Tabuleiros',$genero);
echo $genero_change;
}

O pior de tudo é que eu sei que isso que eu fiz eh um absurdo mesmo e nunca vai dar certo mas eu não consegui encontrar outro tipo de solução e tentei desse jeito !
Tem do jeito que concerteza vai dar certo mas o código vai ficar mt pesado e extenço... eu fiz isso usando IF

if($disponivel == 'off'){
$change = str_replace('off','Não',$disponivel);
$conteudo.= "<td id=\"negativo\">$change</td>";
}else{
$change = str_replace('on','Sim',$disponivel);
$conteudo.= "<td id=\"disponivel\">$change</td>";
}

E assim da perfeitamente correto... só que imagine o tamanho que o código irá ficar se eu tiver que fazer isso para todos os generos !!!

Alguem dá uma ajuda ae pq eu não quero usar a solução dos IFs
Fico no aguardo

#2 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 04/02/2007, 01:02

Você teria que ter uma tabela com os gêneros. Id e o Título dele.
Em outras tabelas que possuem relação com o gênero, você indicaria o Id somente.
Com isso, você poderia obter o Título do gênero referente ao Id registrado em uma tabela, por meio de uma query fazendo uma junção dela com a de gêneros.

Enfim, faça uma busca no Google sobre Álgebra Relacional em SQL.
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#3 dark sonic

dark sonic

    12 Horas

  • Usuários
  • 121 posts
  • Sexo:Não informado

Posted 04/02/2007, 02:54

tinha pensado em fazer isso tbm em fazer uma tabela do tipo jogosonline_categorias ai nela teria os campos nome e o id ai na hora que eu fosse exibir os generos disponiveis teria que fazer um consulta do genero baseada nessa tabela das categorias e na hora de visualizar tbm...

eh meio complicado isso que eu disse mas eu tava fazendo a logica aki e realmente fica mt melhor fazer uma tabela pros generos pq tbm vai facilitar e muito a minha busca !!

mas mesmo assim vlw a intenção de quem entro aki e leu o topico... mas logo mais eu volto ae com o meu código pra vcs opinarem !!

Está ae a "solução" !!

minha tabela onde eu cadastrei os generos dos jogos tem 2 campo ID e NOME e nessa tabela eu adicionei alguns generos

E pra mostrar os generos num select eu fiz da seguinte forma
<select id="select" name="genero">
<?
//MOSTRA OS GENEROS CADASTRADOS
include ("config.php");
$sql_cat = mysql_query("SELECT * FROM jogos_online_cat ORDER By nome ASC") or die ($error_show.mysql_error());
while($x = mysql_fetch_array($sql_cat)){
$id_cat   = $x[id];
$nome_cat = $x[nome];
$conteudo = "<option value=\"$id_cat\">$nome_cat</option>";
echo $conteudo;
}
?>
</select>

E pra fazer a visualisação de acordo com o jogo cadastrado eu fiz assim
$sql_cat = mysql_query("SELECT * FROM jogos_online_cat WHERE id='$genero' ORDER By nome ASC") or die ($error_show.mysql_error());
while($x_cat = mysql_fetch_array($sql_cat)){
$id_cat   = $x_cat[id];
$nome_cat = $x_cat[nome];
onde está $genero está guardado o ID do genero na tabela de jogos_online !!

bom foi assim qualquer duvida sobre o codigo eh soh perguntar !!
vlw ae quem paro aki pra tentar ajudar !!

flw




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq