Avatar billede spidr Nybegynder
13. juli 2004 - 14:03 Der er 11 kommentarer og
1 løsning

lave table ud fra database

Ok jeg har et lille problem, jeg er ved at lave en side hvor folk kan se vilke items de har :)
i databasen står alle items og det jeg så vil er at lave en table med alle de items vedkomene har, hvis databasen siger han har 0, skal den ikke med, har han 1 eller over skal den med
og så skal den udskrives som

<table>
<tr><td>item1 - antal</td><td>item2 - antal</td></tr>
<tr><td>item3 - antal</td><td>item4 - antal</td></tr>
</table>

Hvordan kan jeg lave det?
altså så den ikke tager de items med vedkomene ikek har, men kun de items som han/hun har :)?

har sidet og bikset med det i en evighed, og kan ikke finde frem til noget der virker :S
Avatar billede jaw Nybegynder
13. juli 2004 - 14:14 #1
Hvordan er item og antal gemt i databasen?

Står de:
item1
item1
item1

hvilket så skal lægges sammen til 3?
Avatar billede spidr Nybegynder
13. juli 2004 - 14:19 #2
ja de står som
item1 0
item2 3
item4 2
item5 0

hvor tallet ud for er antal man har ;)
Avatar billede sostack Nybegynder
13. juli 2004 - 14:25 #3
<?php
if($_GET["user"])
{
    $_POST["user"] = $_GET["user"]; //jeg ved ikke om du kalder med get eller post ??
}
//forbind til databasen her.
$tabel = "navnet på din tabel";
$qry_bruger = mysql_query("SELECT item1, item2, item3, item4 FROM $tabel WHERE `user`='" $_POST["user"] . "'") OR DIE(mysql_error());
if(mysql_num_rows($qry_bruger) > 0)
{
    $taeller = 1;
    echo "<table cols='2' border='1'><tr>";
    $bruger = mysql_fetch_array($qry_bruger) OR DIE(mysql_error());
    foreach($bruger AS $key => $value)
    {
        if(0 != $value)
        {
            if(($taeller % 2) == 0)
            {
                echo "<td>$key - $value</td></tr>";
            } else {
                echo "<tr><td>$key - $value</td>";
            }
            $taeller++;
        }
    }
    echo "</table>";
}
?>

//sostack
Avatar billede spidr Nybegynder
13. juli 2004 - 20:12 #4
ser ud til det næsten virker :S
Den skriver

0 - 15 Sprut - 15
1 - 18 Smokes - 18
5 - 3 Blomster - 3
7 - 1 Hash - 1
9 - 5 WaterMelon - 5

og den skal skrive
Sprut - 15    Smokes - 18
Blomster - 3  Hash - 1
WaterMelon - 5

<--håber det forklare bedre ;)
den skal ikek bare køre dem ud i en lan linie, men køre 2 items på hver linie :D:D
Avatar billede spidr Nybegynder
13. juli 2004 - 20:12 #5
ændret lidt i den ;)


<?php
$qry_bruger = mysql_query("SELECT Sprut, Smokes, E, Coke, Cola, Blomster, Pizza, Hash, Banan, WaterMelon FROM LoveHinaUSERS WHERE Nickname = '$Nickname'") OR DIE(mysql_error());
if(mysql_num_rows($qry_bruger) > 0)
{
    $taeller = 1;
    echo "<table><tr>";
    $bruger = mysql_fetch_array($qry_bruger) OR DIE(mysql_error());
    foreach($bruger AS $key => $value)
    {
        if(0 != $value)
        {
            if(($taeller % 2) == 0)
            {
                echo "<td>$key - $value</td></tr>";
            } else {
                echo "<tr><td>$key - $value</td>";
            }
            $taeller++;
        }
    }
    echo "</table>";
}
?>
Avatar billede spidr Nybegynder
13. juli 2004 - 20:29 #6
og den der metode er heller ik helt god for man skal ved enkelte items lave om på navnet, for det navn der står i databasen er forkortet, og det skal det ikke være når den udskriver det, + at ved enkelte items skal man have muligheden for at trykke use og så skal man komme til use.php?item=$item ;)

Håber det stadig kan fikses :D
Avatar billede sostack Nybegynder
14. juli 2004 - 07:20 #7
Det kan fikses.
indsæt en linie før $qry_bruger = ......:
$items = Array("Sprut", "Smokes", "E", "Coke", "Cola", "Blomster", "Pizza", "Hash", "Banan", "WaterMelon");
ret denne til de uforkortede itemnavne.
Ret: $bruger = mysql_fetch_array($qry_bruger) OR DIE(mysql_error());
til: $bruger = mysql_fetch_row($qry_bruger) OR DIE(mysql_error());
Ret: echo "<td>$key - $value</td></tr>";
til: echo "<td><a href='use.php?item=$items[$key]'>USE</a> $items[$key] - $value</td></tr>";
Det vil rette:
0 - 15 Sprut - 15
1 - 18 Smokes - 18
til:
USE Sprut - 15 USE Smokes - 18

//sostack
Avatar billede spidr Nybegynder
14. juli 2004 - 17:20 #8
men hvad hvis der ikke skal stå use?
skal der kun på enkelte af itemsne :D:D
Damn jeg er besværlig i know :D
Avatar billede spidr Nybegynder
14. juli 2004 - 18:23 #9
BTW linket skal jo være den rigtige form (altså forkortelserne)
:D:D
Avatar billede sostack Nybegynder
15. juli 2004 - 07:17 #10
<?php
$items = Array("Sprut", "Smokes", "E", "Coke", "Cola", "Blomster", "Pizza", "Hash", "Banan", "WaterMelon");
$items_forkortet = Array("Sprut", "Smokes", "E", "Coke", "Cola", "Blomster", "Pizza", "Hash", "Banan", "WaterMelon");
$items_use = Array("Sprut","Smokes");
$qry_bruger = mysql_query("SELECT Sprut, Smokes, E, Coke, Cola, Blomster, Pizza, Hash, Banan, WaterMelon FROM LoveHinaUSERS WHERE Nickname = '$Nickname'") OR DIE(mysql_error());
if(mysql_num_rows($qry_bruger) > 0)
{
    $taeller = 1;
    echo "<table><tr>";
    $bruger = mysql_fetch_row($qry_bruger) OR DIE(mysql_error());
    foreach($bruger AS $key => $value)
    {
        if(0 != $value)
        {
            if(in_array($items[$key], $items_use)
            {
                if(($taeller % 2) == 0)
                {
                    echo "<td><a href='use.php?item=$items_forkortet[$key]'>USE</a> $items[$key] - $value</td></td></tr>";
                } else {
                    echo "<tr><td><a href='use.php?item=$items_forkortet[$key]'>USE</a> $items[$key] - $value</td></td>";
                }
        } else {
              if(($taeller % 2) == 0)
                {
                    echo "<td>$items[$key] - $value</td></td></tr>";
                } else {
                    echo "<tr><td>$items[$key] - $value</td></td>";
                }
        }
        }
        $taeller++;
    }
    echo "</table>";
}
?>
// $items er det brugeren ser på siden
// $items_forkortet er de navne felter´ne har i databasen
// $items_use er de felter der skal links på, så man kan bruge dem

//sostack
Avatar billede spidr Nybegynder
16. juli 2004 - 13:27 #11
Wuhu, tusind tak :D
Får jeg et svar :D?
Avatar billede sostack Nybegynder
16. juli 2004 - 13:43 #12
oki!

//sostack
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