开发者

Echo the results of query based on its index

开发者 https://www.devze.com 2023-04-10 07:01 出处:网络
This is pretty basic but I can\'t seem to get it to work开发者_JS百科 I have this query $people = \"SELECT name FROM people\";

This is pretty basic but I can't seem to get it to work

开发者_JS百科

I have this query

$people = "SELECT name FROM people";
$people = mysql_query($people) or die(mysql_error());
$row_people = mysql_fetch_assoc($people);
$totalRows_people = mysql_num_rows($people);

I can echo the first result of this query with

<?php echo $row_people['name']; ?>

I could also create a loop and echo all the results.

But I really want to echo the results individually based on its index.

I have tried this, but it does not work.

<?php echo $row_people['name'][2]; ?>

Thanks for your help.


You can fetch them by their index using a WHERE clause.

$people = sprintf("SELECT name FROM people WHERE index='%d'", $index);

If you want to query all rows, you could store them into an array while looping over them:

$people = "SELECT name FROM people";
$people = mysql_query($people) or die(mysql_error());
$totalRows_people = mysql_num_rows($people);
$rows_people = array();
while($row_people = mysql_fetch_assoc($people))
{
    $rows_people[] = $row_people;
}

You might want to add the primary key to the returned fields and use it as the array index probably.


You can ORDER them by their index and then use a loop.

$people = "SELECT name FROM people ORDER by index";


You can use mysql_data_seek on the result object to seek to a particular row. E.g., to get the name value from row 2:

mysql_data_seek($people, 2);
$row_people = mysql_fetch_assoc($people);
echo $row_people['name'];

If you're doing this a lot it will be easier to gather all the rows together in a single array at the start:

$data = array();
while ($row = mysql_fetch_assoc($people)) $data[] = $row;

This way you can fetch any cells in the results trivially:

echo $data[2]['name'];
0

精彩评论

暂无评论...
验证码 换一张
取 消