1

これは私のコードです。

firstnamelastnamephone numberを表示したいのですが、私のコードでは 1 つの番号しか表示されません。

forと を使用して、データベースから一連の数値を取得して表示したいwhile

mod_phonebook.php

<?php
defined( '_JEXEC' ) or die('Restricted access');
$doc = JFactory::getDocument();
$doc->addStyleSheet(JURI::root().'modules/mod_phonebook/css/main.css');
require_once(dirname(__FILE__).DS.'helper.php');

if(isset($_POST['search'])){

    $jinput = JFactory::getApplication()->input;
    $name = $jinput->get('name','','STRING');
    $lname = $jinput->get('lname','','STRING');
    $tell = $jinput->get('tell','','INT');
    if(myphonebook::searchdata($name,$lname,$tell)) 
    {
        echo "<p class='lbl'>$name:نتایج جستجو شامل</p>";
        echo "<p class='lbl'>شماره پیدا شده=".myphonebook::searchdata($name,$lname,$tell).'</p><br>';
    }
    else
    {
        echo "شماره ای به این نام پیدا نشد";    
    }

}
else
{
    require(JMOduleHelper::getLayoutPath('mod_phonebook')); 
}

?>

helper.php

<?php
defined( '_JEXEC' ) or die( 'Restricted access' );

class myphonebook{
   public static function searchdata($name,$lname,$tell){

       $db = JFactory::getDBO();
       $query = "SELECT * from `phonebook` WHERE `name` ='$name' or  `Family`='$lname'  or  `Numberofroom`='$tell'";
       $db->setQuery($query);
       $results = $db->loadObjectList();
       if($db->query())
       {                
           foreach($results as $row){
               $tel = $row->Telephone;  
               return $tel;
               $counter++;
           }
       }    
       else
       {
           return false;
       }

   }
}
?>
4

1 に答える 1

0

foreach 内の return が最初のターンで返されるため、このコードを次のように変更します。

 foreach($results as $row){
                   $tel[$counter] = $row->Telephone;  

                   $counter++;
               }
 return $tel;
于 2014-02-21T15:30:53.807 に答える