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

Exibindo Dados De Duas Tabelas 2


carlosinss

Pergunta

Pessoal, meus agradecimentos pela atenção e desculpas por não ter me expressado bem.

Esclareço que o que pretendo fazer é exibir dados de duas tabelas em um local, sendo que isso será efetuado em duas oportunidades a primeira num campo text e a segunda num relatório para os usuários.

Vejamos os códigos:

Na exibição em um campo text, que é a idéia, venho atualmente exibindo usando um campo select, porém a página está pesada pois as tabelas são gigantes.

AQUI PESQUISO OS DADOS DOS SERVIDORES

$sql = "SELECT * FROM servidor WHERE siape='$var1'";

$result = mysql_query($sql);

$wcargo = mysql_result($result,0,"catfun");

........................................................................................

AQUI A EXIBIÇÃO DO RESULTADO PORÉM ROTINA QUE ESTÁ PESADA DE MAIS

<p style="margin-top: 0; margin-bottom: 0"><font size="2" face="Tahoma">Cargo:</font></p>

<p style="margin-top: 0; margin-bottom: 0">

<select class ="drop" size="1" name="wcargo

<?

// tabela de cargos

$cargo = "select * from cargos where cod_cargo = '$wcargo'";

$rcargo = mysql_query($cargo,$link);

$qualquer = mysql_result($rcargo,0,0);

$query1 = "select * from cargos order by cod_cargo";

$rquery1 = mysql_query($query1);

while ($campo = mysql_fetch_array($rquery1))

{

echo "<OPTION VALUE=\"$campo[0]\"";

if ($campo[0] == $qualquer)

{

echo " selected";

}

echo " >$campo[0] - ".substr($campo[1],0,60)."</OPTION>";

}

// Fim da tabela de cargos

?>

</select>

A idéia é exibir num CAMPO TEXT pois ficaria mais rápido

O segundo caso é exibir num relatório, que foi o código que postei, vejamos de uma outra forma.

AQUI PESQUISO NO PRIMEIRO SELECT OS DADOS DOS SERVIDORES EM DUAS TABELAS

$pesquisa = "select b.siape, b.nome, b.espec, a.totpontos from servidor b inner join pontos a on a.siape = b.siape where candidato in ('S') and catfun in('435001','434001','424001','009001','032011') order by a.totpontos desc";

$result = mysql_query($pesquisa) or die("Erro: ".mysql_error());

COM A IDÉIA QUE skol ENVIOU TENTEI ACRESCENTAR MAIS ESTE SELECT

$respec = "select a.espec, b.codesp, b.nomeesp from servidor a inner join tabespec b on a.espec = b.codesp";

$wespec = mysql_query($respec) or die("Erro: ".mysql_error());

...........................................

E ALTEREI ESSA ROTINA PARA CONCATENAR, PORÉM ESTÁ DANDO ERRO

<?

if (mysql_num_rows($result)>0)

{

while ($pm = mysql_fetch_array($result,$wespec))

{

echo "

<tr onmouseover='pinta(1,this)' onmouseout='pinta(2,this)' height='18'>

<td align='center'>$pm[siape]</td>

<td>&nbsp;";

echo "<b>$pm[nome]</b>";

echo "

</td>

<td align='center'>$pm[espec]."-".$pm[nomeesp]</td>";

echo "

<td align='center'>$pm[totpontos]</td>";

}

}

?></td></tr>

O erro apresentador é o seguinte:

Notice: Undefined index: nomeesp in c:\arquivos de programas\easyphp1-8\www\selecao\rpontosmed.php on line 92

Abraços a todos

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
A idéia é exibir num CAMPO TEXT pois ficaria mais rápido

Bem.. não acho muito conveniente isso... colocar tudo num camp text

mas já que você está falando...

<input type = 'text' value = '<?php while($campo = mysql_fetch_array($rquery1)) echo "campo[0]"; ?>'>

Link para o comentário
Compartilhar em outros sites

  • 0

cara...seguinte:

referente ao erro, coloca aí a linha que tá dando o erro, porque ele avisa né?

referente às tabelas, tenta buscar somente o que tu deseja, não usa o "*"!

tipo...ao invés de 'select * from tabela' usa 'select nome from tabela' (é mais rápido e economiza processamento)

referente ao campo, desculpa a ignorância, mas não entendi o esquema aí de dois momentos?

é na mesma tela que aparece as duas consultas?

tu pode botar o valor em um campo de texto assim:

<?

$con = 'tua conexão';

$sql = 'teu sql';

$resul = mysql_query($sql, $con);

$valor = mysql_result($resul,0,"catfun");

?>

<input type=text value=<? echo $valor; ?>>

e o select, vai com um for, e coloca o echo no lugar do nome no option(que parece está certo o teu...)

detalhes finais,

não sei se tu viu, mas teu select não está fechando a tag (>)

e post a linha que está dnaod erro aí pra nós...

vlw

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...