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

Select Não Repetir Registro


misterviralata

Pergunta

Ola Amigos!

Apouco pedi ajuda para descobrir como selecionar duas tabelas em uma mesma query

o Beraldo me ajudou

$sql = "Select * From tabela1 UNION Select * From tabela2 order by descricao ASC";

na tabela1 tenho

id descricao

1 adriana

2 marcos

na tebela2 tenho

id descricao

1 bete

2 adriana

com o script que o beraldo passou da pra tazer o resultado das duas tabelas

$sql = "Select * From tabela1 UNION Select * From tabela2 order by descricao ASC";

$resu = mysql_query ($sql);

while ($fila=mysql_fetch_row($resu)){

echo " $fila[0] $fila[1]<br>";

}

e imprime assim:

1 adriana

2 adriana

1 bete

2 marcos

perfeito funcionou muito bem!

Minha pergunta é como faço para não deixar repetir o nome, aparecer assim:

1 adriana

1 bete

2 marcos

Obrigado!

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

A sintaxe SQL está correta, mas creio que você não conseguirá fazer com que esses registros não se repitam pois estão em tabelas diferentes..

O que você pode fazer é colocar todo o resultado do select em um array e apagar os repetidos usando array_unique()

http://br.php.net/manual/pt_BR/function.array-unique.php

[]'s

Link para o comentário
Compartilhar em outros sites

  • 0

DÊ uma olhada neste exemplo:

<?php
$nomes = array();

$sNome = "Adriana Bete Beraldo Maria João Adriana Beraldo João José Beraldo Bete";
$ex = explode (" ", $sNome);

for ($z = 0; $z < count ($ex); $z++)
{
    $nomes[$z] = $ex[$z];
}
echo "<pre>";
print_r ($nomes);
echo "</pre>";

$nomes_unique = array_unique ($nomes);

echo "<pre>";
print_r ($nomes_unique);
echo "</pre>";

?>

:D

[]'s

Link para o comentário
Compartilhar em outros sites

  • 0

Beraldo desculpe, mas eu também consegui fazer de acordo com o ex que você passou no link http://br.php.net/manual/pt_BR/function.array-unique.php

Mas eu me expressando mal

como faço para tira

Array

(

[0] => Adriana

[1] => Bete

[2] => Beraldo

[3] => Maria

[4] => João

[8] => José

)

e ficar só

Adriana

Bete

Beraldo

Maria

João

José

Link para o comentário
Compartilhar em outros sites

  • 0

ué pensei que o print_r que fazia aparecer o Array ( [0] => ), a linha está com os valores certo?

$nomes_unique = array_unique ($nomes);

tentei imprimir o resultado usando echo e não funciona porque?

echo"$nomes_unique";

e como imprimo sem o danado do ( [0] => )

Desculpe estar perguntando tanto assim é que estou curioso para saber!

Link para o comentário
Compartilhar em outros sites

  • 0

Ah, pensei que você queria saber qual função estava retirando os valores repetidos... :)

A função que apresenta a array daquela forma é realmente a print_r(). Se vocÊ der um echo em um array (echo $array), será apresentado Array. Coicidentemente isso equivaleria a:

echo gettype ($array);//desde que $array seja um array

Uso a tag <pre> para que sejam interpretados os espaços gerado pela função print_r().

[]'s

Link para o comentário
Compartilhar em outros sites

  • 0

:( To ficando desesperado continuo não entendendo

se colocar assim

<?php

$nomes = array();

$sNome = "Adriana Bete Beraldo Maria João Adriana Beraldo João José Beraldo Bete";

$ex = explode (" ", $sNome);

for ($z = 0; $z < count ($ex); $z++)

{

$nomes[$z] = $ex[$z];

}

$nomes_unique = array_unique ($nomes);

echo gettype($nomes_unique);//desde que $array seja um array

?>

ainda vai imprimir assim:

array

Por favor mostra um exemplo pra mim de como imprimir assim:

e ficar só

Adriana

Bete

Beraldo

Maria

João

José

Link para o comentário
Compartilhar em outros sites

  • 0

Beraldo

Um outro amigo de outro forum ajudou e deu certo, ficou assim:

<?php

$nomes = array();

$sNome = "Adriana Bete Beraldo Maria João Adriana Beraldo João José Beraldo Bete";

$ex = explode (" ", $sNome);

for ($z = 0; $z < count ($ex); $z++)

{

$nomes[$z] = $ex[$z];

}

$nomes_unique = array_unique ($nomes);

echo "<pre>";

foreach($nomes_unique as $nomes){

echo $nomes . "<br>";

}

echo "</pre>";

?>

Link para o comentário
Compartilhar em outros sites

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...