Olá
Tenho um formulário em que o utilizador escolhe as provas e o atleta para saber quais os recordes pessoais desse atleta (a melhor marca em cada uma das provas escolhidas).
![Imagem Colocada]()
Até agora, tudo funciona. Mas gostaria de optimizar a coisa. Ou seja, gostaria que o utilizador (cf_user_id) apenas escolhesse o atleta em que gostava de saber quais os recordes pessoais não havendo necessidade de escolher as provas.
Para isso, preciso fazer uma listagem das melhores marcas de um atleta (atleta_select) em cada prova (nome_marcas) que ele tem inserida numa tabela. Mas eu não sei quais são as provas que foram introduzidas pelo utilizador na tabela (apo_chronoforms_data_marcas_registo).
tabela = (apo_chronoforms_data_marcas_registo)
utilizador = (cf_user_id)
atleta = (atleta_select)
prova = (nome_marcas)
Então, estava a tentar fazer o seguinte:
1 - fazer uma pesquisa à tabela (a partir de um formulário) em que as provas de um determinado atleta que fossem encontrasse (e que não fossem repetidas) eram colocadas num array.
2 - A partir dos dados desse array, fazer uma pesquisa à mesma tabela onde pesquisava as provas que o atleta tem introduzidas seleccionando apenas a melhor marca em cada prova.
Para o passo 1 tentei o seguinte, mas dá erro
. O código a partir do salect no phpMyadmin faz exatamente o que eu preciso. Mas ao tentar passar para um array dá erro
Código (PHP):
Para o passo 2, tenho o seguinte código mas não sei depois como fazer a pesquisa com o resultado do array.
Código (PHP):
Depois o while, etc...
Neste 2º passo, o codigo sql funciona mas tenho que estar a fazer uma pesquisa por cada prova que o utilizador escolhe.
Desde já, os meus agradecimentos por possíveis ajudas
António Graça
Tenho um formulário em que o utilizador escolhe as provas e o atleta para saber quais os recordes pessoais desse atleta (a melhor marca em cada uma das provas escolhidas).

Até agora, tudo funciona. Mas gostaria de optimizar a coisa. Ou seja, gostaria que o utilizador (cf_user_id) apenas escolhesse o atleta em que gostava de saber quais os recordes pessoais não havendo necessidade de escolher as provas.
Para isso, preciso fazer uma listagem das melhores marcas de um atleta (atleta_select) em cada prova (nome_marcas) que ele tem inserida numa tabela. Mas eu não sei quais são as provas que foram introduzidas pelo utilizador na tabela (apo_chronoforms_data_marcas_registo).
tabela = (apo_chronoforms_data_marcas_registo)
utilizador = (cf_user_id)
atleta = (atleta_select)
prova = (nome_marcas)
Então, estava a tentar fazer o seguinte:
1 - fazer uma pesquisa à tabela (a partir de um formulário) em que as provas de um determinado atleta que fossem encontrasse (e que não fossem repetidas) eram colocadas num array.
2 - A partir dos dados desse array, fazer uma pesquisa à mesma tabela onde pesquisava as provas que o atleta tem introduzidas seleccionando apenas a melhor marca em cada prova.
Para o passo 1 tentei o seguinte, mas dá erro
Citar
mysql_fetch_array() expects parameter 1 to be resource,
Código (PHP):
$lista_provas1=mysql_query("
SELECT DISTINCT (`prova_marcas`)
FROM `apo_chronoforms_data_marcas_registo`
WHERE `cf_user_id`=$user_id AND
`nome_marcas` = '{$form->data['atleta_select']}'");
$lista_provas=array($lista_provas1);
while ($linha = mysql_fetch_array($lista_provas)) {
echo $linha['prova_marcas'];
}
SELECT DISTINCT (`prova_marcas`)
FROM `apo_chronoforms_data_marcas_registo`
WHERE `cf_user_id`=$user_id AND
`nome_marcas` = '{$form->data['atleta_select']}'");
$lista_provas=array($lista_provas1);
while ($linha = mysql_fetch_array($lista_provas)) {
echo $linha['prova_marcas'];
}
Para o passo 2, tenho o seguinte código mas não sei depois como fazer a pesquisa com o resultado do array.
Código (PHP):
$prova1 = mysql_query("
SELECT *
FROM `apo_chronoforms_data_marcas_registo`
WHERE `cf_user_id`=$user_id AND
`nome_marcas` = '{$form->data['atleta_select']}' AND `prova_marcas` = '{$form->data['prova_select1']}' ORDER BY `marca_marcas` LIMIT 1");
SELECT *
FROM `apo_chronoforms_data_marcas_registo`
WHERE `cf_user_id`=$user_id AND
`nome_marcas` = '{$form->data['atleta_select']}' AND `prova_marcas` = '{$form->data['prova_select1']}' ORDER BY `marca_marcas` LIMIT 1");
Depois o while, etc...
Neste 2º passo, o codigo sql funciona mas tenho que estar a fazer uma pesquisa por cada prova que o utilizador escolhe.
Desde já, os meus agradecimentos por possíveis ajudas
António Graça