簡體   English   中英

嘗試使用基於SQL查詢的PHP動態編寫表

[英]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代碼

<?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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM