1

这是我用来在 index.php 中显示结果的函数,其中 style.css 正确完成了 li´s 和 div´s 所有我只想在每个 li 中显示我想要的价格或服务。示例:($_GET_ROW['ID'] = '1', $_GET_ROW['ID'] = '2')

function products() { $get = mysql_query('SELECT id, servico, preco FROM loja');

 if (mysql_num_rows($get)==0) {
    echo "Não existem produtos a serem mostrados!";
} else {
    while ($get_row = mysql_fetch_assoc($get)) {
    echo '<li class="l1 i1 column1">';
    echo '<h2>'.**$get_row["servico"]**. '</h2>';
    echo '<div class="basket"><a href="cart.php?adicionar=' .**$get_row['id']='1'**.'">Adicionar</a></p></div>';
    echo '<div class="preco"><em>Preco:</em><strong>'.number_format($get_row['preco'], 2).'</strong><span>EUR</span>';      
    echo '</div>';
    echo '<li class="l2 i0 column0">';
    echo '<h2>'**.$get_row["servico"].**'</h2>';
    echo '<div class="basket"><a href="cart.php?adicionar=' **.$get_row['id']='2'.**'">Adicionar</a></p></div>';
    echo '<div class="preco"><em>Preco:</em><strong>'.number_format($get_row['preco'], 2).'</strong><span>EUR</span>';      
    echo '</div>';

我的数据库:

-----------------------------------
id servico preco 
-----------------------------------
1 Servico Normal 29.5
-----------------------------------
2 Servico Rapido 32.5
-----------------------------------
4

1 回答 1

2

似乎您需要一个while循环来遍历行,如下所示:

if (mysql_num_rows($get)==0) {
    echo "Não existem produtos a serem mostrados!";
} else {
    while($get_row = mysql_fetch_assoc($get)) {
    **echo '<li class="l1 i1 column1">';
    echo '<h2>'.$get_row["servico_normal"].'</h2>';
    echo '<div class="basket"><a href="cart.php?adicionar=' .$get_row['id'].'">Adicionar</a></p></div>';
    echo '<div class="preco"><em>Preco:</em <strong>'.number_format($get_row['preco'], 2).'</strong><span>EUR</span>';      
    echo '</div>';**
    }
}

但是,您应该立即停止使用mysql_函数,因为它们已被弃用并且容易受到 SQL 注入的影响;并使用mysqli_orPDO代替。

更新 1

mysql_功能已正式弃用

我最初回答的原则仍然存在。您的数据库中有两行,您想遍历它们。

while ($get_row = mysql_fetch_assoc($get)) {
    $liClass = 'l' . $get_row[id];

    echo '<li class="' . $liClass . ' i1 column1">';
    echo '<h2>' . $get_row[servico] . '</h2>';
    echo '<div class="basket"><p><a href="cart.php?adicionar=' . $get_row['id'] . '">Adicionar</a></p></div>';
    echo '<div class="preco"><em>Preco:</em><strong>' . number_format($get_row['preco'], 2) . '</strong><span>EUR</span>';      
    echo '</div>';
}

对于第一行,输出将是:

<li class="l1 i1 column1">
<h2>Servico Normal</h2>
<div class="basket"><p><a href="cart.php?adicionar=1">Adicionar</a></p></div>
<div class="preco"><em>Preco:</em><strong>29.50</strong><span>EUR</span></div>
于 2012-12-11T18:50:59.913 回答