Select и таблица

bowby

Registered
Как да изкарам името на потребителя и точките
Ето за точките
Код:
SELECT points FROM members
и така да изкарва класация кой има най-много точки и да изкарва всичките потребители с класация с точките. Да има и странициране
Ако може да е в 1 таблица с 3 места едното е
Номер : Потребител : Точки:
ID Потребителско име Точки
Пробвах така
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("database", $con);
$result = mysql_query("SELECT points FROM members ORDER BY points, SELECT member_id FROM members,SELECT name FROM members");

echo "<center>";
echo "<table border='1'>
<tr>
<th>ID</th>
<th>Потребител</th>
<th>Точки</th>
</tr>";

while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['member_id'] . "</td>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['points'] . "</td>";
echo "</tr>";
}
echo "</table>";
echo "</center>";
mysql_close($con);
?>
Но ми изписва Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource on line 19
 
пробвай така


<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("database", $con);
$result = mysql_query("SELECT * FROM members ORDER BY points DESC where member_id ");

echo "<center>";
echo "<table border='1'>
<tr>
<th>ID</th>
<th>Потребител</th>
<th>Точки</th>
</tr>";

while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['member_id'] . "</td>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['points'] . "</td>";
echo "</tr>";
}
echo "</table>";
echo "</center>";
mysql_close($con);
?>
 
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource on line 19
Пак същото :cry: таблиците си ги има в db и сичко е наред не знам защо така :(
 
Ето част от нея, от която изваждаме тези неща
Код:
CREATE TABLE IF NOT EXISTS `members` (
  `member_id` mediumint(8) NOT NULL auto_increment,
  `name` varchar(255) NOT NULL default '',
  `points` bigint(20) NOT NULL default '0',
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=25 ;
 
я виж така дали ще стане


<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("database", $con);
$result = mysql_query("SELECT * FROM `members` ORDER BY `points` DESC where member_id ");

echo "<center>";
echo "<table border='1'>
<tr>
<th>ID</th>
<th>Потребител</th>
<th>Точки</th>
</tr>";

while($row = mysql_fetch_assoc($result))
{
echo "<tr>";
echo "<td>" . $row['member_id'] . "</td>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['points'] . "</td>";
echo "</tr>";
}
echo "</table>";
echo "</center>";
mysql_close($con);
?>
 
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("database", $con);
$result = mysql_query("SELECT * FROM `members` ORDER BY `points` DESC where member_id ");

echo "<center>";
echo "<table border='1'>
<tr>
<th>ID</th>
<th>Потребител</th>
<th>Точки</th>
</tr>";

while($row = mysql_fetch_assoc($result))
{
echo "<tr>";
echo "<td>" . $row['member_id'] . "</td>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['points'] . "</td>";
echo "</tr>";
}
echo "</table>";
echo "</center>";
mysql_close($con);
?>
 
ммм скрипта ти е верен провери си таблиците може и да имаш някаде правописна грешка
 
Код:
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("database", $con);

$result = mysql_query("SELECT * FROM `members` ORDER BY `points` DESC") or die(mysql_error());

echo "<center>";
echo "<table border='1'>
<tr>
<th>ID</th>
<th>Потребител</th>
<th>Точки</th>
</tr>";

while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['member_id'] . "</td>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['points'] . "</td>";
echo "</tr>";
}
echo "</table>";
echo "</center>";
mysql_close($con);
?>
 
Мерси, сега стана.
Но като потребителското име е на кирилица излиза маймуница :D
 
Пробвай така



Код:
	<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("database", $con);

$result = mysql_query("SELECT * FROM `members` ORDER BY `points` DESC") or die(mysql_error());
mysql_query("SET NAMES cp1251");
mysql_query("SET CHARACTER SET cp1251"); 
echo "<center>";
echo "<table border='1'>
<tr>
<th>ID</th>
<th>Потребител</th>
<th>Точки</th>
</tr>";

while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['member_id'] . "</td>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['points'] . "</td>";
echo "</tr>";
}
echo "</table>";
echo "</center>";
mysql_close($con);
?>
 
Ми не, пак е същото, като сменя енкодинга от браузъра на utf-8 става но защо така не става :( :D
 
Код:
	    <?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("database", $con);

$result = mysql_query("SELECT * FROM `members` ORDER BY `points` DESC") or die(mysql_error());
mysql_query("SET NAMES UTF8");
mysql_query("SET CHARACTER SET UTF8");
echo "<center>";
echo "<table border='1'>
<tr>
<th>ID</th>
<th>Потребител</th>
<th>Точки</th>
</tr>";

while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['member_id'] . "</td>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['points'] . "</td>";
echo "</tr>";
}
echo "</table>";
echo "</center>";
mysql_close($con);
?>
 
Мерси но аз го оправих по друг начин, сложих чарсета на страницата на utf-8 и конвертирах скрипта на utf-8 без DOM и стана.
А може ли да се сложи странициране ? Примерно на първата страница да показва само 20 резултата и вече да има странициране
 
Код:
	        <?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("database", $con);


$broinastranica = 20;
$pageNum = 1;
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
$redove = ($pageNum - 1) * $broinastranica;

$query = "SELECT COUNT(id) AS numrows FROM `members`";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];


$maxPage = ceil($numrows/$broinastranica);

$self = $_SERVER['PHP_SELF'];
$nomeranastranici = '';

for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nomeranastranici .= " $page ";
}
else
{
$nomeranastranici .= " <a href=\"$self?page=$page\">$page</a> ";
}
}

if ($pageNum > 1)
{
$page = $pageNum - 1;
$predishna = " <font color=orange><a href=\"$self?page=$page\"> [<] </a></font> ";

$parva = " <font color=orange><a href=\"$self?page=1\">[първа]</a></font> ";
}
else
{
$predishna = ' ';
$parva = ' ';
}


$result = mysql_query("SELECT * FROM `members` ORDER BY `points` DESC LIMIT $redove, $broinastranica") or die(mysql_error());
echo "<center>";
echo "<table border='1'>
<tr>
<th>ID</th>
<th>Потребител</th>
<th>Точки</th>
</tr>";

while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['member_id'] . "</td>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['points'] . "</td>";
echo "</tr>";
}
echo "<font color = '#000' />Страница: </font>";
echo "<font color = '#000' />$nomeranastranici</font>";
echo "</table>";
echo "</center>";
mysql_close($con);
?>
 

Back
Горе