passar item da base como referência em PHP
Enviado: 20 Mai 2014 23:20
Colegas,
Estou tentando fazer uma função simples em PHP, em que o usuário vai clicar em um dos itens listados da base de dados, abrindo uma nova tela com detalhes sobre o registro da base escolhido pelo usuário.
Fiz, em princípio, um primeiro PHP, que lista os itens da base para o usuário escolher, assim:
Até aqui tá tudo certo.
O segundo PHP, que vai exibir os detalhes do item escolhido, está assim:
Ainda vou aprimorar estes PHPs. Mas o que estou precisando agora é passar para o segundo PHP o item da base escolhido pelo usuário no primeiro.
Onde coloquei $r=6, na linha 10 do segundo PHP, eu queria colocar algo como $r=nr do item escolhido.
Imaginei que isso poderia ser obtido por alguma cláusula da tag <a href>, mas não achei nada assim pesquisando.
Alguém sabe me dizer como fazer isso?
Estou tentando fazer uma função simples em PHP, em que o usuário vai clicar em um dos itens listados da base de dados, abrindo uma nova tela com detalhes sobre o registro da base escolhido pelo usuário.
Fiz, em princípio, um primeiro PHP, que lista os itens da base para o usuário escolher, assim:
<html>
<head>
<title>Consulta</title>
</head>
<body>
<?php
$txtArquivo = "COMPRAS.DBF";
$txtCampo = "PRODUTO";
$txtPesquisa = ($_POST["filtro3"]);
$dsn = "DRIVER={Microsoft dBase Driver (*.dbf)};DBQ=".dirname($_SERVER['SCRIPT_FILENAME'])."/meusarq/agenda/;";
$conn= odbc_connect($dsn,"","");
if(!$conn)
{ exit("conexao falhou: ".odbc_errormsg()); }
if (ctype_digit($txtPesquisa)) {
$sql="SELECT * FROM ".$txtArquivo." WHERE ".$txtCampo." = '".$txtPesquisa."'";
} else {
$sql="SELECT * FROM ".$txtArquivo." WHERE ".$txtCampo." LIKE '%".$txtPesquisa."%'";
}
$rs=odbc_exec($conn,$sql);
if (!$rs)
{exit("Error in SQL");}
$i = 0;
$fieldCount = odbc_num_fields($rs);
echo '<table Border="1"><tr>';
while ($i < $fieldCount)
{
$i++;
$fieldName = odbc_field_name($rs, $i);
echo "<th>$fieldName</th>";
}
echo "</tr>";
while (odbc_fetch_row($rs))
{
echo "<tr>";
$i = 0;
while ($i < $fieldCount)
{
$i++;
$fieldName = odbc_field_name($rs, $i);
$compname=odbc_result($rs,$fieldName);
if ($i==1)
{echo "<td><a href='dproduto.php' target='_top'>".$compname."</a></td>";}
else
{echo "<td>$compname</td>";}
}
echo "</tr>";
}
echo "</table>";
odbc_close($conn);
?>
</body>
</html>
Até aqui tá tudo certo.
O segundo PHP, que vai exibir os detalhes do item escolhido, está assim:
<html>
<head>
<title>Detalhes do produto</title>
</head>
<body>
<?php
$dsn = "DRIVER={Microsoft dBase Driver (*.dbf)};DBQ=".dirname($_SERVER['SCRIPT_FILENAME'])."/meusarq/agenda/;";
$conn= odbc_connect($dsn,"","");
$r= 6;
if(!$conn)
{ exit("conexao falhou: ".odbc_errormsg()); }
$sql="SELECT * FROM COMPRAS";
$rs=odbc_exec($conn,$sql);
if (!$rs)
{exit("Error in SQL");}
while( false !== ( $Row = @odbc_fetch_array( $rs ) ) ) {
}
odbc_fetch_row($rs,$r);
$prd = odbc_result($rs,"produto");
$prm = odbc_result($rs,"prmaximo");
echo '<br>';
echo '<br>';
echo '<p>';
echo '<strong>'."Produto: ".'</strong>';
echo '<font face="arial" color="red" size="21">'.$prd.'</font>';
echo '<br>';
echo '<p>';
echo '<p>';
echo "Preço máximo: ";
echo $prm;
odbc_close($conn);
?>
</body>
</html>
Ainda vou aprimorar estes PHPs. Mas o que estou precisando agora é passar para o segundo PHP o item da base escolhido pelo usuário no primeiro.
Onde coloquei $r=6, na linha 10 do segundo PHP, eu queria colocar algo como $r=nr do item escolhido.
Imaginei que isso poderia ser obtido por alguma cláusula da tag <a href>, mas não achei nada assim pesquisando.
Alguém sabe me dizer como fazer isso?