感谢一些帮助我有一个工作的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'每个结果有一个命中,但是如果根本没有,那么我想要看到其他文字。 –