- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开展一个科学项目,该项目将存储(并进一步执行其他功能)CD 标记的一些值(这些值约为 350)。我的表结构是这样的 -
_id
diagnosis
remarks
CD1
CD2
CD3a
CD3b
CDw4
...
CD348
CD349
CD350
我知道,通常不建议在一个表中包含这么多列,有些人会说使用多个表并在行中存储值。我已经尝试过这些,但这些都不符合我的要求,所以暂时我只能选择这个选项。
现在,如果列较少,我可以创建一个简单的 HTML 表单并使用 PHP、MySQLi 进行 CRUD 操作。但对于这么多列,单独键入 HTML 代码将是一项耗时的任务。 因此,我正在寻找一种方法,如果我可以使用一些 PHP 循环生成 HTML 表单,以使用一个文本框枚举表的列,并进一步使用类似的循环创建插入查询。
我的示例插入查询就像(从我的 phpmyadmin 复制)-
INSERT INTO `fcm_markers` (`_id`, `diagnosis`, `remarks`, `CD1a`, `CD1b`, `CD1c`, `CD1d`, `CD1e`, `CD2`, `CD3`, `CD3d`, `CD3e`, `CD3g`, `CD4`, `CD5`, `CD6`, `CD7`, `CD8a`, `CD8b`, `CD9`, `CD10`, `CD11a`, `CD11b`, `CD11c`, `CD11d`, `CDw12`, `CD13`, `CD14`, `CD15`, `CD16`, `CD16b`, `CD17`, `CD18`, `CD19`, `CD20`, `CD21`, `CD22`, `CD23`, `CD24`, `CD25`, `CD26`, `CD27`, `CD28`, `CD29`, `CD30`, `CD31`, `CD32a`, `CD32b`, `CD32c`, `CD33`, `CD34`, `CD35`, `CD36`, `CD37`, `CD38`, `CD39`, `CD40`, `CD41`, `CD42a`, `CD42b`, `CD42c`, `CD42d`, `CD43`, `CD44`, `CD45RA`, `CD45RB`, `CD45RC`, `CD45RO`, `CD46`, `CD47`, `CD48`, `CD49a`, `CD49b`, `CD49c`, `CD49d`, `CD49e`, `CD49f`, `CD50`, `CD51`, `CD52`, `CD53`, `CD54`, `CD55`, `CD56`, `CD57`, `CD58`, `CD59`, `CD60a`, `CD61`, `CD62E`, `CD62L`, `CD62P`, `CD63`, `CD64a`, `CD65`, `CD65s`, `CD66a`, `CD66b`, `CD66c`, `CD66d`, `CD66e`, `CD66f`, `CD68`, `CD69`, `CD70`, `CD71`, `CD72`, `CD73`, `CD74`, `CD75`, `CD75S`, `CD77`, `CD79a`, `CD79b`, `CD80`, `CD81`, `CD82`, `CD83`, `CD84`, `CD85A`, `CD85C`, `CD85D`, `CD85E`, `CD85F`, `CD85G`, `CD85H`, `CD85I`, `CD85J`, `CD85K`, `CD86`, `CD87`, `CD88`, `CD89`, `CD90`, `CD91`, `CD92`, `CD93`, `CD94`, `CD95`, `CD96`, `CD97`, `CD98`, `CD99`, `CD99R`, `CD100`, `CD101`, `CD102`, `CD103`, `CD104`, `CD105`, `CD106`, `CD107a`, `CD107b`, `CD108`, `CD109`, `CD110`, `CD111`, `CD112`, `CD113`, `CD114`, `CD115`, `CD116`, `CD117`, `CD118`, `CD119`, `CD120a`, `CD120b`, `CD121a`, `CD121b`, `CD122`, `CD123`, `CD124`, `CD125`, `CD126`, `CD127`, `CD129`, `CD130`, `CD131`, `CD132`, `CD133`, `CD134`, `CD135`, `CD136`, `CD137`, `CD138`, `CD139`, `CD140a`, `CD140b`, `CD141`, `CD142`, `CD143`, `CD144`, `CDw145`, `CD146`, `CD147`, `CD148`, `CD150`, `CD151`, `CD152`, `CD153`, `CD154`, `CD155`, `CD156a`, `CD156b`, `CD156c`, `CD157`, `CD158a`, `CD158b1`, `CD158b2`, `CD158d`, `CD158e1/e2`, `CD158f`, `CD158g`, `CD158h`, `CD158i`, `CD158j`, `CD158k`, `CD159a`, `CD159c`, `CD160`, `CD161`, `CD162`, `CD163`, `CD164`, `CD165`, `CD166`, `CD167a`, `CD168`, `CD169`, `CD170`, `CD171`, `CD172a`, `CD172b`, `CD172g`, `CD173`, `CD174`, `CD175`, `CD175s`, `CD176`, `CD177`, `CD178`, `CD179a`, `CD179b`, `CD180`, `CD181`, `CD182`, `CD183`, `CD184`, `CD185`, `CD186`, `CD191`, `CD192`, `CD193`, `CD194`, `CD195`, `CD196`, `CD197`, `CDw198`, `CDw199`, `CD200`, `CD201`, `CD202b`, `CD203c`, `CD204`, `CD205`, `CD206`, `CD207`, `CD208`, `CD209`, `CD210a`, `CDw210b`, `CD212`, `CD213a1`, `CD213a2`, `CD215`, `CD217`, `CD218a`, `CD218b`, `CD220`, `CD221`, `CD222`, `CD223`, `CD224`, `CD225`, `CD226`, `CD227`, `CD228`, `CD229`, `CD230`, `CD231`, `CD232`, `CD233`, `CD234`, `CD235a`, `CD235b`, `CD236`, `CD236R`, `CD238`, `CD239`, `CD240`, `CD241`, `CD242`, `CD243`, `CD244`, `CD245`, `CD246`, `CD247`, `CD248`, `CD249`, `CD252`, `CD253`, `CD254`, `CD256`, `CD257`, `CD258`, `CD261`, `CD262`, `CD263`, `CD264`, `CD265`, `CD266`, `CD267`, `CD268`, `CD269`, `CD270`, `CD271`, `CD272`, `CD273`, `CD274`, `CD275`, `CD276`, `CD277`, `CD278`, `CD279`, `CD280`, `CD281`, `CD282`, `CD283`, `CD284`, `CD286`, `CD288`, `CD289`, `CD290`, `CD292`, `CDw293`, `CD294`, `CD295`, `CD296`, `CD297`, `CD298`, `CD299`, `CD300a`, `CD300c`, `CD300e`, `CD301`, `CD302`, `CD303`, `CD304`, `CD305`, `CD306`, `CD307a`, `CD307b`, `CD307c`, `CD307d`, `CD307e`, `CD309`, `CD312`, `CD314`, `CD315`, `CD316`, `CD317`, `CD318`, `CD319`, `CD320`, `CD321`, `CD322`, `CD324`, `CD325`, `CD326`, `CD327`, `CD328`, `CD329`, `CD331`, `CD332`, `CD333`, `CD334`, `CD335`, `CD336`, `CD337`, `CD338`, `CD339`, `CD340`, `CD344`, `CD349`, `CD350`, `CD351`, `CD352`, `CD353`, `CD354`, `CD355`, `CD357`, `CD358`, `CD359`, `CD360`, `CD361`, `CD362`, `CD363`) VALUES (NULL, 'neutro', 'wbc', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1');
正如人们所看到的,CD 编号不规则(有些有后缀 a、b、c;有些有前缀 w,有些数字不存在),所以我不能只是循环 CD1-CD150 或类似的东西.
最佳答案
底线:使用 ORM,它将节省您大量的时间和精力,但如果您要采用纯粹的方法:
查看此内容以了解如何Get table column names in mysql?
然后,用一个简单的foreach
您可以创建表单字段(示例如下);
foreach ($result as $key => $value) {
echo "<input type=\"text\" name=\"{$value}\">";
}
从此表单保存数据的技巧是命名您的 HTML 字段 ( <input name="something">
),与数据库字段完全相同。然后,当将数据 POST 到 PHP 时,它可以为您完成 ditry 工作(下面的示例代码)。
$data = $_POST;
$keys = array(); $values=array();
foreach ($data as $key => $value) {
array_push($keys, $key);
array_push($values, $value);
}
$keys = implode(',', $keys);
$values = implode(',', $values);
$query = "INSERT INTO fcm_makers ({$keys}) VALUES ({$values})";
关于php - 当列数大于 300 时,对 MySQL 数据库进行 CRUD 操作的 HTML 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50885247/
我正在努力做到这一点 在我的操作中从数据库获取对象列表(确定) 在 JSP 上打印(确定) 此列表作为 JSP 中的可编辑表出现。我想修改然后将其提交回同一操作以将其保存在我的数据库中(失败。当我使用
我有以下形式的 Linq to Entities 查询: var x = from a in SomeData where ... some conditions ... select
我有以下查询。 var query = Repository.Query() .Where(p => !p.IsDeleted && p.Article.ArticleSections.Cou
我正在编写一个应用程序包,其中包含一个主类,其中主方法与GUI类分开,GUI类包含一个带有jtabbedpane的jframe,它有两个选项卡,第一个选项卡包含一个jtable,称为jtable1,第
以下代码产生错误 The nested query is not supported. Operation1='Case' Operation2='Collect' 问题是我做错了什么?我该如何解决?
我已经为 HA redis 集群(2 个副本、1 个主节点、3 个哨兵)设置了本地 docker 环境。只有哨兵暴露端口(10021、10022、10023)。 我使用的是 stackexchange
我正在 Desk.com 中构建一个“集成 URL”,它使用 Shopify Liquid 模板过滤器语法。对于开始日期为 7 天前而结束日期为现在的查询,此 URL 需要包含“开始日期”和“结束日期
你一定想过。然而情况却不理想,python中只能使用类似于 i++/i--等操作。 python中的自增操作 下面代码几乎是所有程序员在python中进行自增(减)操作的常用
我需要在每个使用 github 操作的手动构建中显示分支。例如:https://gyazo.com/2131bf83b0df1e2157480e5be842d4fb 我应该显示分支而不是一个。 最佳答
我有一个关于 Perl qr 运算符的问题: #!/usr/bin/perl -w &mysplit("a:b:c", /:/); sub mysplit { my($str, $patt
我已经使用 ArgoUML 创建了一个 ERD(实体关系图),我希望在一个类中创建两个操作,它们都具有 void 返回类型。但是,我只能创建一个返回 void 类型的操作。 例如: 我能够将 book
Github 操作仍处于测试阶段并且很新,但我希望有人可以提供帮助。我认为可以在主分支和拉取请求上运行 github 操作,如下所示: on: pull_request push: b
我正在尝试创建一个 Twilio 工作流来调用电话并记录用户所说的内容。为此,我正在使用 Record,但我不确定要在 action 参数中放置什么。 尽管我知道 Twilio 会发送有关调用该 UR
我不确定这是否可行,但值得一试。我正在使用模板缓冲区来减少使用此算法的延迟渲染器中光体积的过度绘制(当相机位于体积之外时): 使用廉价的着色器,将深度测试设置为 LEQUAL 绘制背面,将它们标记在模
有没有聪明的方法来复制 和 重命名 文件通过 GitHub 操作? 我想将一些自述文件复制到 /docs文件夹(:= 同一个 repo,不是远程的!),它们将根据它们的 frontmatter 重命名
我有一个 .csv 文件,其中第一列包含用户名。它们采用 FirstName LastName 的形式。我想获取 FirstName 并将 LastName 的第一个字符添加到它上面,然后删除空格。然
Sitecore 根据 Sitecore 树中定义的项目名称生成 URL, http://samplewebsite/Pages/Sample Page 但我们的客户有兴趣降低所有 URL(页面/示例
我正在尝试进行一些计算,但是一旦我输入金额,它就会完成。我只是希望通过单击按钮而不是自动发生这种情况。 到目前为止我做了什么: Angular JS - programming-fr
我的公司创建了一种在环境之间移动文件的复杂方法,现在我们希望将某些构建的 JS 文件(已转换和缩小)从一个 github 存储库移动到另一个。使用 github 操作可以实现这一点吗? 最佳答案 最简
在我的代码中,我创建了一个 JSONArray 对象。并向 JSONArray 对象添加了两个 JSONObject。我使用的是 json-simple-1.1.jar。我的代码是 package j
我是一名优秀的程序员,十分优秀!