- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到的问题是下面的代码(整个页面的代码包含在下面),整个页面旨在查看 mysql 数据库并给出所有表的列表(有效) ,然后从下面的下拉列表(有效)中选择一个表,它将列出该表中的所有行,并带有标题行,每列根据数据库中的列名称命名。
问题是下面的脚本根据表中的行数正确列出了行数,但没有返回任何行数据,我已尽力让数据显示在行中,但它们只是显示为空白,有人可以建议我做错了什么吗?
请注意,我目前正在将脚本从在 sqlite 数据库上运行转换为 mysql,只是想在继续转换此脚本之前解决这个问题。
谢谢
<?
$alltables3=$db->query("SHOW COLUMNS FROM $table_name",PDO::FETCH_NUM);
$columns = array();
while($result3=$alltables3->fetch()){
$columns[] = $result3[0];
}
// Display * from SELECTED TABLE
$alltables4=$db->query("SELECT * FROM $table_name",PDO::FETCH_NUM);
while($result4=$alltables4->fetch()){
//echo $result4[0].'<br/>';
echo "<tr>";
// echo "<form name='delete' action='index.php?ID=$row[0]' method='post'>";
$test = $result4[0];
foreach ($columns as $col)
echo "<td>" . $row[$col] . "</td>";
echo "<td><table cellspacing='0' cellpadding='0' style='border: 0px solid transparent'><tr><td><a id='alink' href='index.php?table=$table_name&ED=ED&ID=$test' class='button orange small'>Edit</a></td>";
echo "<td><form action='' name='Delete' method='post'>";
echo "<input type='hidden' name='table' value='$table_name' size='10'><input type='hidden' name='ID' value='$test' size='10'><input type='submit' name='Delete' class='button red small' value='Delete'>";
echo "</form>";
echo "</td></tr></table></td>";
}
echo "</tr>";
?>
</tbody>
为了竞争,我在下面包含了整个页面的所有代码,其中包括上面的代码
<html>
<head>
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
</head>
</body>
<?
if($_SESSION['LOGGED_IN']=="YES")
{
//----------------------------------------------------------------------------------------------------------------------------
// DO NOT EDIT ANYTHING BELOW THIS LINE
//----------------------------------------------------------------------------------------------------------------------------
// SET DEFAULT TABLE TO BE LISTED IN TABLES
// SET TABLE VARIABLE
$table_name = $_GET['table'];
// DISPLAY ONLY THE FIRST TABLE
if (empty($_GET['table'])) {
//$db = new SQLite3('../data.db');
include('db.php');
/*
$tablesquery = $db->query("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name LIMIT 1;");
while ($table = $tablesquery->fetchArray(SQLITE3_ASSOC)) {
if ($table['name'] != "sqlite_sequence") {
$table_name = $table['name'];
$_GET['table'] = $table['name'];
}
}
*/
}
//----------------------------------------------------------------------------------------------------------------------------
?>
<body>
<br>
<div id="tablewrapper">
<div id="tableheader">
<div class="search">
<form>
<select name='table' onchange='this.form.submit()'>
<option value="">All Tables</option>
<?php
// Display all sqlite table names
$alltables=$db->query("SHOW TABLES",PDO::FETCH_NUM);
while($result=$alltables->fetch()){
//echo $result[0].'<br/>';
//echo "<option value='".$result[0]."'>".$result[0]."</option>";
if ($result[0] == $_GET['table']) {
$table_name_2 = ucwords(strtolower(str_replace('_', ' ', $result[0])));
echo "<option selected='selected' value='".$result[0]."'>".$table_name_2."</option>";
}
else
{
$table_name_2 = ucwords(strtolower(str_replace('_', ' ', $result[0])));
echo "<option value='".$result[0]."'>".$table_name_2."</option>";
}
}
?>
</select>
<noscript><input type="submit" value="Submit"></noscript>
</form>
</div>
<div class="search">
<select id="columns" onchange="sorter.search('query')">
<?
$alltables=$db->query("SHOW COLUMNS FROM $table_name",PDO::FETCH_NUM);
while($result=$alltables->fetch()){
//echo $result[0].'<br/>';
// echo "<th><h3>" . $result[0] . "</h3></th>";
//}
$table_name_header = ucwords(strtolower(str_replace('_', ' ', $result[0])));
//echo "<th><h3>" . $table_name_header . "</h3></th>";
echo "<option value='".$result[0]."'>".$table_name_header."</option>";
}
?>
</select>
<input type="text" id="query" onkeyup="sorter.search('query')" />
</div>
<span class="details">
<div>Records <span id="startrecord"></span>-<span id="endrecord"></span> of <span id="totalrecords"></span></div>
<div><a href="javascript:sorter.reset()">Reset</a></div>
</span>
</div>
<?
// DELETE ROW FROM DATABASE
if (isset($_POST['Delete'])) {
$ID_delete = $_POST['ID'];
// INSERT VALUES INTO DATABASE
$db->exec('DELETE FROM ' . $table_name . ' WHERE ID = "' . $ID_delete . '"');
echo "Details have been Deleted";
echo "<br><br>";
} else {
//echo "NO ID";
}
?>
<?
// INSERT NEW ROW INTO DATABASE
if (isset($_POST['Add'])) {
// KEY DATA (TABLE COLUMN NAME)
$string_key = '';
foreach ($_POST as $key => $value) {
$string_key .= $key.',';
}
$string_key_final2 = str_replace(',table,Add,', '', $string_key);
$string_key_final = str_replace(',', ', ', $string_key_final2);
$string_value = '';
// KEY DATA (TABLE VARIABLES TO BE INSERTED)
foreach ($_POST as $key => $value) {
$string_value .= $value.',';
}
$string_value_1 = str_replace(',' . $table_name . ',Add,', '', $string_value);
$string_value_2 = "'" . str_replace("," , "', '", $string_value_1) . "'";
$string_value_final = str_replace('' , '', $string_value_2);
// INSERT VALUES INTO DATABASE
$db->exec('INSERT INTO ' . $table_name . '('. $string_key_final .') VALUES (' . $string_value_final . ')');
echo "Details have been Added";
echo "<br><br>";
}
?>
<table cellpadding="0" cellspacing="0" border="0" id="table" class="tinytable">
<thead>
<tr>
<?php // Display all sqlite column names for chosen table
$alltables=$db->query("SHOW COLUMNS FROM $table_name",PDO::FETCH_NUM);
while($result=$alltables->fetch()){
$table_name_header = ucwords(strtolower(str_replace('_', ' ', $result[0])));
echo "<th><h3>" . $table_name_header . "</h3></th>";
}?>
<th><h3>Controls</h3></th>
</tr>
</thead>
<tbody>
<?
$alltables3=$db->query("SHOW COLUMNS FROM $table_name",PDO::FETCH_NUM);
$columns = array();
while($result3=$alltables3->fetch()){
$columns[] = $result3[0];
}
// Display * from SELECTED TABLE
$alltables4=$db->query("SELECT * FROM $table_name",PDO::FETCH_NUM);
while($result4=$alltables4->fetch()){
//echo $result4[0].'<br/>';
echo "<tr>";
// echo "<form name='delete' action='index.php?ID=$row[0]' method='post'>";
$test = $result4[0];
foreach ($columns as $col)
echo "<td>" . $row[$col] . "</td>";
echo "<td><table cellspacing='0' cellpadding='0' style='border: 0px solid transparent'><tr><td><a id='alink' href='index.php?table=$table_name&ED=ED&ID=$test' class='button orange small'>Edit</a></td>";
echo "<td><form action='' name='Delete' method='post'>";
echo "<input type='hidden' name='table' value='$table_name' size='10'><input type='hidden' name='ID' value='$test' size='10'><input type='submit' name='Delete' class='button red small' value='Delete'>";
echo "</form>";
echo "</td></tr></table></td>";
}
echo "</tr>";
?>
</tbody>
<form action="" method="post">
<thead>
<tr>
<?php // Display form details to add new row
$tablesquery = $db->query("PRAGMA table_info($table_name)");
while ($table = $tablesquery->fetchArray(SQLITE3_ASSOC)) {
// $table_name_add = $table['name'];
// echo "<th><h3>" . "<input type='text' name='$table_name_add' size='10'>" . "</h3></th>";
if ($table['name'] == "ID") {
echo "<th><h3> </h3></th>";
} else {
$table_name_add = $table['name'];
echo "<th><h3>" . "<input type='text' name='$table_name_add' size='10'>" . "</h3></th>";
}
}
?>
<th><h3><input type='hidden' name='table' value='<? echo $table_name ?>' size='10'><input type="submit" name="Add" class="button green small" value="Add" />
</h3></th>
<!--
<input type="image" src="images/login.jpg" alt="Submit Form" />
<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif" border="0" name="Submit" alt="PayPal - The safer, easier way to pay online!">
-->
</tr>
</thead>
</form>
</table>
<div id="tablefooter">
<div id="tablenav">
<div>
<img src="images/first.gif" width="16" height="16" alt="First Page" onclick="sorter.move(-1,true)" />
<img src="images/previous.gif" width="16" height="16" alt="First Page" onclick="sorter.move(-1)" />
<img src="images/next.gif" width="16" height="16" alt="First Page" onclick="sorter.move(1)" />
<img src="images/last.gif" width="16" height="16" alt="Last Page" onclick="sorter.move(1,true)" />
</div>
<div>
<select id="pagedropdown"></select>
</div>
<div>
<a href="javascript:sorter.showall()">view all</a>
</div>
</div>
<div id="tablelocation">
<div>
<select onchange="sorter.size(this.value)">
<option value="5">5</option>
<option value="10" selected="selected">10</option>
<option value="20">20</option>
<option value="50">50</option>
<option value="100">100</option>
</select>
<span>Entries Per Page</span>
</div>
<div class="page">Page <span id="currentpage"></span> of <span id="totalpages"></span></div>
</div>
</div>
</div>
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript">
var sorter = new TINY.table.sorter('sorter','table',{
headclass:'head',
ascclass:'asc',
descclass:'desc',
evenclass:'evenrow',
oddclass:'oddrow',
evenselclass:'evenselected',
oddselclass:'oddselected',
paginate:true,
size:10,
colddid:'columns',
currentid:'currentpage',
totalid:'totalpages',
startingrecid:'startrecord',
endingrecid:'endrecord',
totalrecid:'totalrecords',
hoverid:'selectedrow',
pageddid:'pagedropdown',
navid:'tablenav',
sortcolumn:0,
<?
/*
sortdir:1,
sum:[8],
avg:[6,7,8,9],
columns:[{index:7, format:'%', decimals:1},{index:8, format:'$', decimals:0}],
*/
?>
init:true
});
</script>
<? include 'footer.php'; ?>
</body>
</html>
<?
}
?>
最佳答案
您正在获取一个数字键控数组:
$alltables4=$db->query("SELECT * FROM $table_name",PDO::FETCH_NUM);
^^^^^^^^^^^^^^
但是您在显示代码中使用了列名称:
echo "<td>" . $row[$col] . "</td>";
^^^^
例如您正在执行 echo $row['id']
而不是 echo $row[0]
。或者获取关联数组,这样您就可以按原样执行$row[$col]
。
关于php - 无法显示 PDO mysql 脚本中的数据,该脚本根据数据库结构自动生成表布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27136988/
我的问题是如何在 python 中创建一个简单的数据库。我的例子是: User = { 'Name' : {'Firstname', 'Lastname'}, 'Address' : {'Street
我需要创建一个与远程数据库链接的应用程序! mysql 是最好的解决方案吗? Sqlite 是唯一的本地解决方案吗? 我使用下面的方法,我想知道它是否是最好的方法! NSString *evento
给定两台 MySQL 服务器,一台本地,一台远程。两者都有一个包含表 bohica 的数据库 foobar。本地服务器定义了用户 'myadmin'@'%' 和 'myadmin'@'localhos
我有以下灵活的搜索查询 Select {vt:code},{vt:productcode},{vw:code},{vw:productcode} from {abcd AS vt JOIN wxyz
好吧,我的电脑开始运行有点缓慢,所以我重置了 Windows,保留了我的文件。因为我的大脑还没有打开,所以我忘记事先备份我的 MySQL 数据库。我仍然拥有所有原始文件,因此我实际上仍然拥有数据库,但
如何将我的 Access 数据库 (.accdb) 转换为 SQLite 数据库 (.sqlite)? 请,任何帮助将不胜感激。 最佳答案 1)如果要转换 db 的结构,则应使用任何 DB 建模工具:
系统检查发现了一些问题: 警告:?:(mysql.W002)未为数据库连接“默认”设置 MySQL 严格模式 提示:MySQL 的严格模式通过将警告升级为错误来修复 MySQL 中的许多数据完整性问题
系统检查发现了一些问题: 警告:?:(mysql.W002)未为数据库连接“默认”设置 MySQL 严格模式 提示:MySQL 的严格模式通过将警告升级为错误来修复 MySQL 中的许多数据完整性问题
我想在相同的 phonegap 应用程序中使用 android 数据库。 更多说明: 我创建了 phonegap 应用程序,但 phonegap 应用程序不支持服务,所以我们已经在 java 中为 a
Time Tracker function clock() { var mytime = new Date(); var seconds
我需要在现有项目上实现一些事件的显示。我无法更改数据库结构。 在我的 Controller 中,我(从 ajax 请求)传递了一个时间戳,并且我需要显示之前的 8 个事件。因此,如果时间戳是(转换后)
我有一个可以收集和显示各种测量值的产品(不会详细介绍)。正如人们所期望的那样,显示部分是一个数据库+建立在其之上的网站(使用 Symfony)。 但是,我们可能还会创建一个 API 来向第三方公开数据
我们将 SQL Server 从 Azure VM 迁移到 Azure SQL 数据库。 Azure VM 为 DS2_V2、2 核、7GB RAM、最大 6400 IOPS Azure SQL 数据
我正在开发一个使用 MongoDB 数据库的程序,但我想问在通过 Java 执行 SQL 时是否可以使用内部数据库进行测试,例如 H2? 最佳答案 你可以尝试使用Testcontainers Test
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 已关闭 9 年前。 此问题似乎与 a specific programming problem, a sof
我正在尝试使用 MSI 身份验证(无需用户名和密码)从 Azure 机器学习服务连接 Azure SQL 数据库。 我正在尝试在 Azure 机器学习服务上建立机器学习模型,目的是我需要数据,这就是我
我在我的 MySQL 数据库中使用这个查询来查找 my_column 不为空的所有行: SELECT * FROM my_table WHERE my_column != ""; 不幸的是,许多行在
我有那个基地:http://sqlfiddle.com/#!2/e5a24/2这是 WordPress 默认模式的简写。我已经删除了该示例不需要的字段。 如您所见,我的结果是“类别 1”的两倍。我喜欢
我有一张这样的 table : mysql> select * from users; +--------+----------+------------+-----------+ | userid
我有表: CREATE TABLE IF NOT EXISTS `category` ( `id` int(11) NOT NULL, `name` varchar(255) NOT NULL
我是一名优秀的程序员,十分优秀!