感謝一些幫助我有一個工作的PHP文件。我現在正在調整它,所以當數據庫中沒有數據時,它會給我一定的文字。如果沒有結果顯示文本(但只有一次)
問題是,我想我得到了邏輯,只是不知道代碼它。讓我從顯示代碼開始:
<?php
$dbhost = 'localhost';
$dbuser = '**********';
$dbpass = '**********';
$database = '**********';
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
if (isset($_GET['zoeknummer'])) {
$pdo = new PDO("mysql:host=$dbhost; dbname=$database", $dbuser, $dbpass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$sql = "SELECT lead_content
FROM wp_wgbsupicrm_leads";
$res = $pdo->query($sql); // where $pdo is your db connection
while ($lead = $res->fetchColumn()) {
$data = json_decode($lead);
if ($data->zoeknummer == $_GET['zoeknummer']) {
echo "Uw plaats voor " ;
echo $data->wachtlijstkomplex . ' : ' . $data->wachtlijstplaats . '<br>';
}
else {
echo 'Geen resultaat gevonden met opgegeven nummer. <br> Kijk na of U het nummer correct heeft ingevuld.';
}
}
}?>
我明白'while'會搜索整個數據庫,if會顯示找到的結果。
我也明白,當沒有在該列中找到數據時,其他人將顯示文本,我知道這將爲每列找不到數據,並且存在問題。
我只希望它顯示文本顯示一次。沒有mather它搜索了多少列。此代碼現在還顯示所有espty搜索的文本,並將在所有否定結果之間顯示結果。
我得到的邏輯是,我需要從''時間'取得'其他',但就是這樣。任何幫助將不勝感激,我仍然試圖瞭解這種PHP語言,並正在學習,我知道解決方案可能就像打破雞蛋一樣簡單..但如果你不知道雞蛋是什麼.. ;-)
在此先感謝!
事實上,打破東西的一部分解決方案,雖然不是雞蛋,但[打破循環](http://php.net/manual/en/control-structures.break.php):)閱讀並[繼續](http://php.net) /manual/en/control-structures.continue.php)在這裏閱讀。 –
你不應該從你的數據庫中獲取所有行,並循環遍歷它們以找到一個特定的數字。相反,向您的查詢添加一個「WHERE」子句,只獲取所需的行(如果有的話)。 – jeroen
嗨Alon_A。 我明白'你的邏輯'在這裏是什麼意思。但是,一旦找到結果,是不是會「斷開」循環?對於1個查詢可以有更多的結果,並且數據庫沒有固定的大小,所以它應該讀取所有規則並'echo'每個結果有一個命中,但是如果根本沒有,那麼我想要看到其他文字。 –