הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   עזרה עם שאילתה?... (https://hosts.co.il/forums/showthread.php?t=39119)

SmsBanner.net 02-02-07 19:34

עזרה עם שאילתה?...
 
אהלן,
במידה ויש לי שני טבלאות,
אחת טבלת קטגוריות מוצרים - categories:
id - מספור אוטומטי (מספר המוצר)
category - שם הקטגוריה

והשנייה המכילה מוצרים - products:
id - מספור אוטומטי
product - שם המוצר
catIds - מספרי קטגוריה אליה המוצר שייך. (לדוגמא: 1,5,8)

איך אני יכול לשלוף (הכי טוב אם בשאילתה אחת) את כל הקטגוריות אליה שייך כל מוצר,
כלומר, עבור כל מוצר לשלוף גם את הקטגוריות אליה המוצר שייך.

** עובד עם MYSQL ללא אפשרות לשאילתה מקוננת

בברכה,
איגור

The Crow 02-02-07 19:56

PHP קוד:

<?php

$ids 
"1,11,1232";
$SQL "SELECT category FROM categories WHERE id = ´" str_replace(",""´ OR id = ´"$ids) . "´";
echo 
$SQL;

?>


meshuga 02-02-07 19:59

או
PHP קוד:

$ids "1,11,1232"
$SQL "SELECT category FROM categories WHERE id IN(".$ids.")";
echo 
$SQL

כמובן שלפני זה צריך לסנן את הקלט וכו'..

עריכה:
בעצם, אחרי שקראתי (פשוט הסתכלתי על התשובה הראשונה שהביאו)..
אתה צריך שליפה מ2 טבלאות במקביל..תשתמש בJOIN....ביחד עם מה שהביאו פה..

RS324 02-02-07 20:08

ציטוט:

נכתב במקור על ידי meshuga (פרסם 416690)
או
PHP קוד:

$ids "1,11,1232"
$SQL "SELECT category FROM categories WHERE id IN(".$ids.")";
echo 
$SQL

כמובן שלפני זה צריך לסנן את הקלט וכו'..

עריכה:
בעצם, אחרי שקראתי (פשוט הסתכלתי על התשובה הראשונה שהביאו)..
אתה צריך שליפה מ2 טבלאות במקביל..תשתמש בJOIN....ביחד עם מה שהביאו פה..

אי אפשר לעשות שליפה מרובה עם JOIN גם אם תשתמש ב WHERE id IN('ids')

מהסיבה הפשוטה שאתה שולף 3 שורות לדוגמא בעלות אותם מאפיינים
ואז אתה תקבל ארור שאומר
coulmn 'category' in query is abmiugos

או משהו בסגנון רק עם שגיאות כתיב...

אתה כאילו מנסה להציג את הקטגוריות שהמוצר שייך אליהם ?

SmsBanner.net 03-02-07 01:25

אכן מה שנכתב לא ממש עובד...

לשאלת RS324 - האם אני מנסה להציג את הקטגוריות שהמוצר שייך אליהם - כן.

meshuga 03-02-07 11:19

רגע, יש לך כמה קטגוריות לכל מוצר?

RS324 03-02-07 16:23

ציטוט:

נכתב במקור על ידי SmsBanner.net (פרסם 416826)
אכן מה שנכתב לא ממש עובד...

לשאלת RS324 - האם אני מנסה להציג את הקטגוריות שהמוצר שייך אליהם - כן.

אז זה יעלה לך בשאילתה נוספת :

שאילתה אחת תמשוך את כל הפרטים של המוצר
והשאילתה השניה את הקטגוריות :
PHP קוד:

$product $db->query_fetch("SELECT * FROM product WHERE productid ='$productid'");

$productCats $db->query_fetch("SELECT * FROM cat WHERE catid IN('$product[cats]')"); 



כל הזמנים הם GMT +2. הזמן כעת הוא 23:39.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ