在网页上运行多个功能

时间:2013-12-19 10:38:07

标签: php

我有一个网页,我想在其中显示2个单独的表,其中包含来自同一数据库的内容。如何在网页上运行单独的功能并显示2个不同的结果?

我到目前为止的代码: 我想要运行的第二个查询是作为query2,但这不起作用....

<?php
$server = "localhost";
$user = "776";   
$wachtwoord = "776";  
$database = "kse001_h5mh"; 
$query = "SELECT beschrijving FROM supermarkt WHERE soort = 'komkommertest'";  //de SQL-query
 $resultaat = ""; // hierin wordt het resultaat van de query opgeslagen

 if (!$db = mysql_connect($server, $user, $wachtwoord)){ // probeert de verbinding te maken
 $melding = "<h2>Verbinding maken met databaseserver is mislukt!</h2>";
 }
  else{
 $melding = "<h2>Verbinding maken met databaseserver is tot stand gebracht!</h2>";

         if(!mysql_select_db($database)){  // open de gewenste database
            $melding .= "...maar de database \"$database\" kon niet worden gevonden!";
            } else {
        $melding .= "en de database \"$database\" is geselecteerd!";

                if(!$resultaat = mysql_query($query, $db)){
                 $melding .= "<br />...maar de query \"$query\" kon niet worden uitgevoerd!";
               } else {
        $melding .="<br />De query \"$query\" is met succes uitgevoerd!";
                    }
    }

$query2 = "SELECT beschrijving FROM supermarkt WHERE soort = 'hamburger'";  //de SQL-query
 $resultaat2 = ""; // hierin wordt het resultaat van de query opgeslagen

 if (!$db = mysql_connect($server, $user, $wachtwoord)){ // probeert de verbinding te maken
 $melding = "<h2>Verbinding maken met databaseserver is mislukt!</h2>";
 } else {
          $melding = "<h2>Verbinding maken met databaseserver is tot stand gebracht!</h2>";

         if(!mysql_select_db($database)){  // open de gewenste database
           $melding .= "...maar de database \"$database\" kon niet worden gevonden!";
         } else {
             $melding .= "en de database \"$database\" is geselecteerd!";

                 if(!$resultaat2 = mysql_query($query, $db)){
        $melding .= "<br />...maar de query \"$query\" kon niet worden uitgevoerd!";
                } else {
                     $melding .="<br />De query \"$query\" is met succes uitgevoerd!";
                   }
    }
    mysql_close($db); //database afsluiten
 ?>
   </head>
<body>
<?php echo $melding; ?>
<hr />
<?php
while(list($bescrijving) = mysql_fetch_row($resultaat))
{
echo "$bescrijving is geboren op <br />";
}
?>

<?php
while(list($bescrijving) = mysql_fetch_row($resultaat2))
{
echo "$bescrijving is geboren op <br />";
}
?>
</body>

2 个答案:

答案 0 :(得分:1)

第一个问题,停止使用mysql_ functions系列...这种功能已被弃用,很快就会停止工作或者运行不正常。

您应该更改为PDO系列函数试试这个:

 $dbh = new PDO('mysql:host=localhost;dbname=kse001_h5mh', '776', '776');
 $query1 = $dbh->query("SELECT beschrijving FROM supermarkt WHERE soort = 'komkommertest'");
 $query1->fetchAll(); // bring the result

 $query2 = $dbh->query("SELECT beschrijving FROM supermarkt WHERE soort = 'hamburger'");
 $query2->fetchAll(); // bring the result

这应该有用。

答案 1 :(得分:0)

您可以使用pcntl-fork function运行脚本的2个进程。

您还可以尝试使用ob_flush function在两个数据库请求之间发送输出缓冲区。

在您的情况下,我认为如果可能的话,在AJAX中加载数据是更好的选择。