繁体   English   中英

在PHP中分别从MYSQL表中打印出每一行

[英]Printing out each row from a MYSQL table individually in PHP

我试图从PHP的SQL数据库中单独打印出每一行。 我正在尝试执行此操作,以便检索到的每一行都可以像一个链接一样将用户定向到另一个页面。 例如,当前的SQL查询将从数据库类别中输出类别名称,我希望它输出该表中的所有值,但有该值,因此每个人都有一个不同的重定向链接,该链接指向另一个单击的页面。

$query = "SELECT CATEGORY_NAME
FROM CATEGORIES ORDER BY CATEGORY_ID ASC";      
$results = @mysqli_query ($conn, $query);
$numrows = mysqli_num_rows($results);
if ($results) {
    if ($numrows >0) {
        echo '      
<table>
        <tr>
        <td><strong>Categories</stong></td>

    </tr>';
        while ($row = mysqli_fetch_array($results, MYSQLI_ASSOC)) {
            echo '<tr>      
            <td>' . $row['CATEGORY_NAME'] . '</td>
            </tr> 
        '; 
        }
        mysqli_free_result ($results);  

如,

Category 
__________

PS4
XBOX 

我可以单击PS4,它将带我到另一页,我知道如何使用href进行此操作,然后在sql中打印出该行,但是,我不确定如何单独打印出每一行而不用将它们打印出来$行[ 'CATEGORY_NAME'。

感谢您的任何帮助

就像是? (我不确定100%是否理解您的问题)

while ($row = mysqli_fetch_array($results, MYSQLI_ASSOC)) {
    echo '<tr>      
    <td><a href="somelink.php?cat=' . $row['CATEGORY_NAME'] . '">'  . 
    $row['CATEGORY_NAME'] . '</a></td>
    </tr> '; 
}

更新如果一个类别名为playstation,playstation.php将链接到...

while ($row = mysqli_fetch_array($results, MYSQLI_ASSOC)) {
    echo '<tr>      
    <td><a href="' . $row['CATEGORY_NAME'] . '.php">'  . 
    $row['CATEGORY_NAME'] . '</a></td>
    </tr> '; 
}

尽管上面的方法很有效,但是您可能正在寻找完全不同的东西。 您正在寻找的东西本质上是一种呈现Playstation信息的方式,一种呈现PS4等信息的方式,具体取决于用户点击的内容!? 在这种情况下,您应该执行以下操作:

//Include ID of category in your sql-statement
$query = "SELECT ID, CATEGORY_NAME
FROM CATEGORIES ORDER BY CATEGORY_ID ASC"; 
....
....
while ($row = mysqli_fetch_array($results, MYSQLI_ASSOC)) {
    echo '<tr>      
    <td><a href="presentinfo.php?id=' . $row['ID'] . '">'  .  
    $row['CATEGORY_NAME'] . '</a></td>
    </tr> '; 
}

并根据URL中给定的ID创建presentinfo.php文件,在其中获取有关类别的信息。 (例如, select from categories id={id given in url}

您可以将需要重定向到的链接与CATEGORY_URL一起存储在新的列CATEGORY_NAME ,然后像这样打印出来:

$query = "SELECT CATEGORY_NAME, CATEGORY_URL FROM CATEGORIES ORDER BY CATEGORY_ID ASC";      
$results = mysqli_query($conn, $query);
$numrows = mysqli_num_rows($results);
if ($numrows > 0) {
        echo '      
        <table>
        <tr>
          <td><strong>Categories</stong></td>
        </tr>';
        while ($row = mysqli_fetch_array($results, MYSQLI_ASSOC)) {
            echo '
            <tr>      
              <td>
                <a href="'.$row['CATEGORY_URL'].'">'.$row['CATEGORY_NAME'].'</a>
              </td>
            </tr>'; 
        }
        mysqli_free_result ($results); 
} else {

// no results found 

}

或者,如果您只想将其作为url参数传递,则只需进行如下修改:

<a href="https://www.google.com/#q='.$row['CATEGORY_NAME'].'">'.$row['CATEGORY_NAME'].'</a>

要么

<a href="https://www.yoursite.com/'.$row['CATEGORY_NAME'].'.php">'.$row['CATEGORY_NAME'].'</a>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM