[英]Trying to dynamically write a table with PHP based on SQL Query
我几天前开始学习学习PHP,并且已经开始使用AJAX制作SQL数据库管理网页。 如果我将搜索限制为少于该列的所有[*],我将遇到错误。
因此,我认为在通过AJAX发送的字符串上使用正则表达式并将所需的表动态写回到网页相对容易。
我在理解如何执行基于preg_split()返回的数组的循环,追加到新字符串然后将新字符串作为新表回显的可写SQL表的问题。
$newString = 'this and ';
for ($i=0; $i < $arrayLength; $i++) {
$newString += $repArray[$i];
}
echo $newString;
代码中的正则表达式仅获取“ SELECT”和“ FROM”语句之间的文本,删除空格并将单词拆分为数组。 并且有各种各样的回声来显示正在发生的事情。
谢谢你的帮助
问候,
安德鲁
<?php
$string = 'SELECT ID, username, password, firstName, IP FROM users WHERE ID > 100';
$pattern = '/SELECT (.*) FROM (.*)/i';
$replacement = '$1';
$replaced = preg_replace($pattern, $replacement, $string);
echo '<br> ' . $replaced;
$replaced2 = preg_replace('/\s/' , '', $replaced);
echo '<br> ' . $replaced2;
$repArray = preg_split('/,/', $replaced2, -1, PREG_SPLIT_NO_EMPTY);
echo '<br> ';
print_r($repArray);
$arrayLength = count($repArray);
echo '<br> Array length = ' . $arrayLength;
$newString = 'this and ';
for ($i=0; $i < $arrayLength; $i++) {
$newString += $repArray[$i];
}
echo $newString;
?>
根据preg_split的php文档,结果数组中的元素将是数组,其中第一项是所需的字符串。 这是preg_split的结果将如下所示:
Array
(
[0] => Array
(
[0] => ID
[1] => 0
)
[1] => Array
(
[0] => username
[1] => 4
)
[2] => Array
(
[0] => password
[1] => 15
)
[3] => Array
(
[0] => firstname
[1] => 25
)
[4] => Array
(
[0] => IP
[1] => 36
)
)
然后,您可以只获取数组中数组的第一个元素。
for ($i=0; $i < $arrayLength; $i++) {
$newString .= $repArray[$i][0];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.