Informar variável associada a uma linha de um campo da tabela, para um template

11/01/2016

0

PHP

Estou tentando montar uma lista de links que apontem para um template, onde uma das variáveis, com o conteúdo de um dos campos da tabela, deve ser informada dinamicamente na template (estando associada a uma linha específica da tabela).


O CÓDIGO QUE GERA A LISTA:

require_once("conexao.php");

$sql = "SELECT `username`, `userid` FROM `banco` WHERE username='$user_name'"; // aqui ele pega o username do usuário logado pra gerar a lista buscando no BD

$query = $mysqli->query($sql);
while ($dados = $query->fetch_assoc()) { //alguns dados
echo '<div>';
echo '<br>Nome: ' . $dados['username'] . ' ';
echo 'ID: ' . $dados['userid'] . ' ' <br><br>';

// AQUI É PRA GERAR A LISTA DE LINKS P/ O TEPLATE
echo "

<a href='template.php'>Ir para a template e informar qual linha deve ser pega na variável </a>

";
echo '</div>';
}



O CAMPO QUE QUERO PEGAR É GERADO DESSA FORMA


// BASE
ob_start();
include "../saida.php";
$output = ob_get_clean();
file_put_contents('filename', $output);
echo $output;
?>

Daí tenho o SQL que grava esse dado no banco, num campo text long, e até aí tudo ok


Na página do template, o código:

require_once("conexao.php");
$sql = "SELECT `campo` FROM `banco` WHERE username='$user_name'";
$query = $mysqli->query($sql);
while ($dados = $query->fetch_assoc()) {
echo utf8_encode($dados['campo']);
}



Assim ele pega todos os resultados, e retorna todos os conteúdos deste campo da tabela associado ao usuário logado, e escreve um resultado abaixo do outro... agora queria gerar uma lista de links, e gerar uma template pra trazer o conteúdo de cada linha específica da tabela, com o campo associado à linha da tabela que gerou o link.
Joaci Gomes

Joaci Gomes

Responder

Post mais votado

11/01/2016

1 - Cria um campo no BD com auto incremento;

ALTER TABLE tabela ADD `idautoinc` INT NOT NULL AUTO_INCREMENT ,
ADD PRIMARY KEY ( `idautoinc` ) ;


2 - Mude o SELECT para incluir este campo:

$sql = "SELECT `diagravacao`, `idautoinc` FROM `tabela` WHERE username='$user_name' ORDER BY `diagravacao` DESC";


3 - Muda o while para:

$query = $mysqli->query($sql);
while ($dados = $query->fetch_assoc()) {
echo '<div id="resultsbd">';
echo '<br><b>Data:</b> ' . $dados['diagravacao'] . '    ';
echo '<b>Id do campo com autoincremento:</b>' . $dados['idautoinc'] . '<br><br>';
}


4 - Cria uma variável pra pegar esse id:

$idautoinc = $dados['idautoinc'];


5 - E agora passa o número do campo com autoincremento pela URL, assim:

<a href='template.php?idautoinc=$idautoinc'></a>


6 - Então pega o campo:

$idAutoInc = $_GET['idautoinc'];


7 - E agora consulta o campo específico, assim:

$sql = "SELECT `campo` FROM `tabela` WHERE username='$user_name' AND idcalc='$idautoinc'";


8 - E assim cada link pega o id do campo correto:

$query = $mysqli->query($sql);
while ($dados = $query->fetch_assoc()) {
echo utf8_encode($dados['campo']);
}

Nilton Braz

Nilton Braz
Responder

Mais Posts

12/01/2016

Joaci Gomes

Boa noite Devers,

Desculpa a demora no feedback. Testado e aprovado! Mais uma vez obrigado!



Esse fórum é show!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar