在PHP中单独打印出MYSQL表中的每一行

时间:2017-04-21 16:41:25

标签: php mysql database

我试图在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中的行但是,我不知道如何单独打印每一行而不打印他们使用$ row ['CATEGORY_NAME']。

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

有点像? (如果我理解你的问题,我不能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> '; 
}

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

答案 1 :(得分:0)

您可以将需要重定向的链接与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>

OR

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