Ir para conteúdo
Fórum Script Brasil
  • 0

Botões com nomes diferentes.


AlexArt5

Pergunta

Olá amigos!

Sou inexperiente na linguagem PHP e preciso de ajuda em uma questão.

O objetivo é criar botões com nomes de strings presentes em um banco de dados (values) cujos nomes "repetidos" sejam ignorados.

Em outras palavras, se houver nomes (strings ) repetidas (iguais entre si em nome e tamanho) ele cria um botão com apenas uma ocorrência.

EX.: se houver dez strings com o nome:"Variável", o código deve criar apenas um botâo com o nome "Variável".

<?php
// Conexão com o banco de dados
$conn = @mysql_connect("localhost", "root", "") or die("Não foi possível a conexão com o Banco");
// Selecionando banco
$db = @mysql_select_db("comp7", $conn) or die("Não foi possível selecionar o Banco");

    //Criamos a fila
    $sql = mysql_query("SELECT * FROM tabela ");
    // Descobrimos o total de registros encontrados
    $numRegistros = mysql_num_rows($sql);
    
    // Criamos um array que receberá as strings
    $comparar=array();
        // Criamos uma variável simples para controle
    $passo=0;
    
        // carraga dados do banco
        while ($produto = mysql_fetch_row($sql)) {

        // aloca somente a primeira palavra da string
        $sa= explode(" ", $produto[1]);

        // insere espaços em ambos os lados da nova string
        $sb= array(str_pad($sa[0], 18,"_", STR_PAD_BOTH));

        // array que aloca todas as strings convertidas
        $comparar[]=$sb[0];
                // quando não houver mais dados
                if(!$produto){
                    $passo=1;
                }
            
            
        }//while

        // começa a comparação
        if($passo=1){
            for($c=0; $c<370; $c++){

            // se os dados do indice do array $comparar[$c] for diferente dos dados do indice do array $comparar[$c+1]
                if ( @$comparar[$c+1] !== @$comparar[$c]) {

                // crie um botão com o nome da string em $comparar[$c]
                    echo '<input type="submit"  value="'.$comparar[$c].'" />';
                }//if
                
            } //for
    
        }//if $passo    

?>

Lembrando que a tabela possui três campos:

id Auto

texto varchar(255)

preço float

formato MyIsam.

Vale resaltar que a tabela possui dezenas de nomes repetidos, os quais, se não forem tratado, criará botões com nomes repetidos.

Esse código funciona perfeitamente! Pelo menos aqui funciona.

Mas eu ainda não consegui fazer com que os botões tenham o mesmo tamanho. Dá seempre uma diferença de espaços.

Há uma solução melhor para esse caso?

Alguém pode me ajudar?

Desde já , obrigado!

Editado por AlexArt5
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...