带有超链接的 PHP/MySQL 表

2023-12-03

我有 2 个 PHP 表单。一个显示事件列表,另一个显示每个特定事件的结果。在包含事件列表的页面上,我希望可以创建一个超链接来访问每个单独事件的结果。

例如,在“事件”页面上,我单击第 2 行的超链接,该链接会将我带到“结果”页面,其中包含该特定事件的结果。

任何帮助将不胜感激,因为我对 PHP 非常非常陌生。如果需要任何额外的详细信息,请随时询问。

Thanks.

编辑:抱歉,我将向您展示事件表单到目前为止的样子:

<?php
mysql_connect('localhost','root','');
mysql_select_db('clubresults') or die( "Unable to select database");
$sql = "SELECT *, DATE_FORMAT(EventDate, '%d/%m/%y') as newdate FROM Events";
$result = mysql_query ($sql);
?>
<table border = 1>
<tr>
<th>Event ID</th>
th>Event Name</th>
<th>Event Date</th>
<th>Location</th>
</tr>
<?php
 while ($row = mysql_fetch_array($result))
{
echo "</td><td>" . $row['EventID'] . "</td><td>" . $row['EventName'] . "</td><td>" . $row['newdate'] . "</td><td>" . $row['Location'] . "</td><tr>";
}
echo "</table>";
mysql_close();
?>

您不需要两个脚本,而只需要一个:

events.php?list
events.php?event=1234

在那里你只需要检查以下内容:

$db = new Database(); # simplified


/* show event details if requested */

if (isset($_GET['event']) {
    if ($event = $db->getEventByID($_GET['event'])) {
        printf('<h2>Event: %s</h2>', htmlspecialchars($event->title));
        # ...
    }
}

/* show the list if requested (or show it always, whatever pleases you) */

if (isset($_GET['list']) {
    echo '<table>';
    foreach($db->getEventList() as $event) {
        printf('<tr><td><a href="?event=%d">%s</a></td></tr>'
               , $event->ID, htmlspecialchars($event->title));
    }
    echo '</table>';
}

Edit:正如我在您更新的问题中看到的那样,您应该从那些 oldskool 切换过来mysql_*函数符合我在示例中概述的类样式,因为它使用起来更简单。这是一个与您的代码示例接近的代码示例:

<?php
/**
 * My First PDO Databaseclass
 */
class Database extends PDO
{
    public function __construct()
    {
        $host = 'localhost';
        $name = 'clubresults';
        $user = 'root';
        $pass = NULL;

        parent::__construct("mysql:host=$host;dbname=$name", $user, $pass);
        $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        // $this->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
    }

    public function getEvents()
    {
        $sql = "SELECT *, DATE_FORMAT(EventDate, '%d/%m/%y') as newdate FROM Events";
        return $this->query($sql, PDO::FETCH_OBJ );
    }

    public function getEventByID($id)
    {
        $sql = sprintf("SELECT * FROM Events WHERE EventID = %d;", $id);
        return $this->query($sql)->fetchObject();
    }
}

$db = new Database();

?>
<table border=1>
    <tr>
        <th>Event ID</th>
        th>Event Name</th>
        <th>Event Date</th>
        <th>Location</th>
    </tr>
<?php
foreach($db->getEvents() as $event)
{
     echo "</td><td>" . $event->EventID . "</td><td>" . $event->EventName . "</td><td>" . $event->newdate . "</td><td>" . $event->Location . "</td><tr>";
}
?>
</table>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有超链接的 PHP/MySQL 表 的相关文章

随机推荐

  • R中按虚部对复向量进行排序

    roots lt polyroot c 5 4 3 2 1 我想按虚部的升序对根进行排序 默认情况下sort函数按实部的升序对其进行排序 我已经阅读了文档 但我仍然不知道如何调整参数或编写命令 有人可以帮忙吗 Use Im函数提取虚部并对其
  • HTML5时间标签的使用

    我可以使用如下 HTML 时间标签吗
  • iPhone/iPad 上的自动对焦表单元素

    我正在尝试创建一个 Web 应用程序 在页面加载时自动将文本输入框聚焦 但是 我知道移动 Safari 不支持 自动对焦 属性 我需要它自动对焦的原因是因为我正在开发一个 Web 应用程序 可以这么说 它基本上要求用户使用蓝牙扫描仪将输入发
  • 如何将shellcode解码为ascii

    我有一些 shellcode 当我转换为 ascii 时 它不会输出文本 它只是乱码 x24 x11 xff xff x24 x04 x27 x0f x24 x02 x10 x46 x01 x01 x01 x0c x1e x20 xff x
  • 仅使用 Jackson 将超类字段序列化为 JSON

    我正在用 Jackson 序列化一个类的实例 仅序列化此实例的超类的字段的最佳方法是什么 目前我必须向子类中的每个方法添加 JSONIgnore 注释 有更好的方法吗 假设您可以直接通过以下方式控制序列化过程ObjectMapper 您可以
  • Delphi原型模式

    我想知道 Delphi 的 RTTI 中是否有任何东西可以像 C 中的 MemberwiseClone 一样简单地实现原型模式 我看到了这种模式的一些 Delphi 实现 其中正在创建一个新对象 TMyObject Create 并且它的属
  • 在 Metroapp 中显示存储在存储文件中的图片

    我想通过绑定显示存储在 StorageFile 中的图片内容 但无论我尝试做什么 它似乎都不起作用 这是我已经测试过的两个解决方案 string img await CompetencesFolder GetFileAsync Format
  • 使用 virtualenvwrapper-win 传递不同 python 版本时出错

    我安装了 python 3 4 和 2 7 它们的路径是 C python34 和 C python27 在尝试使用 python 2 7 创建 virtualenv 时 出现以下错误 C Development gt mkvirtuale
  • 在 iOS 应用程序中从 Firebase 获取发送推送通知的历史记录

    我有一个与 Firebase Cloud Messaging 集成的 iOS 应用程序 用于发送推送通知 我知道 Firebase 会保存所有发送通知的历史记录 有没有办法让运行应用程序的每个特定设备获取自己的已发送通知历史记录 我需要在客
  • 从 .txt 文件读取并执行 Shellcode

    从 C 总线测试 Shellcode 错误 10 上面是我之前的问题 涉及当 shell 代码位于源代码内部时 从 c 程序中执行 shellcode Carl Norum 解决了这个问题 原因是内存保护 我有一个不同的问题 但很相似 我不
  • 是否可以在 C 编译期间计算处理器值的阶乘值?

    define num 7 user can change this define size I want this value factorial of num to be computed during compile time int
  • 在 Compact Framework 中获取文件版本信息

    我有一些代码需要能够找到程序集的版本号 给定一个字符串说明它所在的位置 我无法让它工作 Assembly assembly Assembly LoadFrom Program Files Microsoft SQL Server Compa
  • solr - 将字段设置为默认搜索字段

    以下查询对我来说效果很好 http 8983 solr vault select q VersionComments 3AWhite 返回版本注释包含 White 的所有文档 我尝试省略字段名称并将其作为默认值 如下所示 在 solr 配置
  • 使用 java swing 对 JTabbedPane 中的选项卡进行着色

    我正在尝试更改选项卡的背景颜色JTabbedPane 我试过JTabbedPane setBackgroudAt 0 Color GRAY and JTabbedPane setBackgroud Color GRAY 前景也是如此 但什么
  • 为什么使用 loff_t *offp 而不是直接 filp->f_pos 用法的原因

    以下函数取自LDD ssize t read struct file filp char user buff size t count loff t offp ssize t write struct file filp const cha
  • 从android工作区文件夹调用文件路径

    基本上我右键单击了我的项目名称并成功创建了一个名为 pdfs 的新文件夹 我想在这里预加载一些pdf文件 那么我如何从我的mainactivity类中调用这个path somepdffile pdf import java io File
  • 单个 Dataframe 单元格中系列的最大值

    我有一个数据框 其中每一行都包含一个系列single column col1 row1 34 55 11 8 row2 36 76 69 6 row3 77 31 40 55 row4 51 41 26 30 我想获得该系列中每个值的最大值
  • 在Python中添加字典中缺失的键

    我有一个字典列表 L 0 1 1 7 2 3 4 8 0 3 2 6 1 2 4 6 0 2 3 2 如您所见 字典的长度不同 我需要的是将缺少的键 值添加到每个字典中 使它们具有相同的长度 L1 0 1 1 7 2 3 4 8 0 3 1
  • 部署到 Azure 网站时,什么可能导致 EvoPDF“无法呈现 html”异常

    将 EvoPDF 用于 Net Web 应用程序可以在本地运行 但是一旦部署到 Microsoft Azure 网站 它就会抛出一个通用异常 无法呈现 html 堆栈跟踪 Exception Could not render the HTM
  • 带有超链接的 PHP/MySQL 表

    我有 2 个 PHP 表单 一个显示事件列表 另一个显示每个特定事件的结果 在包含事件列表的页面上 我希望可以创建一个超链接来访问每个单独事件的结果 例如 在 事件 页面上 我单击第 2 行的超链接 该链接会将我带到 结果 页面 其中包含该