【问题标题】:Remove Final 7 Characters from String in Mysql/PHP在 Mysql/PHP 中从字符串中删除最后 7 个字符
【发布时间】:2017-06-20 19:15:48
【问题描述】:

我正在尝试从 PHP 中的字符串中删除最后 7 个字符,然后再将其作为结果写入表中。当我在 Navicat 中创建 Mysql 查询时,我得到了所需的字符串,但我无法将它移动到 PHP 中并使其工作。这是工作中的 Mysql 查询(在 Navicat 中):

SELECT
SUBSTRING(ssp_subjects.uid, 1, LENGTH(ssp_subjects.uid) -7),
ssp_subjects.namefirst,
ssp_subjects.namelast,
ssp_subjects.imageactual,
ssp_subjects.accesscode,
ssp_subjects.correction,
ssp_subjects.correctiondate
FROM
ssp_subjects
WHERE
ssp_subjects.correction = 1

返回:

CCU-SOC-14-05-31-A KYLE O'CONNOR 29 GFKDPFLM3F 1 2017-06-20 09:14:39

(这是正确的,因为它修剪了 UID 末尾的最后 7 个字符。)

在 PHP 中,我试图构建一个类似的表,但我似乎无法正确编写 SUBSTRING 语句。这就是我在 PHP 中构建表格的方式:

     $sql = "SELECT
    ssp_subjects.correctiondate,
    ssp_subjects.namelast,
    ssp_subjects.namefirst,
    ssp_subjects.imageactual,
    ssp_subjects.accesscode,
    ssp_subjects.uid
    FROM
        ssp_subjects
    WHERE
        ssp_subjects.correction = 1";

    $result = $conn->query($sql);

if ($result->num_rows > 0) {
    echo "<table><tr><th>Date</th><th>Job Name</th><th>Team Number</th><th>Type</th><th>Last Name</th><th>First Name</th><th>Access Code</th><th>Sequence</th><th>Card</th><th>Image</th><th>UID</th><th>Order</th></tr>";
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "<tr>
        <td>".$row["correctiondate"]."</td>
        <td><p>Corrections</p></td>
        <td><p>10</p></td>
        <td><p>Player</p></td>
        <td>".$row["namelast"]." </td>
        <td>".$row["namefirst"]."</td>
        <td>".$row["accesscode"]." </td>
        <td><p>1000</p></td>
        <td>".$row["imageactual"]." </td>
        <td> ".$row["uid"]." </td>
        <td><p>1x1</p></td>
        </tr>";
        }
        echo "</table>";
    } else {
        echo "0 results";
    }

当我尝试在 PHP 中添加 SUBSTR 时,它返回“未定义索引:uid”错误,而不是修剪后的字符串。

$sql = "SELECT
    ssp_subjects.correctiondate,
    ssp_subjects.namelast,
    ssp_subjects.namefirst,
    ssp_subjects.imageactual,
    ssp_subjects.accesscode,
    SUBSTRING(ssp_subjects.uid, 1, LENGTH(ssp_subjects.uid) -7)
FROM
    ssp_subjects
WHERE
    ssp_subjects.correction = 1";

$result = $conn->query($sql);

提前致谢!

【问题讨论】:

  • substr($string,-7)
  • 我相当肯定相同的 SQL 将在您的查询中起作用。为什么在 PHP 中这样做?
  • 我使用 PHP 是因为我需要创建一个可以由我们的实验室技术人员复制的流程。我们的内部数据库是用 PHP 编写的。最终目标是创建一个可以通过 CSV“下载”的表。我刚刚开始尝试构建表格。
  • 嗯,也许我问错了问题。我为自己是菜鸟而道歉。几天来,我一直在尝试自己解决这个问题。我很抱歉,但我没有其他人可以问。我正在尝试删除 PHP 创建的表中的最后 7 个字符,但我无法弄清楚如何实现提供的解决方案“substr($string,-7)”。我会努力弄清楚的!谢谢!

标签: php mysql string substr


【解决方案1】:

在 PHP 中从字符串中删除最后 7 个字符的代码是

$string = substr($string, 0, -7);

【讨论】:

    猜你喜欢
    • 2017-08-19
    • 2016-01-21
    • 1970-01-01
    • 2018-12-03
    • 2011-05-11
    • 2015-01-26
    相关资源
    最近更新 更多