Total chamadas [RESOLVIDO]

1. Total chamadas [RESOLVIDO]

Victor
detoniks

(usa Debian)

Enviado em 27/02/2013 - 16:53h

Boa tarde,

Tenho uma <table> que mostra na tela o resultado de uma query mais ou menos assim:

Chamadas ativas | Ramal | IP | Status
- 1000 1.1.1.1 online
- 1001 2.2.2.2 online
- 2003 3.3.3.3 online
- 6008 4.4.4.4 online
e assim por diante

Para listar o ramal, ip e status eh resultado de uma query na tabela ramais que possui esses dados
Porem para listar o campo chamadas ativas eu tenho uma query que conta as chamadas do ramal de uma OUTRA tabela. Ate ai tudo bem, a query conta as chamadas, porem não consigo listar certo.
ex:
o resultado da query da minha tabela chamadas tras o resultado:
Array ( [RAMAL] => 2818 [TOTAL_CHAMADAS] => 1 ) Array ( [RAMAL] => 3008 [TOTAL_CHAMADAS] => 1 ) Array ( [RAMAL] => 3020 [TOTAL_CHAMADAS] => 1 ......

Porém não consigo listar a chamada certa, ao lado do ramal certo no campo "chamadas ativas"
Estou listando assim:
for ($i = 0; $i < $sql["ROWS"]; $i++) {
echo "<tr class=\"tabline_cor" . $alternate . "\">
<td align=\"center\">" . $chamadas[$i]["TOTAL_CHAMADAS"] . "</td>
<td>" . $sql[$i]["RAMAL"] . "</td>
<td>" . $sql[$i]["IP"] . "</td>
<td>" . $sql[$i]["LATENCIA"] . "</td>
<td align=\"center\">" . $sql[$i]["STATUS"] . "</td>
}
tentei foreach e nada tbm
porem a listagem sai em sequencia, ou seja, não esta botando o TOTAL_CHAMADAS ao lado do RAMAL certo

=/


  


2. MELHOR RESPOSTA

Perfil removido
removido

(usa Nenhuma)

Enviado em 28/02/2013 - 15:07h

Faz essa SQL:

$sql_comando = "SELECT aux.total_chamadas, ri.ramal, ri.ip, ri.latencia
FROM ramais_info ri
LEFT JOIN (SELECT c.ramal, COUNT(*) as total_chamadas
FROM canais_info c
GROUP BY c.ramal) aux ON ri.ramal= aux.ramal
WHERE 1=1" . (!empty($data['field']) ? " AND lower(" . $data['stype'] . ") LIKE '%" . strtolower($data['field']) . "%'" : "") . $statusw[$data['status']] . "" . $latenciaw[$data['latencia']] . "";

E bem aqui: <td align=\"center\">" . $chamadas[$i]["TOTAL_CHAMADAS"] . "</td>

Muda pra: <td align=\"center\">" . $sql[$i]["TOTAL_CHAMADAS"] . "</td>

Diz se funcionou



3. Re: Total chamadas [RESOLVIDO]

Victor
detoniks

(usa Debian)

Enviado em 28/02/2013 - 08:27h

alguem?


4. Re: Total chamadas [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 28/02/2013 - 10:23h

detoniks escreveu:

Boa tarde,

Tenho uma <table> que mostra na tela o resultado de uma query mais ou menos assim:

Chamadas ativas | Ramal | IP | Status
- 1000 1.1.1.1 online
- 1001 2.2.2.2 online
- 2003 3.3.3.3 online
- 6008 4.4.4.4 online
e assim por diante

Para listar o ramal, ip e status eh resultado de uma query na tabela ramais que possui esses dados
Porem para listar o campo chamadas ativas eu tenho uma query que conta as chamadas do ramal de uma OUTRA tabela. Ate ai tudo bem, a query conta as chamadas, porem não consigo listar certo.
ex:
o resultado da query da minha tabela chamadas tras o resultado:
Array ( [RAMAL] => 2818 [TOTAL_CHAMADAS] => 1 ) Array ( [RAMAL] => 3008 [TOTAL_CHAMADAS] => 1 ) Array ( [RAMAL] => 3020 [TOTAL_CHAMADAS] => 1 ......

Porém não consigo listar a chamada certa, ao lado do ramal certo no campo "chamadas ativas"
Estou listando assim:
for ($i = 0; $i < $sql["ROWS"]; $i++) {
echo "<tr class=\"tabline_cor" . $alternate . "\">
<td align=\"center\">" . $chamadas[$i]["TOTAL_CHAMADAS"] . "</td>
<td>" . $sql[$i]["RAMAL"] . "</td>
<td>" . $sql[$i]["IP"] . "</td>
<td>" . $sql[$i]["LATENCIA"] . "</td>
<td align=\"center\">" . $sql[$i]["STATUS"] . "</td>
}
tentei foreach e nada tbm
porem a listagem sai em sequencia, ou seja, não esta botando o TOTAL_CHAMADAS ao lado do RAMAL certo

=/


Você precisa juntar as duas tabelas das SQL´s. Coloca elas aqui (as SQL´s).




5. Re: Total chamadas [RESOLVIDO]

Victor
detoniks

(usa Debian)

Enviado em 28/02/2013 - 11:03h

alex.castilho escreveu:

detoniks escreveu:

Boa tarde,

Tenho uma <table> que mostra na tela o resultado de uma query mais ou menos assim:

Chamadas ativas | Ramal | IP | Status
- 1000 1.1.1.1 online
- 1001 2.2.2.2 online
- 2003 3.3.3.3 online
- 6008 4.4.4.4 online
e assim por diante

Para listar o ramal, ip e status eh resultado de uma query na tabela ramais que possui esses dados
Porem para listar o campo chamadas ativas eu tenho uma query que conta as chamadas do ramal de uma OUTRA tabela. Ate ai tudo bem, a query conta as chamadas, porem não consigo listar certo.
ex:
o resultado da query da minha tabela chamadas tras o resultado:
Array ( [RAMAL] => 2818 [TOTAL_CHAMADAS] => 1 ) Array ( [RAMAL] => 3008 [TOTAL_CHAMADAS] => 1 ) Array ( [RAMAL] => 3020 [TOTAL_CHAMADAS] => 1 ......

Porém não consigo listar a chamada certa, ao lado do ramal certo no campo "chamadas ativas"
Estou listando assim:
for ($i = 0; $i < $sql["ROWS"]; $i++) {
echo "<tr class=\"tabline_cor" . $alternate . "\">
<td align=\"center\">" . $chamadas[$i]["TOTAL_CHAMADAS"] . "</td>
<td>" . $sql[$i]["RAMAL"] . "</td>
<td>" . $sql[$i]["IP"] . "</td>
<td>" . $sql[$i]["LATENCIA"] . "</td>
<td align=\"center\">" . $sql[$i]["STATUS"] . "</td>
}
tentei foreach e nada tbm
porem a listagem sai em sequencia, ou seja, não esta botando o TOTAL_CHAMADAS ao lado do RAMAL certo

=/


Você precisa juntar as duas tabelas das SQL´s. Coloca elas aqui (as SQL´s).



Alex, eu ja juntei as tabelas e ja contei as chamadas, juntei assim:
$sql_comando = "SELECT c.ramal, COUNT(*) as total_chamadas
FROM canais_info c
GROUP BY c.ramal";


E com esse resultado ele me retorna um array com o ramal e com a soma das ligaçoes de cada ramal ja.

Meu problema eh na hora de exibir na tela a contagem, ao lado do ramal certo (lembrando que nem todos os ramais tem chamadas ativas, e com isso tenho que listar os ramais da tabela ramais_info, e nao os ramais da tabela canais_info)


6. Outra SQL

Perfil removido
removido

(usa Nenhuma)

Enviado em 28/02/2013 - 11:26h

Eu já entendi. Mas veja bem:

Chamadas ativas | Ramal | IP | Status
- 1000 1.1.1.1 online
- 1001 2.2.2.2 online
- 2003 3.3.3.3 online
- 6008 4.4.4.4 online

Isso acima, já é mostrado certo? Ele tem um SQL que faz isso. Coloque ela aqui.


7. Re: Total chamadas [RESOLVIDO]

Victor
detoniks

(usa Debian)

Enviado em 28/02/2013 - 11:30h

alex.castilho escreveu:

Eu já entendi. Mas veja bem:

Chamadas ativas | Ramal | IP | Status
- 1000 1.1.1.1 online
- 1001 2.2.2.2 online
- 2003 3.3.3.3 online
- 6008 4.4.4.4 online

Isso acima, já é mostrado certo? Ele tem um SQL que faz isso. Coloque ela aqui.


$sql_comando = "SELECT
*
FROM
ramais_info
WHERE
1=1
" . (!empty($data['field']) ? " AND lower(" . $data['stype'] . ") LIKE '%" . strtolower($data['field']) . "%'" : "") .
$statusw[$data['status']] . "" .
$latenciaw[$data['latencia']] . "";


$sql = $mysql->pag_content($sql_comando, $data["pg"], $sys["cuser_showppg"]);

essas condiçoes do where sao exclusivamente para consulta da combo box


8. Re: Total chamadas [RESOLVIDO]

Victor
detoniks

(usa Debian)

Enviado em 28/02/2013 - 15:23h

alex.castilho escreveu:

Faz essa SQL:

$sql_comando = "SELECT aux.total_chamadas, ri.ramal, ri.ip, ri.latencia
FROM ramais_info ri
LEFT JOIN (SELECT c.ramal, COUNT(*) as total_chamadas
FROM canais_info c
GROUP BY c.ramal) aux ON ri.ramal= aux.ramal
WHERE 1=1" . (!empty($data['field']) ? " AND lower(" . $data['stype'] . ") LIKE '%" . strtolower($data['field']) . "%'" : "") . $statusw[$data['status']] . "" . $latenciaw[$data['latencia']] . "";

E bem aqui: <td align=\"center\">" . $chamadas[$i]["TOTAL_CHAMADAS"] . "</td>

Muda pra: <td align=\"center\">" . $sql[$i]["TOTAL_CHAMADAS"] . "</td>

Diz se funcionou



Ta dando erro na query:

Parse error: syntax error, unexpected T_STRING in system/cramais.php on line 81
linha 81 eh essa aqui:
WHERE 1=1" . (!empty($data['field']) ? " AND lower(" . $data['stype'] . ") LIKE '%" . str tolower($data['field']) . "%'" : "") . $statusw[$data['status']] . "" . $latenciaw[$data['latencia']] . "";


9. Re: Total chamadas [RESOLVIDO]

Victor
detoniks

(usa Debian)

Enviado em 28/02/2013 - 15:29h

Ja arrumei o Where e funcionou perfeitamente, linda sua solução cara, nem precisei alterar o codigo.
Parabens o Obrigado






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts