question

Matriz para exibir consultas multidimensionais no MySQL?

Estou tentando criar um calendário que é exibido da seguinte maneira:

Data | Consultant1 | Consultant2 | Consultant3
25/06/13 | Client1 | Event_Type1 | Client2 | Event_Type1 | Client1 | Event_Type2
26/06/13 | Client1 | Event_Type2 | Client2 | Event_Type3 | Client1 | Event_Type1

No meu banco de dados, tenho as seguintes tabelas e colunas:

billing_status >> billing_id, billing_type, billing_color
calendar_event >> calendar_event_id, consultant_id, client_id, event_id, billing_id, data
cliente >> client_id, client_name
Consultor de >> consultant_id, f_name, l_name
datas >> data (Nota: cada data é usada apenas uma vez e eles são usados como a chave da tabela, mas não todas as datas são usadas. Esta tabela serve como um 'Inventário' das datas disponíveis.
event_type >> event_id, event_type, event_full_name

Estou tentando gerar uma matriz que combina todas as diferentes dimensões usando o seguinte:

$query = "Selecione de calendar_event ce
LEFT JOIN billing_status bs ON ce.billing_id = bs.billing_id
LEFT JOIN cliente cl na ce.client_id = cl.client_id
LEFT JOIN consultor co na ce.consultant_id = co.consultant_id
LEFT JOIN datas dt na ce.date = dt.date
LEFT JOIN event_type et na ce.event_id = et.event_id
GROUP BY ce.consultant_id, ce.date
ORDER BY ce.date";
$consultantresults = mysql_query($query) or die (' falhada de consulta: '. mysql_error());
Echo"<table class="calendar">
<tr class="head">
<th>Data</th>";

ao mesmo tempo ($consultantresult=mysql_fetch_array($consultantresults))
{
$name = $consultantresult [f_name]. " " . $consultantresult [l_name];
$consultant = array($name);
foreach ($consultant as $consultants)
{
Echo "<th>". $consultants. "</th>";
}Echo"</tr>";
}
ao mesmo tempo ($consultantresult=mysql_fetch_array($consultantresults))
{
$events = (matriz
$consutantresult [data] => (matriz
$consultantresult [billing_color] => (matriz
$consultantresult [client_name] => (matriz
$consultantresult [event_type]
)
)
)
);
Echo"<tr>";
foreach ($events as $date => $billing => $client => $type)
{
Echo"<td>" . $date. "</td><td class="". $billing. "">" . $client. " | " . $type. "</td>";
}
Echo"</tr>";
Echo"</table>";
}

Eu não consigo descobrir por que isso não está funcionando. O código gera uma página em branco (mesmo quando eu ver o fonte da página, lá é nada lá)...
resposta Resposta

Você está tentando criar um calendário que seja exibido da seguinte maneira:
Data-Consultor1-Consultor2-Consultor3
25/06/13-Cliente1 | Tipo de Evento1-Cliente2 | Tipo de Evento1-Cliente1 | Tipo de Evento2
26/06/13-Cliente1 | Tipo de Evento2-Cliente2 | Tipo de Evento3-Cliente1 | Tipo de Evento1
.... etc
As tabelas do seu banco de dados são as seguintes:
billing_status >> billing_id, billing_type, billing_color
calendar_event >> calendar_event_id, consultant_id, client_id, event_id, billing_id, data
cliente >> client_id, client_name
consultor >> consultant_id, f_name, l_name
datas >> data (Nota: cada data é usada apenas uma vez e elas são usadas como a chave da tabela, mas nem todas as datas são usadas. Esta tabela serve como um 'Inventário' das datas disponíveis.)
event_type >> event_id, event_type, event_full_name

Primeiramente, é importante verificar as permissões do usuário que está acessando o banco de dados, garantindo que ele tenha permissão para executar as consultas necessárias. Além disso, é fundamental estar utilizando um ambiente de desenvolvimento que suporte a linguagem PHP e o banco de dados MySQL.

Passos para resolver o problema:

  1. Verificar a conexão com o banco de dados. Para isso, utilize o código abaixo:
php connect_error) { die("Conexão falhou: " . $conexao->connect_error); } echo "Conexão bem sucedida"; ?>
  1. Corrigir a consulta SQL para que os dados sejam buscados corretamente. Utilize o seguinte código para fazer a consulta:
php query($query); if ($consultantresults === false) { die('Falha na consulta: ' . $conexao->error); } ?>
  1. Corrigir a geração da tabela HTML para exibir os resultados da consulta. Utilize o seguinte código para isso:
php "; echo ""; echo "Data"; while($consultantresult = $consultantresults->fetch_assoc()) { $name = $consultantresult['f_name'] . " " . $consultantresult['l_name']; $consultant[] = $name; foreach ($consultant as $consultants) { echo "" . $consultants . ""; } echo ""; $events[$consultantresult['data']][] = array( 'billing_color' => $consultantresult['billing_color'], 'client_name' => $consultantresult['client_name'], 'event_type' => $consultantresult['event_type'] ); echo ""; foreach ($events[$consultantresult['data']] as $event) { echo "" . $consultantresult['data'] . "" . $event['client_name'] . " | " . $event['event_type'] . ""; } echo ""; echo ""; } ?>

Após seguir esses passos, sua consulta deverá ser executada corretamente e a matriz multidimensional será gerada e exibida no formato desejado.


ComentáriosComentários
Acho que a resposta não está correta ou que você gostaria de acrescentar mais
alguma informação? Envie o seu comentário abaixo..

Guest


HTML não é permitido!

Image Code

Digite os caracteres que aparecem na imagem por isso sabemos que você é humano!

Receber um email quando alguém acrescenta outro comentário a esta pergunta


Topo da página


Home  Terms
Copyright © Accelerated Ideas 2005-2024
All rights reserved