打印特定的行mysql和; PHP

时间:2012-08-02 02:49:02

标签: php mysql

嗯,这里有非常新手的问题,但我找不到合适的问题把它放在谷歌或这里。

我有一个非常小的表,只有3行,每行都有一个定义的id(1,2,3)。

我想要做的是打印每一行的行数据,但避免循环函数。

查询将是:

$query = "SELECT field1, field2, field3 FROM table";
$var1 = mysql_query($query);
$var2 = mysql_fetch_assoc($var1);
$var3 = mysql_num_rows($var1);

PHP:

<p><?php echo $var2['field1'];//how can i tell to the code "use the row with this id here -> id=1" ?></p>

<p><?php echo $var2['field1']; // "and use the row with the id "2" here" ?></p>
PS:抱歉我的英语很差,阿根廷老兄在这里。

好的,

这就是为什么我不想把它作为一个循环:

我知道我可以这样做:

<?php do { ?>

<p>bla bla <?php echo $var2[field1]; ?> </p> 

<?php } while ($var2 = mysql_fetch_assoc($var1)); ?>

但它不能这样做,因为网站设计将这些数据放在不同的div中,具有不同的定位和CSS格式。

我想以正确的方式做到这一点,避免每行使用一个查询。

行将永远为3,每个行的id将始终相同(1,2,3)。

3 个答案:

答案 0 :(得分:0)

没有循环就无法做到。你为什么要避免循环呢?它应该相当简单,例如:

$query = 'SELECT field1, field2, field3 FROM table';
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result))
    echo "<p>{$row['field1']}</p>";
mysql_free_result($result);

答案 1 :(得分:0)

我想不出不使用循环的原因...通常,mysql_fetch_assoc函数从结果资源返回一行数据,然后自动递增结果资源中的内部行指针。这将是循环方式:

while ($row = mysql_fetch_assoc($var1)) {
    echo $row["field1"];
    echo $row["field2"];
    echo $row["field3"];
}

mysql_free_result($var1);

但是,您可以这样做,因为内部行指针会自动递增。

$row1 = mysql_fetch_assoc($var1);
$row2 = mysql_fetch_assoc($var1);
$row3 = mysql_fetch_assoc($var1);

echo $row1["field1"];
echo $row1["field2"];
echo $row1["field3"];

echo $row2["field1"];
...

如果没有循环,这基本上可以让你获得同样的东西。快乐的编码!

答案 2 :(得分:0)

这个怎么样?这可能适合你。

$result = mysql_query("SELECT field1, field2, field3 FROM table");

$arr1 = (mysql_fetch_array($result));
$arr2 = (mysql_fetch_array($result));
$arr3 = (mysql_fetch_array($result));

switch ($x)
{
    case 1: echo $arr1[0] ." - ".$arr1[1] ." - ".$arr1[2]; break;
    case 2: echo $arr2[0] ." - ".$arr2[1] ." - ".$arr2[2]; break;
    case 3: echo $arr3[0] ." - ".$arr3[1] ." - ".$arr3[2]; break;
    default: echo "Unknown";
}