14-06-09, 16:47 | # 1 |
חבר על
|
קישור בין טבלאות במסד SQL
היי,
נניח שיש לי 2 טבלאות כרגע. אחת בנויה ככה: איידי, שם משתמש, בעלים. השניה בנויה ככה: איידי, שם משתמש, מספר כלשהו. האיידי לא חופפים בשתי הטבלאות. בעלים - זה STRING כלשהו. מה שאני רוצה לעשות: לקחת את כל השמות משתמשים שיש להם את אותם הבעלים מהטבלה הראשונה, ולחבר את כל המספרים שלהם מהטבלה השניה. לדוגמא: טבלה א': 1, אמיר, אלון 2, סתיו, חיים 3, מוחמד, אלון 4, אסף, חיים טבלה 2: 5, אמיר, 50 19, סתיו, 20 12, מוחמד, 16 55, אסף, 80 אני רוצה לקחת את אמיר ומוחמד (שלשניהם אותם בעלים) ולחבר את המספרים שלהם, כדי שייצא 66. או לקחת את סתיו ואסף שלשניהם אותם בעלים ולחבר את המספרים שלהם, כדי שייצא 100. למישהו יש רעיונות איך לעשות כזה דבר? Last edited by Cyeo; 14-06-09 at 16:51.. |
14-06-09, 17:00 | # 2 |
חבר וותיק
|
לשלוף את כל השדות מטבלה א
להכניס את זה למערך בצורה הבאה : אלון -> אמיר, מוחמד. חיים -> סתיו, אסף. מפה לעשות foreach לכל מערך לפי key ו value להריץ את כל הפריטים מהמערכים בטלבה מספר 2 במסד ולאגור נתונים עבודה כל רשומה במערך. אם תרצה עזרה עם הקוד תפנה אלי... |
14-06-09, 17:04 | # 3 | |
חבר על
|
ציטוט:
אוקי, נגיד ואני רוצה לשלוף את כל המשתמשים של אלון. אז אני עושה: קוד:
$sql = mysql_query("SELECT name FROM a WHERE owner='alon'"); |
|
14-06-09, 17:56 | # 4 |
חבר וותיק
|
PHP קוד:
אלון -> מוחמד, אבי שרון. חיים -> סתיו, נתי, חי, אבדול. מפה מה שנשאר לך לרוץ על כל מערך ולתת לו טוטאל לפי המשתמשים. תאכלס למען היעילות קוד הייתי מציע לך לעשות את זה עם JOIN ולגמור הכל בשאילתא 1. Last edited by hi_sorie; 14-06-09 at 18:11.. |
14-06-09, 18:04 | # 5 |
אחראי פורום
|
שכחת לשלוף את owner בשאילתה,
ולא עושים $row[name], עושים $row['name']; |
14-06-09, 18:10 | # 6 | |
חבר וותיק
|
ציטוט:
לגבי הראשון נכון ... העתקתי את השאילתא שלו פשוט ... צריך להוסיף * וזה ישלוף הכל. לגבי השני אתה מוזמן לנסות, תראה שזה עובד. |
|
14-06-09, 18:51 | # 7 |
חבר על
|
תודה לשניכם בכל מקרה,
החלטתי שאין טעם להחזיק בשתי טבלאות שונות ואיחדתי את הטבלאות לטבלה אחת. אחר כך עשיתי ככה בשביל לעשות מה שרציתי: קוד:
$result = "select sum(count) as counter from table where bealim='admin' group by bealim"; $sql = mysql_query($result); $res = mysql_fetch_array($sql); echo $res['counter']; |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|