1
이것은 내 코드입니다.joomla 모듈에서 데이터의 결과 집합을 검색하고 표시하는 방법.
은 내가 FIRSTNAME, LASTNAME 및 전화 번호를 표시하려면,하지만 내 코드는 한 수 내가 얻을 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;
}
}
}
?>
데이터베이스 쿼리가 사물을 사용하고 있습니다. 'WHERE name = '$ name''과 같아서 아마도 1 개의 이름 만 일치 할 것이고, 따라서 왜 1 개의 숫자 만 표시되고 있는지 알 수 있습니다. 또한 데이터베이스 쿼리에 최신 코딩 표준을 사용하고'$ _POST'를 사용하지 말아야합니다 – Lodder
$ 결과에 무엇을 가져갈 지 –
$ db-> quote ($ name)를 사용해야합니다. – Elin