gpt4 book ai didi

php - 计算MYSQL中两种数据类型之间的字段数量

转载 作者:行者123 更新时间:2023-11-29 23:01:25 24 4
gpt4 key购买 nike

好吧,奇怪的问题。

表由多个字段组成。一些数据类型为 int(5),其余数据类型为 int(11)

那么让我们来排一下吧...

id =>int(5)
var1 =>int(11)
var2 =>int(11)
var3 =>int(11)
var4 =>int(11)
var5 =>int(5)
var6 =>int(11)
var7 =>int(11)
var8 =>int(11)

如何计算 PHP 中 id (int(5)) 和 var (int(5)) 之间的字段我需要返回使用 php 之间的字段中的值...但我卡住了。糟糕的表格设计没有帮助......但我坚持下去。

完整的场景是,我需要创建一个 if 语句,该语句表示,如果 int(5) 字段与下一个 int(5) 之间的任何字段包含数据,则输出 int(5) 字段的名称和数据

抱歉...我知道丑陋!!!

如果到目前为止运行此

    $sql2 = 'SHOW COLUMNS from services2';
$result2 = getDBResults($sql2, $level, $testing);

$total = count($result2);


$i=2;
while ($i<($total-1))
{
$data = $result2[$i]['Field'];

if ($result2[$i][1]=='int(5)')
{
$html .= '<h2>'.preg_replace('/(?<!\ )[A-Z]/', ' $0', $result2[$i]['Field']).'</h2>';
}
else
{
];
// "$result - This is a seperate query run previously to get the row
if ($result[0][$data] == 1)
{
$html .= '<p>'.preg_replace('/(?<!\ )[A-Z]/', ' $0', $data).'</p>';
}
}
$i++;
}

最佳答案

我还没有机会实际测试这个,所以如果你需要稍微调整它以平滑任何粗糙的边缘,请不要打败我。

但它是一个相当标准的(如果不是完全简单的话)过程,在循环中处理列名结果数组,并且只记住变量中的最后一个 int(5) 列名,以便您可以使用它,当且仅当,在看到下一个 int(5) 列类型之前,您已经在任何 int(11) 列类型中找到了一些数据。

现在我明白为什么您在解释自己想要什么时遇到困难,我在描述解决方案时也遇到同样的困难。

无论如何,请看一下这段代码,看看它对您是否有意义。

$sql2 = 'SHOW COLUMNS from services2';
$columns = getDBResults($sql2, $level, $testing);

$total = count($columns);

$print_column = null;
$found_data = false;

foreach ( $columns as $idx => $column ) {
// skip first 2 columns
if ($idx < 3 ) { continue; }

// first time thru loop so remember the first int5 column name we saw
if ( $column['Type'] == 'int(5)' && empty($print_column) ) {
$print_column = $column['Field'];
$found_data = false;
continue;
}

// found the next int5 column, do we need to print anything
if ( $column['Type'] == 'int(5)' && $found_data ) {

// This is where you would do any output creation,
// I just kept it simple.
echo $result[0][$print_column];

// reset state and the next field that might be printed.
$found_data = false;
$print_column = $column['Field'];
continue;
}

// This may not need to be an if, but just in case you have other field types
// that you are not interested in processing I made it an if.
if ( $column['Type'] == 'int(11)' && ! empty($result[0][$column['Field']]) ) {
$found_data = true;
}

} // endforeach

关于php - 计算MYSQL中两种数据类型之间的字段数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28467219/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com