webForumDet fria alternativet

Online lista.

7 svar · 439 visningar · startad av eklof00

eklof00Medlem sedan jan. 200737 inlägg
#1

Med den här koden:

<?php
session_start(); // Alltid överst på sidan

include "conn.php"; // Databasanslutningen

$result = mysql_query("SELECT user, stars FROM members WHERE online = 1");
$online_members = array();
while ($row = mysql_fetch_assoc($result)) {
   $online_members[] = $row['user'] . ' ';
   for ($i=0; $i<$row['stars']; $i++)
     echo '<img src="images/goldstar.gif">';

 }
echo "Antal Online: ".count($online_members). "<br />".implode("<br />", $online_members );
 ?>

Blir resultatet:

***Antal online:3
kalle
pelle
anna

jag vill ha:

antal online: 3
kalle**
pelle*
anna

@ndersMedlem sedan juni 200032 969 inlägg
#2

Visa koden som skriver ut användarna. Det finns ingen anledning att loopa igenom resultatsetet två gånger (som du verkar göra, eftersom utskriften av namn inte finns med i den koden du visar).

eklof00Medlem sedan jan. 200737 inlägg
#3

Det är ju:

$online_members[] = $row['user'] . ' ';
@ndersMedlem sedan juni 200032 969 inlägg
#4

My bad.

Det är jag som inte kan php, det är väl det som är problemet. ;)

- - - -

Men, om du istället för att använda echo på stjärnorna konkatenerar in dem i $online_members så borde det bli bra.

while ($row = mysql_fetch_assoc($result)) { 
   $tmp = $row['user'];
   for ($i=0; $i<$row['stars']; $i++) 
     $tmp .= '<img src="images/goldstar.gif">'; 
   $tmp .= ' ';
   $online_members[] = $tmp;
}

(Borde kanske kunna fungera, mina kunskaper i php är något bristfälliga som sagt)

eklof00Medlem sedan jan. 200737 inlägg
#5

Ska jag ha samma echo?

echo "Antal Online: ".count($online_members). "<br />".implode("<br />", $online_members );

@ndersMedlem sedan juni 200032 969 inlägg
#6

Prova.

eklof00Medlem sedan jan. 200737 inlägg
#7

Det fungerade jättebra. Tack!

Jag försöker på in samma funktion i den är koden..

Har försökt själv att få in den tillsammans med

<td align="left">'.$data['user']. '</td>

<?php
 
session_start();
 
include "conn.php"; // Databasanslutningen
 
$sql = "
  SELECT goldstar, t.user_id, m.matcher, m.score AS match_score, t.score AS tip_score,
         m.tips AS match_tips, t.tips AS tip_tips, s.user, m.match_id
  FROM spel_tb t
  INNER JOIN members s ON s.user_id = t.user_id
  INNER JOIN match_tb m ON m.match_id = t.match_id WHERE liga='as07'  
  ORDER BY m.match_id, t.user_id
";
$result = mysql_query($sql) or die("SQL: $sql <br>".mysql_error());
 
 
// Först bygger vi upp arrayen
 
$match = array();
$user = array();

 
while ($row = mysql_fetch_assoc($result)) {
 
   if (empty($user[$row['user_id']])) {
      $user[$row['user_id']]['user'] = $row['user'];
	  $user[$row['user_id']]['tot_points'] = 0;
      $user[$row['user_id']]['tips'] = array();
	  }
 
   $row_points = $row['match_score'] == $row['tip_score'] ? 0 : 0;
   $row_points += $row['match_tips'] == $row['tip_tips'] ? 1 : 0;
   $user[$row['user_id']]['tot_points'] += $row_points;
   
   $user[$row['user_id']]['tips'][$row['match_id']]['score'] = $row['tip_score'].' ('.$row['tip_tips'].')';
   $user[$row['user_id']]['tips'][$row['match_id']]['points'] = $row_points;
   
   $match[$row['match_id']]['match'] = $row['team'];
   $match[$row['match-id']]['score'] = $row['match_score'].' ('.$row['match_tips'].')';
   
   
    
}
 
function cmp($a, $b) 
{
   if ($a['tot_points'] == $b['tot_points']) {
       return 0;
   }
   return ($a['tot_points'] > $b['tot_points']) ? -1 : 1;
}
 
usort($user, "cmp");
 
// Sedan loopar vi ut arrayen för utskrift
 
echo '
  <table>
 
    <tr>
     <th align="center"></th>
     <th align="left">Medlem</th>
	 <td></td>
	<th align="right">Poäng</th>
    </tr>
';

$i=1; 
foreach (array_slice($user, 0, 200) AS $data) {

   echo '
    <tr>
     <td align="right">'.$i++.'.</td>
     <td align="left">'.$data['user']. '</td>
	 <td></td>
	 <td align="right">'.$data['tot_points'].'p</td>
    </tr>
   ';
 }

 
echo '
  </table>
';
?>
eklof00Medlem sedan jan. 200737 inlägg
#8

Någon?

242 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
115 ms — hämta statistik (db)
124 ms — hämta tråd, inlägg och bilagor (db)