Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite a todos,
Preciso passar um único dado que é o Caminho do Arquivo para outra página PHP. Atualmente tenho o seguinte:
while($linha = mysqli_fetch_assoc($res)) { ?>
<input type="hidden" name="endereco" id="endereco" value="<?php echo $linha["ARQ_CAM_ARQ"]; ?>">
<tr>
<td><center><strong><a id="buscar-nomi" href="JAVASCRIPT:add_action();"><img src="img/livrob.png">
<br><?php echo $linha["ARQ_NOME"]; ?></a></strong></center></td>
<td><?php echo $linha["ARQ_ID"]; ?></td>
<td><?php echo $linha["AUT_NOME"]; ?></td>
<td><?php echo $linha["TEM_NOME"]; ?></td>
<td><?php echo $linha["EDI_NOME"]; ?></td>
<td><?php echo $linha["DIS_NOME"]; ?></td>
<td><?php echo $linha["PAL_CHA_NOME"]; ?></td>
<td><?php echo $linha["ARQ_CAM_ARQ"]; ?></td>
<td><?php echo $linha["TIP_ARQ_NOME"]; } } } ?></td>
</tr>
Ele obviamente dentro do while percorre todo o laço e então passa o caminho do arquivo apenas do último item buscado. Eu preciso que ele passe apenas o caminho do arquivo que eu selecionei abrir. Por exemplo:
Nesta tabela, existe o primeiro campo que é um ícone onde ao clicar nele, ele executa um javascript que adiciona um action para o meu form que então abre uma página da qual eu preciso apenas do campo $linha["ARQ_CAM_ARQ"]; que é o caminho do meu arquivo, pois eu alimento um visualizador de PDF com o endereço deste arquivo para então ser visualizado!
Não consigo de forma alguma passar o valor deste campo relacionado a linha da minha tabela. Já fiz um array name="endereco[]" onde ele passa todos os caminhos, mas eu preciso apenas do caminho do arquivo selecionado.
Acredito que isto tenha mais de uma forma de fazer, seja por php ou por javascript, tentei uma gambi em JS mas ele enviou apenas o caminho do primeiro arquivo e então ta errado também :p
>
Já tentou fazer um link e passa esse valor via $get?
pagina.php?namearq=NomeArquivo e pega na pagina o $_GET['nomearq'];, essa e um alternativa.
Preciso fazer via post / request
Então utilize AJAX com post request.
Então utilize AJAX com post request.
Sou crú em AJAX, tipo 0 conhecimento. Vou pesquisar sobre e também alguns exemplos para entender como ele poderá me ajudar, obrigado.
Encontrei algo sobre e parece que somente via ajax mesmo... Só que não consegui fazer nem próximo, você teria algum exemplo? Tentei algo mais ou menos assim:
$.ajax({
url: 'visualiza.php',
type: 'POST',
data: $('form-busca').serialize()
});
Tentei umas gambiarra tipo assim (quase funcionou):
JS:
function add_action(data) {
alert(data); //OK ELE PEGOU O VALOR QUE PRECISO
//agora preciso passar este valor via post/request para outra página php
document.getElementById("form-busca").action = "visualiza.php";
document.getElementById("form-busca").submit();
}
Na page:
<td><center><strong>
<a href="JAVASCRIPT:add_action('<?=$linha['ARQ_CAM_ARQ'] ?>');"><img src="img/livrob.png">
<br><?php echo $linha["ARQ_NOME"]; ?>
</a>
</strong></center></td>
Ele joga o atributo correto como parâmetro da minha função, pega certinho o que eu preciso, mas la no visualiza.php ele não consegue pegar o dado... O nome está 'endereco' porque estava usando este nome como id para praticamente todos os elementos com o value que eu queria, nenhum deu certo...
O input hidden até passa o parâmetro, mas é como eu informei, ele passa apenas do último porque percorre todo while de busca e não consigo passar com ele apenas o que eu clicar.
$buscaobra = $_POST['endereco'];
$buscaobra = $_REQUEST['endereco'];
Já tentou fazer um link e passa esse valor via $get?
pagina.php?namearq=NomeArquivo e pega na pagina o $_GET['nomearq'];, essa e um alternativa.