Informar variável associada a uma linha de um campo da tabela, para um template
11/01/2016
0
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.
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
Curtir tópico
+ 1
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']);
}
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
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!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Desculpa a demora no feedback. Testado e aprovado! Mais uma vez obrigado!
Esse fórum é show!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Responder
Clique aqui para fazer login e interagir na Comunidade :)