לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #5  
ישן 02-05-2011, 13:16
  משתמש זכר tsachibenezra tsachibenezra אינו מחובר  
 
חבר מתאריך: 06.06.07
הודעות: 749
בתגובה להודעה מספר 4 שנכתבה על ידי ישראל K שמתחילה ב "היא משרשרת את כל מה..."

(הבעיה שלי עם מה שהצעת היא שאני מאבד את התוצאות של השאילתא)
אז בניתי subselect
(אל תשכח שאני לא צריך את ה subselect כדי שהמערכת תעבוד אני פשוט רוצה על הדרך לשאוב נתונים שמצמצמים את הקריאות הבאות ל DB)
עכשיו מה שקורה זה MYSQL מחזיר לי את כל ה תוצאות של ה subselect
בתוך כל תוצאה של השאילתא

זה מה שהשאילתא ללא ה subselect מחזירה
קוד:
[0] => Array ( [id] => 5 [template_id] => 2 [path] => templates/2/ ) [1] => Array ( [id] => 8 [template_id] => 5 [path] => templates/5/ ) [2] => Array ( [id] => 28 [template_id] => 20 [path] => templates/20/ )


זה ה SUB
קוד:
(SELECT GROUP_CONCAT(template_element_category.name) FROM build_top_page JOIN template_elements ON (template_elements.template_id = build_top_page.template_id) JOIN template_element_category ON (template_element_category.id = template_elements.template_element_category_id) WHERE build_top_page.company_id = '.$this->_company_id.' AND build_top_page.top_menu_id = '.$this->_page_id.' AND template_elements.company_id = '.$this->_company_id.' ) as type_table')


זה מה שמוחזר

קוד:
[0] => Array ( [id] => 5 [template_id] => 2 [path] => templates/2/ [type_table] => text,title,link,title,slider,detail,link,title,ima ge,text,link,title,customer,title,text,title,link, text ) [1] => Array ( [id] => 8 [template_id] => 5 [path] => templates/5/ [type_table] => text,title,link,title,slider,detail,link,title,ima ge,text,link,title,customer,title,text,title,link, text ) [2] => Array ( [id] => 28 [template_id] => 20 [path] => templates/20/ [type_table] => text,title,link,title,slider,detail,link,title,ima ge,text,link,title,customer,title,text,title,link, text )


אין לי בעיה לקחת את התוצאה הראשונה שמכילה את כל האלמנטים שאני צריך לצמצם את האפשרויות
ולעבוד איתם...
הבעיה שזה נראה כמו קומבינה
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #10  
ישן 04-05-2011, 19:25
  ישראל K ישראל K אינו מחובר  
 
חבר מתאריך: 25.08.03
הודעות: 9,114
בתגובה להודעה מספר 9 שנכתבה על ידי tsachibenezra שמתחילה ב "סבבה אני יודע אני רוצה רוצה..."

אני חושב שאתה מבלבל בין מונחים שונים, ואולי לכן יש אי הבנה.
כל עוד לא נדבר בשפה אחת, אנו עלולים להמשיך את הדיון זמן רב, מבלי שנבין אחד את השני, לכן חשוב שתקפיד להגדיר את הדברים במונחים הנכונים

תבחין בין שאילתה (באופן כללי, ללא הבחנה בין שאילתה ראשית לתת שאילתה), תת שאילתה, תוצאה, רשומה/ות.
בהנחה שהבנתי נכון את כוונתך, אין כאן מקום לדבר על שאילתות או תוצאות, כיוון שכל הדיון הוא על שאילתה אחת. ולשאילתה אחת, תוצאה אחת.
מה שכן, תוצאת שאילתה יכולה להכיל מס' רב של רשומות, וכל רשומה מורכבת כמובן ממספר מסויים של שדות.

יש לך שאילתה המורכבת משאילתה ראשית המכילה גם תת שאילתה.
במקרה שלך, תת השאילתה אינה קשורה כלל לשאילתה הראשית, אלא ממוקמת בשאילתה הראשית, על מנת לאחד את תוצאות השאילתות לאחת (ושוב, ללא קשר למספר הרשומות).
בעיה כזאת ניתן בדרך כלל לפתור גם בדרכים אחרות, כגון חיבור (JOIN) ואיחוד (UNION), אך לעת עתה אני לא אתייחס לכך, אלא לאופן בו הדיון כבר קיים.

כאמור, תת השאילתה אינה קשורה לוגית לשאילתה הראשית, אלא נקבעה במיקומה באופן שרירותי.
באם אתה רוצה לכתוב תת שאילתה התלויה בשאילתה הראשית (בתוצאותיה), תכתוב תנאי המתבסס על לפחות אחת מהטבלאות הכלולות בשאילתה הראשית.
לדוגמה:
קוד:
SELECT f, (SELECT a FROM t2 WHERE b=t1.id) FROM t1
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #12  
ישן 05-05-2011, 05:31
  משתמש זכר tsachibenezra tsachibenezra אינו מחובר  
 
חבר מתאריך: 06.06.07
הודעות: 749
בתגובה להודעה מספר 11 שנכתבה על ידי intval שמתחילה ב "אם תכתוב את מבנה הטבלאות שלך..."

טוב אז אני נותן דוגמה של סידור ה DB להמחשה

טבלה ראשונה
עגלת קניות
--ID
--PRODUCT_ID

טבלה שניה
מוצר
--ID
--SOME_DATA

טבלה שלישית
מאפייני מוצר
--ID
--PRODUCT_ID
--PROPERTY_ID

טבלה רביעית
מאפיינים
--ID
--NAME

קוד PHP:
 SELECT cart.idproduct.data
                            FROM cart
                            JOIN product ON product
.id cart.product_id
                            WHERE cart
.user_id '.$this->_user_id.'
                            
AND cart.create_date '.$this->_date.'
                            
AND cart.active 1
                            ORDER BY cart
.order ASC 


עכשיו אני רוצה לייצר לכל תוצאה מהשאילתא הזאת שהיא המקורית ועובדת מצויין
את השם של המאפיין של כל אחת מהבחירות של היוזר

לא לישכוח שיכול להיות לי בטבלת של העגלה 3 מוצרים עם אותו ID רק עם מאפיינים אחרים

תודה
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 19:23

הדף נוצר ב 0.06 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר