我一直在创建一个可以访问数据库的网站,我是php的新手。
那张桌子是 cliente table我希望在php中搜索“numSerieProduto_cliente'”,并在找到显示所有行的内容时。
例如:搜索1234,并显示:exemple
我创建的页面,我希望实现这种类型的搜索:
<?php
require_once("./include/membersite_config.php");
if(!$fgmembersite->CheckLogin())
{
$fgmembersite->RedirectToURL("login.php");
exit;
}
if ($_POST["Password"] == 'mypw'){
echo "<a href='register.php'> Registar. </a><br></li>";
echo "<a href='confirmreg.php'> Confirmar a Registar. </a><br></li>";
echo "<a href='access-controlled.php'> Area de Trabalhador. </a><br></li>";
}else{
header('Location:access-controlledlog.php');
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
<title> Area de Admenistrador </title>
<link rel="STYLESHEET" type="text/css" href="style/fg_membersite.css">
</head>
<body>
<div id='fg_membersite_content'>
<p>
Logged in as: <?= $fgmembersite->UserFullName() ?>
</p>
<p>
<a href='login-home.php'>Home</a>
</p>
</div>
</body>
</html>
我该如何实现?
produto表的mysql代码:
CREATE TABLE IF NOT EXISTS `produto` (
`id_produto` int(16) NOT NULL AUTO_INCREMENT,
`numSerie_produto` int(128) NOT NULL,
`nomeDoProduto_produto` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id_produto`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
cliente表的mysql代码:
CREATE TABLE IF NOT EXISTS `cliente` (
`id_cliente` int(16) NOT NULL AUTO_INCREMENT,
`numServico_cliente` int(32) NOT NULL,
`nome_cliente` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
`morada_cliente` varchar(256) COLLATE utf8_unicode_ci NOT NULL,
`telefone_cliente` int(10) NOT NULL,
`produto_cliente` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
`numSerieProduto_cliente` int(128) NOT NULL,
PRIMARY KEY (`id_cliente`,`numServico_cliente`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
答案 0 :(得分:0)
首先,您需要通过php建立与数据库的连接,如此
<?php
$connection = new mysqli("DB_SERVER", "DB_USER", "DB_PASSWORD", "DATABASE_NAME");
?>
然后,您可以使用此连接构建数据库选择语句,如此
function getInfo(){
global $connection; // This is only needed if you use require_once. see below
$stmt = $connection->prepare("SELECT * FROM cliente");
$stmt->execute();
$stmt->close();
}
然后,您可以将该输出分配给这样的变量
$entries = getinfo();
然后因为它将是一个信息数组,你可以迭代这样的信息
foreach($entries as $DBentries){
echo $DBentries['id_cliente'];
echo $DBentries['numServico_cliente'];
// et cetera.... for each column...
}
我还建议您将数据库信息和函数放在单独的文件中,然后将它们包含在require_once中。它使访问连接和功能变得更加容易,并且更加安全。
要构建您可以执行的数据表
<table>
<th>id_cliente</th>
<?php
foreach ($entries as $DBentries) {
echo "<tr>";
echo "<td>".$DBentries['id_cliente']."</td>";
echo "</tr>";
}
?>
</table>
此外,最佳做法是仅在select语句中选择所需的列,而不是使用&#39; *&#39;除非你确实需要每一列,否则使用通配符你可以选择像这样的多个表&#34;
SELECT column_name1,column_name2,column_name3 FROM TABLENAME;