04. december 2011 - 15:52Der er
11 kommentarer og 1 løsning
mysql : Select fra to tabels i php
Ser i jeg har en php side som skal hente noget fra to tabels i en mysql database og kæde data sammen.
tabels ser sådan ud
account.id (auto inc.) Transactionens id account.userid (int) Brugerens id account.storeid (int) Butikkens id account.amount (int) Brugerens forbrug
store.storeid (auto inc.) Butikkens id store.name (text) Butikkens navn store.point (int) Butikkens point fordeling per 100 kr brugt. dvs 20 giver 5 points per 100 kr brugt.
User.userid vælges naturligvis af mig.
Hvad jeg ønsker at gøre er at finde ud af hvor meget en bruger har af points per butik så simpelt så muligt.
Heh jeg kommer til at trække lidt mere på dig hvis det er okey, kunne du overtales til at hjælpe mig med at dumpe dataerne via et loop fordi det er vist over min kunnen.
<?php include("assets/constants.php"); $userid = '4'; mysql_connect($DB_SERVER,$DB_USER,$DB_PASS); mysql_select_db($DB_NAME); $result=mysql_query("SELECT store.name,SUM(account.amount)/store.point FROM account JOIN store ON account.storeid=store.storeid WHERE account.userid='$userid' GROUP BY store.name"); ?>
umedbart ville jeg jo bruge en $row = mysql_fetch_row($result); til at hente data men det kan jeg vist ikke bare i dette tilfælde. Hvad jeg ønkser output skal være i sidste ende er store.name og også total amount fra den butik devideret med 100 gange med store.point
$result=mysql_query("SELECT store.name AS name,SUM(account.amount)/store.point AS point FROM account JOIN store ON account.storeid=store.storeid WHERE account.userid='$userid' GROUP BY store.name");
while($row = mysql_fetch_array($result)) { // brug $row['name'] og $row['point'] }
Undskyld 1000 gange det virker jo bare, jeg havde lavet en som hed store.pointsys i stedet for store.point mange tak for din hjælp genialt sql intet mindre :)
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.