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
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Hvordan er item og antal gemt i databasen? Står de: item1 item1 item1 hvilket så skal lægges sammen til 3?
ja de står som item1 0 item2 3 item4 2 item5 0 hvor tallet ud for er antal man har ;)
<?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
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
æ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>"; } ?>
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
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
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
BTW linket skal jo være den rigtige form (altså forkortelserne) :D:D
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
16. juli 2004 - 13:27
#11
Wuhu, tusind tak :D Får jeg et svar :D?
16. juli 2004 - 13:43
#12
oki! //sostack
Vi tilbyder markedets bedste kurser inden for webudvikling