Ik zou graag een top5 van mijn scripts maken maar daarvoor moet ik de data uit de database halen, wat ook lukt, maar nu wil ik een automatische nummering voor elk resultaat.
code-deel :

$query ="SELECT name,hits FROM xl_linkdata order by hits desc limit 0,5";
$result=mysql_query($query)
or die(mysql_error());

while ($row=mysql_fetch_object($result))
{

echo " $row->name &nbsp; $row->hits (hits)<br>";

}

Hoe doe ik dat?

Mark
volgens mij zo

<?
$query ="SELECT name,hits FROM xl_linkdata order by hits desc limit 0,5";
$result=mysql_query($query)
or die(mysql_error());
$i = "0";
while ($row=mysql_fetch_object($result))
{

echo "$i &nbsp; $row->name &nbsp; $row->hits (hits)<br>";
$i++
}


?>

ik kan het verkeerd hebben want ik weet het niet zeker.
Hmm.. je wilt een nummer in je resultaat vóór de rest van de gegevens...?

<?php
$query ="SELECT name,hits FROM xl_linkdata order by hits desc limit 0,5";
$result=mysql_query($query)
or die(mysql_error());

while ($row=mysql_fetch_object($result))
{
// Update Counter
$num++;

// Show Counter and Results
echo "$num $row->name $row->hits (hits)<br>";

}
?>

Elwin

[Edit: Was gewoon me naam vergeten...]
@marien

Je moet eerst je teller optellen, anders zal je altijd het nummer min 1 zien...
Dus van 0 t/m 4, terwijl je van 1 t/m 5 wilt kijken...

Elwin
Dit kan toch ook met for :)

<?php
$query ="SELECT name,hits FROM xl_linkdata order by hits desc limit 0,5";
$result=mysql_query($query)
or die(mysql_error());

for ($num=1;$row=mysql_fetch_object($result);$num++)
{

// Show Counter and Results
echo "$num $row->name $row->hits (hits)<br>";

}
?>
Dit kan toch ook met for :)

Maar het staat al in een while-statement. Waarom heel de code veranderen als een kleine toevoeging al genoeg is?

Elwin
Ut was meer een soort self-check :P
Bedankt voor zoveel reaktie, zal straks proberen welke manier de juiste is, en het ook laten weten, zodat jullie ook weten welke nu de juiste manier was.
In ieder geval al ferm bedankt voor de massale reaktie
Hey SpaceFrog,

Jouw manier lijkt de enigste te zijn die werkt, ik krijg dus een nummering oplopend voor elk resultaat, alleen is er een fout melding omdat de variabele $num niet gedefineerd is :

Notice: Undefined variable: num

Miischien heb je hier een oplossing voor, ik reken een beetje op je.

Mark
Ha eindelijk gevonden :

<?php
$i = "1"; //dit moet 1 zijn anders begint nummering bij 0

while ($row=mysql_fetch_object($result))

{

echo "  $i  $row->name   $row->hits (hits)<br>";

$i++; //hier is Marien vergeten af te sluiten

}
?>

Nu werkt het, heb zelf een beetje geprobeerd ( wat ook de bedoeling is als men wil leren )
Bedankt voor jullie hulp

Mark
maak van die
<?
$i = "1";
$i = 1;
nu maak je er een string van, en das niet echt de bedoeling denk ik

Reageren