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

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

Shay Ben Moshe 04-12-08 21:20

[MYSQL] שליפת נתונים וסידורם
 
שלום לכם!
אני בונה מערכת של תחרות אתרים.
לשם כך אני צריך מסד נתונים, וכבר יש לי קוד מסויים:
קוד:

$query = mysql_query("SELECT * FROM sites");
while($result = mysql_fetch_array($query)) {

לטבלה שלי קוראים sites ויש ב5 ערכים (לפי הסדר הזה):
title
img
text
votes
enters

אני צריך לדעת איך אני שולף מהטבלה לפי הvotes, מסודר מהגבוה לנמוך, ורק את העשרה הראשונים.
אני יכול לעשות לולאת FOR שתספור עד 10 אבל נראה לי פחות חכם.
אשמח אם תוכלו להסביר לי איך ו/או לשלוח לי אתר שמלמד SQL כמו שצריך.

תודה רבה,
שי!

עריכה:
הסתדרתי עם הסידור אבל עכשיו צריך לספור.
הקוד החדש:
קוד:

$query = mysql_query("SELECT * FROM sites ORDER BY votes DESC");

mlnn 04-12-08 21:32

limit 0,10

dor77 04-12-08 21:33

אחרי כל מה שעוזרים לי כאן..אני ינסה לעזור, לא בטוח שזה טוב אבל..
הנה:

PHP קוד:

$query mysql_query("select * from sites order by id desc limit 10"); 

מקווה שזה עוזר לך אחי

daMn 04-12-08 21:34

http://www.webmaster.org.il/article.asp?id=104
שים לב לLIMIT.

Shay Ben Moshe 04-12-08 21:40

תודה רבה!!
הקוד הסופי:
קוד:

$query = mysql_query("SELECT title, img, text, votes, enters FROM sites ORDER BY votes DESC LIMIT 0,10");
ועובד מצויין :)

עריכה: יש בעיה אחרת.
כשאני מסדר את זה.
הכנסתי מ3 עד 11 זה שולף לפי הסדר הזה:
9
8
7
6
5
4
3
11
10

איך אפשר לסדר?

Deagly 04-12-08 23:25

ציטוט:

נכתב במקור על ידי The Chosen Generl (פרסם 685466)
תודה רבה!!
הקוד הסופי:
קוד:

$query = mysql_query("SELECT title, img, text, votes, enters FROM sites ORDER BY votes DESC LIMIT 0,10");
ועובד מצויין :)

עריכה: יש בעיה אחרת.
כשאני מסדר את זה.
הכנסתי מ3 עד 11 זה שולף לפי הסדר הזה:
9
8
7
6
5
4
3
11
10

איך אפשר לסדר?

לא כלכך הבנתי מה שניסית להסביר אבל שים לב:
LIMIT 0,10
0 - אומר מאיזה שורה להתחיל לשלוף) 0 מייצג השורה הראשונה
10 - אומר כמה שורות לשלוף מהשורה שבא התחלת (כלומר משורה ראשונה שהיא 0)

מקווה שהבנת וזה יעזור לך..

נ.ב
אמ לפני איך שרשמת זה שלף לך משורה 3 עד 11
אבל שים לב כשעשית שליפה, סידרת את השליפה לפי מספר ההצבעות הכי גבוה להכי נמוך..
תבדוק את מס' ההצבעות שלך בכל ID ואולי תבין למה זה ככה מסודר :)

Shay Ben Moshe 05-12-08 11:45

א. תודה על ההסבר.
ב. הבנתי מה הייתה הבעיה, עשיתי את זה VARCHAR ואז זה סדר מילוני. עשיתי עכשיו MED INT וזה סדר מספרי.

תודה לכולם אפשר לנעול.


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

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