我如何将 href 与 id 号结合起来

how can i combine href with id number

正在尝试从数据库获取一些数据,但我无法在代码中使用带有 ID 号的 href。

我什么都试过了,还是不行。

 <?php 
    $db = JFactory::getDbo();
    $query = $db->getQuery(true);
    $query->select(array($db->quoteName('title')));
    $query->select(array($db->quoteName('id')));
    $query->select(array($db->quoteName('start_date')));
    $query->select(array($db->quoteName('end_date')));
    $query->from($db->quoteName('#__rbid_auctions'));
    $db->setQuery($query);

    $results = $db->loadObjectList();

    // display the results
    foreach ( $results as $result) {
       echo <<<HTML
    <a href="index.php?option=com_rbids&task=viewbids&id={<?php echo $id; ?>}">$result->title . </a>
    HTML;
       echo "<p>" . $result->start_date . "</p>";
       echo "<p>" . $result->end_date . "</p>";
    }

    ?>

如果有人帮助我,我将不胜感激。

提前致谢

我会这样尝试:

您还试图回显未分配的 $id。应该是 $results->id

 <?php 
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select(array('title', 'id', 'start_date', 'end_date' ));
$query->from($db->quoteName('#__rbid_auctions'));
$db->setQuery($query);

$results = $db->loadObjectList();

// display the results
foreach ( $results as $key => $result) {
   echo ' <a href="index.php?option=com_rbids&task=viewbids&id='.$result->id .'>'.$result->title .'</a>';
   echo "<p>" . $result->start_date . "</p>";
   echo "<p>" . $result->end_date . "</p>";
}

?>

演示问题然后我建议的解决方案:(Online Demo)

$result = new stdClass();
$result->id = 333;
$result->title = 'title text';

echo <<<HTML
<a href="index.php?option=com_rbids&task=viewbids&id={<?php echo $id; ?>}">$result->title . </a>
HTML;

输出:

Notice: Undefined variable: id in /in/s1YZG on line 7

<a href="index.php?option=com_rbids&task=viewbids&id={<?php echo ; ?>}">title text . </a>
  • 请注意 $id 不是已声明的变量。如果是,它将被渲染,但花括号之间的所有字符都按字面意思处理,因为您正试图在回声中回声。

没有 heredoc 语法(根据 php 版本,heredoc 的制表符可能很有趣):

echo "<a href=\"index.php?option=com_rbids&task=viewbids&id={$result->id}\">{$result->title} . </a>";  // curly braces may help IDEs with highlighting

新输出:

<a href="index.php?option=com_rbids&task=viewbids&id=333">title text . </a>

至于你的查询构建语法...

  • 您可以节省一些输入并将方法调用链接到 getQuery()
  • None 的 quoteName() 调用对于 stability/security 是必需的,但如果您坚持遵循 Joomla 的首选做法,您可以在 select().

建议代码:

$db = JFactory::getDbo();
$query = $db->getQuery(true)
            ->select($db->quoteName(array('title', 'id', 'start_date', 'end_date')))
            ->from($db->quoteName('#__rbid_auctions'));
$db->setQuery($query);

if (!$results = $db->loadObjectList()) {
    echo "No results";
} else {
    foreach ($results as $row) {
        echo "<a href=\"index.php?option=com_rbids&task=viewbids&id={$row->id}\">{$row->title} . </a>";       
        echo "<p>{$row->start_date}</p>";
        echo "<p>{$row->end_date}</p>";
    }
}

这是另一个 post,其中 loadObjectList() 在包含查询错误检查的 SELECT 查询之后调用:https://joomla.stackexchange.com/a/22963/12352

如果您有 Joomla 问题,请 post 在 Joomla Stack Exchange 上提出问题。