Hi Jim,
On Wednesday, March 23, 2011, 1:42:18 AM, you wrote:
> ok - here's the code in question.
> $q = 'select * from director_records ';
> $qrslt = mysql_query($q);
> $rows = mysql_num_rows($qrslt);
> for ($i=0; $i<$rows; $i++)
> {
> $j = $i+1;
> $row = mysql_fetch_array($qrslt);
> echo $j.'-'.$row['userid'];
> if ($row['user_priv']<> "")
> echo ' ('.$row['user_priv'].')
';
> else
> echo '
';
> }
> The output I get is:
> 1-smith5
> f-ginerjm (M)
> g-smith8
> While the alpha parts are valid, the index is only correct for the first one
> (0) obviously.
I couldn't understand why you're getting characters, so I thought I'd
have a go myself. First, some DDL and DML to recreate your data:
create table director_records (userid char(16), user_priv char(8));
insert into director_records (userid, user_priv) values ('smith5',
''),('ginerjm','M'),('smith8','');
Now when I ran your code I got:
1-smith5
f-ginerjm (M)
g-smith8

That is, all but the first result has 
x in front of it. These are
HTML entities that display as characters and it so happens that f
is 'j' and g is 'g'. Strictly, these entities should be terminated
with a semi-colon (i.e. f and g), but your browser is
'obligingly' making sense of the 'bad formatting' and this is why
you're getting characters.
BTW, an alternative to your for construct would be to use a while loop
to iterate through a data table. e.g. in your case, I'd have used:
$q = 'select * from director_records ';
$qrslt = mysql_query($q);
$i = 1;
while ($row = mysql_fetch_array($qrslt)){
echo $i++ . '-' . $row['userid'];
if ($row['user_priv']<>""){
echo " (" . $row['user_priv'] . ")";
}
echo "<br>\n";
}
HTH,
--
Geoff Lane
Cornwall, UK
[email protected]
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php