Avatar billede udvikler Nybegynder
24. november 2005 - 19:04 Der er 18 kommentarer og
1 løsning

Få udskrevet en placering i profilen

Jeg har fået noget hjælp i denne tråd: http://www.eksperten.dk/spm/666540 til at lave en top 10, nu har jeg både lavet det samt en lang liste over både top 10 og de andre.. planceringen bliver også vist ved siden af, men det er ikke en særlig god måde, tror dog ikke der er andre :(

men kan i hjælpe mig med at få vist ens placering for hver bruger i ens profil ? ved ikke hvordan jeg skal gøre nu hvor denne metode er i brug. Hvis i har en anden måde at lave placeringen på er i også mere end velkommne :)
Avatar billede nizo Nybegynder
24. november 2005 - 21:31 #1
Jeg ville nok gøre det saadan her:

<?php
$query=mysql_query("SELECT * FROM table ORDER BY point ASC");
for($i=1; $i<=mysql_num_rows($query); $i++)
{   
    $row = mysql_fetch_assoc($query);
    if($row['username'] == $_SESSION['username'])
    {
        echo "Placering: ".$i;
        break;
    }
}
?>
Avatar billede udvikler Nybegynder
24. november 2005 - 21:50 #2
Takker, det er jo faktisk den samme måde, bare en pænere opstilling :), men kan man på en eller anden måde ikke indsætte den placering man for tildelt i den der metode du/i har brugt i databasen så jeg senere kan trække den ud ?
Avatar billede nizo Nybegynder
24. november 2005 - 22:07 #3
Du kan bare sætte den kode paa profilsiden dér hvor Placeringen skal udskrives, den lister ikke brugere efter placering, men giver bare den bestemte brugers placering, du kan ogsaa gøre saadan her hvis det skal være public (saa alle kan se):

<?php
$query=mysql_query("SELECT * FROM table ORDER BY point ASC");
for($i=1; $i<=mysql_num_rows($query); $i++)

    $row = mysql_fetch_assoc($query);
    if($row['id'] == $_GET['id'])
    {
        echo "Placering: ".$i;
        break;
    }
}
?>

Nu finder den placeringen for den bruger hvis id staar i url'en (siden.php?id=ET_ID)
Avatar billede udvikler Nybegynder
24. november 2005 - 22:23 #4
Ja den sidste kan jeg bruge - den der viser public :)

men jeg kan umuligt få det til at virke da alle mine andre profil oplysninger iforvejen står på den måde.. dvs jeg henter dem i en query og udskriver dem.. sådan her:

$query = mysql_query("SELECT blablabla FROM tabel WHERE id = $id LIMIT 1");
if(mysql_num_rows($query)>0)
{
Mine profil oplysninger
}

så kan du ikke på en eller anden måde gøre så man bare kan kalde din funktion ved hjælp af $placering eller lign ? bare det virker. Når dette er gjort er de fortjente point dine og jeg vil blive glad ;-)
Avatar billede nizo Nybegynder
24. november 2005 - 22:30 #5
Du kan godt ha flere SQL udtræk end én. Du sætter bare den kode jeg skrev der hvor du vil ha pointene skal staa.

Men egentlig kan du godt bruge det udtræk du har i forvejen,
men hvis du ikke vælger at bruge den samme, saa hent kun saa faa data ud som muligt dvs. kun id'et.

Du kan evt. skrive din kode, saa kan jeg prøve at kombinere det.
Avatar billede udvikler Nybegynder
24. november 2005 - 22:33 #6
Her er den mester :)

<html>
<head>
<style>
#box {
    border-top: 1px solid black;
    border-left: 1px solid black;
    border-right: 1px solid black;
    border-bottom: 1px solid black;
    margin: 5px;
    padding: 5px;
    text-align: left;
    font-family: verdana, sans-serif;
    font-size: 10px;
    width: 450px;
}
</style>
</head>

<body>
<?php
include "mysql.php";

$id = mysql_escape_string($_GET["id"]);
$query = mysql_query("SELECT id,brugernavn,mail,hjemmeside,interesser,alder,fritekst,dato,point FROM brugere WHERE id = $id LIMIT 1");
if(mysql_num_rows($query)>0)
{
$row = mysql_fetch_assoc($query);
echo "<h2>";
echo "Du kigger nu på ";
echo $row["brugernavn"];
echo "'s profil";
echo "</h2>";


echo "<br>";
echo "<br>";
echo "<br>";


echo "Her kan du se informationer om ";
echo $row["brugernavn"];
echo "<br>";
echo "<br>";
echo "<div id=\"box\">";
echo $row["fritekst"];
echo "</div>";


echo "<br>";
echo "<b>Brugernavn:</b> ";
echo $row["brugernavn"];
echo "<br>";
echo "<b>Tilmeldt den:</b> ";
echo $row["dato"];
echo "<br>";
echo "<b>Placering:</b> ???";
echo "<br>";
echo "<b>Point:</b> ";
echo $row["point"];
echo "<br>";
echo "<b>E-mail:</b> ";
echo $row["mail"];
echo "<br>";
echo "<b>Hjemmeside:</b> ";
echo $row["hjemmeside"];
echo "<br>";
echo "<b>Interesser:</b> ";
echo $row["interesser"];
echo "<br>";
echo "<b>Alder:</b> ";
echo $row["alder"];
echo "<br>";
echo "<a href=\"oprettede_artikler.php?id=$id\">Artikler oprettede af </b>";
echo $row["brugernavn"];
echo "</a>";
echo "<br>";
echo "<a href=\"oprettede_spoergsmal.php?id=$id\">Spørgsmål oprettede af </b>";
echo $row["brugernavn"];
echo "</a>";
echo "<br>";
echo "<a href=\"edit_profil.php?id=$id\">Rediger profil</a>";
}

?>

</body>
</html>


forstår ikke så meget ved det, da det ikke er mig der har lavet det, derfor søger jeg jo hjælp herinde, håber du kan få det til at virke :)
Avatar billede nizo Nybegynder
24. november 2005 - 22:37 #7
Prøv dette:


<html>
<head>
<style>
#box {
    border-top: 1px solid black;
    border-left: 1px solid black;
    border-right: 1px solid black;
    border-bottom: 1px solid black;
    margin: 5px;
    padding: 5px;
    text-align: left;
    font-family: verdana, sans-serif;
    font-size: 10px;
    width: 450px;
}
</style>
</head>

<body>
<?php
include "mysql.php";

$id = mysql_escape_string($_GET["id"]);
$query = mysql_query("SELECT id,brugernavn,mail,hjemmeside,interesser,alder,fritekst,dato,point FROM brugere WHERE id = $id LIMIT 1");
if(mysql_num_rows($query)>0)
{
$row = mysql_fetch_assoc($query);
echo "<h2>";
echo "Du kigger nu på ";
echo $row["brugernavn"];
echo "'s profil";
echo "</h2>";


echo "<br>";
echo "<br>";
echo "<br>";


echo "Her kan du se informationer om ";
echo $row["brugernavn"];
echo "<br>";
echo "<br>";
echo "<div id=\"box\">";
echo $row["fritekst"];
echo "</div>";


echo "<br>";
echo "<b>Brugernavn:</b> ";
echo $row["brugernavn"];
echo "<br>";
echo "<b>Tilmeldt den:</b> ";
echo $row["dato"];
echo "<br>";
$plac_q=mysql_query("SELECT * FROM table ORDER BY point ASC");
for($i=1; $i<=mysql_num_rows($plac_q); $i++)
{
    $plac_r = mysql_fetch_assoc($plac_q);
    if($plac_r['id'] == $_GET['id'])
    {
        echo "<b>Placering:</b> ".$i;
        break;
    }
}
echo "<br>";
echo "<b>Point:</b> ";
echo $row["point"];
echo "<br>";
echo "<b>E-mail:</b> ";
echo $row["mail"];
echo "<br>";
echo "<b>Hjemmeside:</b> ";
echo $row["hjemmeside"];
echo "<br>";
echo "<b>Interesser:</b> ";
echo $row["interesser"];
echo "<br>";
echo "<b>Alder:</b> ";
echo $row["alder"];
echo "<br>";
echo "<a href=\"oprettede_artikler.php?id=$id\">Artikler oprettede af </b>";
echo $row["brugernavn"];
echo "</a>";
echo "<br>";
echo "<a href=\"oprettede_spoergsmal.php?id=$id\">Spørgsmål oprettede af </b>";
echo $row["brugernavn"];
echo "</a>";
echo "<br>";
echo "<a href=\"edit_profil.php?id=$id\">Rediger profil</a>";
}

?>

</body>
</html>
Avatar billede udvikler Nybegynder
24. november 2005 - 22:43 #8
Det var jo det som jeg prøvede :)

får denne fej;

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource on line 57
Avatar billede nizo Nybegynder
24. november 2005 - 22:45 #9
Du skal jo lige huske at skrive dit table..

Lav
SELECT * FROM table ORDER BY point ASC

om til
SELECT id FROM brugere ORDER BY point ASC
Avatar billede udvikler Nybegynder
24. november 2005 - 22:48 #10
Hehe flovt :)

Men altså nu for jeg ingen fejl men den skriver placeringen forkert. Den skriver at den bruger som blev først oprettet har placeringen nr 1 osv. kan du ændre det ? :)
Avatar billede nizo Nybegynder
24. november 2005 - 22:53 #11
Den burde egentlig skrive det rigtigt, har du et link evt. jeg kan se?

Men ellers maa jeg forsætte med at hjælpe dig imorgen, gaar snart i seng..
Avatar billede udvikler Nybegynder
24. november 2005 - 22:56 #12
Det gør jeg også hehe, men her er et link -> www.adeee.frac.dk/medlemsliste.php bare klik på et af medlemmerne. Fx arne der burde den skrive 1 i profilen ligsom den gør i medlemslisten.  men den skriver 6 fordi han er nr 6 som blev oprettet :)
Avatar billede nizo Nybegynder
24. november 2005 - 23:01 #13
Tror jeg fandt fejlen, prøv det her:


<html>
<head>
<style>
#box {
    border-top: 1px solid black;
    border-left: 1px solid black;
    border-right: 1px solid black;
    border-bottom: 1px solid black;
    margin: 5px;
    padding: 5px;
    text-align: left;
    font-family: verdana, sans-serif;
    font-size: 10px;
    width: 450px;
}
</style>
</head>

<body>
<?php
include "mysql.php";

$id = mysql_escape_string($_GET["id"]);
$query = mysql_query("SELECT id,brugernavn,mail,hjemmeside,interesser,alder,fritekst,dato,point FROM brugere WHERE id = $id LIMIT 1");
if(mysql_num_rows($query)>0)
{
$row = mysql_fetch_assoc($query);
echo "<h2>";
echo "Du kigger nu på ";
echo $row["brugernavn"];
echo "'s profil";
echo "</h2>";


echo "<br>";
echo "<br>";
echo "<br>";


echo "Her kan du se informationer om ";
echo $row["brugernavn"];
echo "<br>";
echo "<br>";
echo "<div id=\"box\">";
echo $row["fritekst"];
echo "</div>";


echo "<br>";
echo "<b>Brugernavn:</b> ";
echo $row["brugernavn"];
echo "<br>";
echo "<b>Tilmeldt den:</b> ";
echo $row["dato"];
echo "<br>";
$plac_q=mysql_query("SELECT id FROM brugere ORDER BY point DESC");
for($i=1; $i<=mysql_num_rows($plac_q); $i++)
{
    $plac_r = mysql_fetch_assoc($plac_q);
    if($plac_r['id'] == $_GET['id'])
    {
        echo "<b>Placering:</b> ".$i;
        break;
    }
}
echo "<br>";
echo "<b>Point:</b> ";
echo $row["point"];
echo "<br>";
echo "<b>E-mail:</b> ";
echo $row["mail"];
echo "<br>";
echo "<b>Hjemmeside:</b> ";
echo $row["hjemmeside"];
echo "<br>";
echo "<b>Interesser:</b> ";
echo $row["interesser"];
echo "<br>";
echo "<b>Alder:</b> ";
echo $row["alder"];
echo "<br>";
echo "<a href=\"oprettede_artikler.php?id=$id\">Artikler oprettede af </b>";
echo $row["brugernavn"];
echo "</a>";
echo "<br>";
echo "<a href=\"oprettede_spoergsmal.php?id=$id\">Spørgsmål oprettede af </b>";
echo $row["brugernavn"];
echo "</a>";
echo "<br>";
echo "<a href=\"edit_profil.php?id=$id\">Rediger profil</a>";
}

?>

</body>
</html>
Avatar billede nizo Nybegynder
24. november 2005 - 23:12 #14
Jeg gaar i seng nu, hvis det ikke virkede maa jeg hjælpe dig videre imorgen.
Avatar billede udvikler Nybegynder
25. november 2005 - 07:11 #15
Det er der ingen grund til, for det virkede :)

Hvis du vil være så venlig at lægge et svar, så kan du få point ? :)
Avatar billede steven_ Nybegynder
25. november 2005 - 18:21 #16
Med en del brugere, tror jeg ikke den løsning er særlig flink mod serveren.

Prøv hellere med:
<html>
<head>
<style>
#box {
    border-top: 1px solid black;
    border-left: 1px solid black;
    border-right: 1px solid black;
    border-bottom: 1px solid black;
    margin: 5px;
    padding: 5px;
    text-align: left;
    font-family: verdana, sans-serif;
    font-size: 10px;
    width: 450px;
}
</style>
</head>

<body>
<?php
include "mysql.php";

$id = mysql_escape_string($_GET["id"]);
$query = mysql_query("SELECT id,brugernavn,mail,hjemmeside,interesser,alder,fritekst,dato,point FROM brugere WHERE id = $id LIMIT 1");
if(mysql_num_rows($query)>0)
{
$row = mysql_fetch_assoc($query);
echo "<h2>";
echo "Du kigger nu på ";
echo $row["brugernavn"];
echo "'s profil";
echo "</h2>";


echo "<br>";
echo "<br>";
echo "<br>";


echo "Her kan du se informationer om ";
echo $row["brugernavn"];
echo "<br>";
echo "<br>";
echo "<div id=\"box\">";
echo $row["fritekst"];
echo "</div>";


echo "<br>";
echo "<b>Brugernavn:</b> ";
echo $row["brugernavn"];
echo "<br>";
echo "<b>Tilmeldt den:</b> ";
echo $row["dato"];
echo "<br>";
echo "<b>Placering:</b> " . (mysql_num_rows( mysql_query("select `id` from `brugere` where `point` > '" . $row['point'] . "'") ) + 1);
echo "<br>";
echo "<b>Point:</b> ";
echo $row["point"];
echo "<br>";
echo "<b>E-mail:</b> ";
echo $row["mail"];
echo "<br>";
echo "<b>Hjemmeside:</b> ";
echo $row["hjemmeside"];
echo "<br>";
echo "<b>Interesser:</b> ";
echo $row["interesser"];
echo "<br>";
echo "<b>Alder:</b> ";
echo $row["alder"];
echo "<br>";
echo "<a href=\"oprettede_artikler.php?id=$id\">Artikler oprettede af </b>";
echo $row["brugernavn"];
echo "</a>";
echo "<br>";
echo "<a href=\"oprettede_spoergsmal.php?id=$id\">Spørgsmål oprettede af </b>";
echo $row["brugernavn"];
echo "</a>";
echo "<br>";
echo "<a href=\"edit_profil.php?id=$id\">Rediger profil</a>";
}

?>

</body>
</html>
Avatar billede nizo Nybegynder
25. november 2005 - 18:30 #17
svar!
Avatar billede udvikler Nybegynder
25. november 2005 - 20:10 #18
Tusinde tak steven, det virker bare desværre ikke :)
- får en blank skærm, men som sagt tusinde tak for forsøget.

Nizo her er pointene :)
Avatar billede nizo Nybegynder
25. november 2005 - 20:28 #19
Tak for point :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester