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

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

Ori The Man 06-08-06 23:03

בחירת תוצאה מתוך המסד נתונים ע"י הצבת מספר
 
אני רוצה לבחור שדה מהמסד נתונים באמצעות id
בל מה שאני רוצה
שהכל יתנהל ע"י שאילתה אחת
ניסיתי לעשות זאת באמצעות פונקציה אך ללא הצלחה
PHP קוד:

<?php
require("config.php");

function bringid($id)
{
$select_by_id=mysql_query("SELECT * FROM pages where id='$id'") or die (mysql_error());

$row=mysql_fetch_array($select_by_id);
$row=$row["text"];
echo 
$row;
}
bringid(1);
?>

זה רושם לי
Parse error: syntax error, unexpected T_FUNCTION on line 4
יש לכם הצעות איך אפשר לעשות את זה?

opsite 06-08-06 23:07

PHP קוד:

$query mysql_query("SELECT * FROM table name ORDER BY id DESC"); 


Ori The Man 06-08-06 23:12

מה הקשר :\
מה שנתתה לי בוחר את הרשומה האחרונה

Dan Zelniker 06-08-06 23:12

אני חושב שזה בגלל לא הגדרת את המשתנה ID
תנסה לשנות מ:
PHP קוד:

bringid(1); 

ל:
PHP קוד:

$id 1;
bringid($id); 

אני משער שזה זה...

mlnn 06-08-06 23:13

תשתמש ב include

Ori The Man 06-08-06 23:13

אני מגדיר תמשנתה id ע"י זה שאני מציב בין הסוגררים מספר

opsite 06-08-06 23:14

אופס אחי לא שמתי לב .. חח מה הקשר נתתי לך את זה דקה נחפש פתרון לזה

Alon.R 07-08-06 00:27

Logic-serv

אוואהה.. צריך ממש לחפור בראש בשביל למצוא פתרון...

כולה מה שאתה צריך זה לשים את הפרמטר בתוך "", ככה:
bringid("1");

-VladK- 07-08-06 06:20

ציטוט:

נכתב במקור על ידי Alon.R
Logic-serv

אוואהה.. צריך ממש לחפור בראש בשביל למצוא פתרון...

כולה מה שאתה צריך זה לשים את הפרמטר בתוך "", ככה:
bringid("1");

אההההם...אבל אז הוא יחשיב את זה כטקסט...כך שאם לדוגמא תהיה בדיקה כזאת (בתוך הפונקציה)
PHP קוד:

if($id === 1

אז זה יחזיר FALSE...למרות שאני אישית בספק שתהיה כזאת בדיקה....

Ori The Man 07-08-06 09:21

כלום לא עוזר :(

WebProject 07-08-06 09:34

היי אורי, ממזמן לא דיברנו, אני משער שהבעיה הינה היא מrequire, כנראה שהקובץ לא קיים, תבדוק את זה, אני בטוח ב100%.

אם אתה לא יודע, המטרה של requier, במידה והקובץ אינו קיים, היא להפסיק קליל את פעולת מנוע הPHP, ובכלל את כל פעולות הדף, לעומת זאת, include, נותנת שגיאה וממשיכה, לכן אם תשנה ל include אני חושב שזה יסדר לך, שוב בדוק שהקובץ קיים.

Ori The Man 07-08-06 09:43

ציטוט:

נכתב במקור על ידי WebProject
היי אורי, ממזמן לא דיברנו, אני משער שהבעיה הינה היא מrequire, כנראה שהקובץ לא קיים, תבדוק את זה, אני בטוח ב100%.

אם אתה לא יודע, המטרה של requier, במידה והקובץ אינו קיים, היא להפסיק קליל את פעולת מנוע הPHP, ובכלל את כל פעולות הדף, לעומת זאת, include, נותנת שגיאה וממשיכה, לכן אם תשנה ל include אני חושב שזה יסדר לך, שוב בדוק שהקובץ קיים.

פיי מה המצב לאיפה נעלמתה :-D
הקובץ קיים ושיניתי גם לinclude אותו ארור

WebProject 07-08-06 09:56

שים "@" לפני האינקלוד, ותגיד לי אם זה עדיין נותן שגיאה.

Ori The Man 07-08-06 10:10

עדיין יש ארור
זה קשור לפונקציה

O-B 07-08-06 10:24

אתה אמור לכתוב את השם של הפונקציה ככה
ציטוט:

function bringid(id)
תחזיר תשובה עם עובד.

WebProject 07-08-06 10:28

למה שזה יעבוד? זה יעבוד רק עם id הינו קבוע מראש (defined).

Tomer 07-08-06 11:28

Logic-Serv, אני אומר לך כמשתמש ולא כמנהל פורום - התשובות שלך עלו לי על העצבים. תפסיק להגיב בפורום "תכנות" במידה ואתה לא יודע את התשובה!

Eli-Hai 07-08-06 12:12

אממ, הגדרת את $row כ- mysql_fetch_array() ואת $row["text"] גם כ$row.
אולי פשוט תנסה להגדיר את $row["text"] בשם אחר?

eLad 07-08-06 12:27

i'm not familiar with PHP, but your SELECT syntax is incorrect.

when you wanna use SELECT statement with WHERE caluse, you need to pay attention to the apostrophe.

if you wanna select from a filed that have been defined as an integer, you DO NOT use apostrophe, differently from a field that defined as string where there you must use apostrophe.

-VladK- 07-08-06 13:01

ציטוט:

נכתב במקור על ידי eLad
i'm not familiar with PHP, but your SELECT syntax is incorrect.

when you wanna use SELECT statement with WHERE caluse, you need to pay attention to the apostrophe.

if you wanna select from a filed that have been defined as an integer, you DO NOT use apostrophe, differently from a field that defined as string where there you must use apostrophe.

IN HEBREW PLEASE :D

mlnn 07-08-06 15:06

כנראה שהבעיה ב config.php.

בכל מקרה, אם הבנתי נכון את elad תשנה את:
קוד:

id='$id'
ל:

קוד:

id=$id
אף על פי שבתאכלס זה לא אמור להיות כל כך קריטי.

Alon.R 07-08-06 16:31

אני מסכים עם תומר... logic serv כל התגובות שלך פה סתמיות.

והבעיה היא בפונקציה, לא בSQL syntex,
אתה צריך לשים "" לפרמטר.

eLad 07-08-06 16:36

ציטוט:

נכתב במקור על ידי Alon.R
אני מסכים עם תומר... logic serv כל התגובות שלך פה סתמיות.

והבעיה היא בפונקציה, לא בSQL syntex,
אתה צריך לשים "" לפרמטר.

אני מנסה להבין למה צריך לשים "" לפרמטר, אני אתן לך דוגמא קטנה ב JS (לא יודע, אולי ב PHP זה אחרת ומפה הטעות שלי) -

PHP קוד:

<script>
function 
fSome(nId) {
    
alert(typeof(nId));
}
</script>
<a href="#" onclick="fSome(2);">bah</a> 

תריץ את הקוד הזה אצלך, תראה מה הוא מחזיר לך ..

ובנוגע למשפטי SQL - כמו שכתבתי בהודעה באנגלית (למה אנגלית? כי לא בכל מחשב פה יש עברית ;P ), כששולפים (או מכניסים) מספר, לא משתמשים בגרש ..

Alon.R 07-08-06 16:39

אלעד אני יודע JS בסיסי ואני יודע בJS אתה לא חייבים להשתמש ב"" כאשר מדוברים במספרים.
מהניסיון שלי בPHP עם פונקציות (רק במערכות האחרונות שלי התחלתי להשתמש בפונקציות) אז אני יודע שלכל פרמטר (מלבד משתנים) אתה מכניס "".... יכול להיות שאני טועה.

אבל התקלה שהוא מוציא לפלט מדברת על הפונקציה ללא ספק וזה הדבר הכי הגיוני שעושה את התקלה.

ali_napso 07-08-06 16:41

אולי אם תכתוב את ה where באותיות גדולות יעזור?

psycho 07-08-06 17:02

אנשים אתם לא יודעים PHP
למה אתם מדברים?

מה הקשר של פרמטר מספרי ל "" ????!?!?!?!?!!?

פאק אני לא מבין למה אנשים שלא מבינים סתם מדברים!

חחחחחחח אחד שרושם PHP PROGAMMER בחתימה אמר לו:

$id = 1;
bringid($id);


כאילוו ידע בסיסי במשתנים אין לכם? ואתם טוענים שאתם מתכנתי PHP?
חלאס נו באמת

תעבדו קשה, תבינו באמת ולא תנסו קודים ואם פועל אז פועל
ואז תקראו לעצמכם מתכנתים
עשו לי טובה

אתם דיברתם כאלו שטויות בכל הנושא הזה

Eli-Hai 07-08-06 17:13

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

$row=mysql_fetch_array($select_by_id);
$row=$row["text"];
echo $row;

אתה יכול להגדיר את mysql_fetch_array() לערך אחר, או ההפך, את המשתנה השני שהגדרת למשהו אחר, קוד אחר לדוגמא -
קוד:

while( $result = mysql_fetch_array($select_by_id) ) {
        $id = $result["id"];
        $text = $result["text"];

        echo $id . ":&nbsp;" . $text . "<br />\n";
}


psycho 07-08-06 17:25

ציטוט:

נכתב במקור על ידי Eli-Hai
אני אחזור ואדגיש, הגדרת 2 משתנים בעלי אותו שם עם ערכים שונים, זה לא תקין.
קוד:

$row=mysql_fetch_array($select_by_id);
$row=$row["text"];
echo $row;

אתה יכול להגדיר את mysql_fetch_array() לערך אחר, או ההפך, את המשתנה השני שהגדרת למשהו אחר, קוד אחר לדוגמא -
קוד:

while( $result = mysql_fetch_array($select_by_id) ) {
        $id = $result["id"];
        $text = $result["text"];

        echo $id . ":&nbsp;" . $text . "<br />\n";
}


לא תקין? התכוונת לא פועל? דווקא זה פועל
זה פשוט יאפס את המערך..

לדוגמא
PHP קוד:

<?php
$test 
= array();
$test[0]="guy";
$test=$test[0];
print 
$test;
?>

פועל, ידפיס guy

HighA 07-08-06 19:06

נראה לי שהוא דיבר על מקרה כזה
PHP קוד:

$id="1";
$id="id"

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

Ori The Man 07-08-06 19:16

גיא התותוח סידר לי!!! (psycho)
משום מה אי אפשר לעשות אינקלוד וצריך להשים את כל הקוד להתחברות לבסיס נתונים

WebProject 07-08-06 19:33

ציטוט:

נכתב במקור על ידי Ori The Man
גיא התותוח סידר לי!!! (psycho)
משום מה אי אפשר לעשות אינקלוד וצריך להשים את כל הקוד להתחברות לבסיס נתונים

תגיד אורי, אתה בכלל מקשיב לי? אני הדגשתי לך שהבעיה באינקלוד!

RS324 07-08-06 21:49

כמה שטויות אפשר שיהיה בטרייד אחד ???

אל תדברו סתם אם אתם לא יודעים על מה אתם מדברים


בכל מקרה למי שפתח את הטרייד.
תעשה כזה דבר
PHP קוד:

mysql_query("SELECT * FROM mytable WHERE id='$id'",$con

ואחרי הפתיחה של הפונקציה תעשה
global $con;

$CON - זה בעצם החיבור שעשית לשרת של ה MYSQL אולי אצלך הוא בשם אחר
בכל מקרה, המילה GLOBAL לוקחת ערכים שהם מחוץ לפונקציה ועושה אותם זמינים לפונקציה.

תנסה ותראה.

WebProject 07-08-06 22:47

אני לא יודע על מה אני מדבר? :]

תאמין לי שאני יודע, הבעיה שלו כבר נפתרה, והוא ציין זאת, למה לסבך את העניין עוד ועוד?

Ori The Man 08-08-06 00:05

ציטוט:

נכתב במקור על ידי WebProject
תגיד אורי, אתה בכלל מקשיב לי? אני הדגשתי לך שהבעיה באינקלוד!

צדקתה יא תותח קטן :-D

RS324 08-08-06 19:37

ציטוט:

נכתב במקור על ידי WebProject
אני לא יודע על מה אני מדבר? :]

תאמין לי שאני יודע, הבעיה שלו כבר נפתרה, והוא ציין זאת, למה לסבך את העניין עוד ועוד?


1. לא התכוונתי אלייך, אבל אתה בטח מכיר את המשפט : על הגנב בוער הכובע ? אותו עיקרון.

2. זה לא לסבך זה לפשט, נראה לך באמת הגיוני שבכל פונקציה נעשה התחברות מחדש למסד ?

אם ככה אתה מתכנת אז תסלח לי אבל יש לך עוד הרבה מה ללמוד..

A1ex 09-08-06 07:13

ציטוט:

נכתב במקור על ידי RS324
1. לא התכוונתי אלייך, אבל אתה בטח מכיר את המשפט : על ראש הגנב בוער הכובע ? אותו עיקרון.

2. זה לא לסבך זה לפשט, נראה לך באמת הגיוני שבכל פונקציה נעשה התחברות מחדש למסד ?

אם ככה אתה מתכנת אז תסלח לי אבל יש לך עוד הרבה מה ללמוד..

עכשיו יותר טוב :)

WebProject 09-08-06 07:45

ציטוט:

נכתב במקור על ידי RS324
1. לא התכוונתי אלייך, אבל אתה בטח מכיר את המשפט : על הגנב בוער הכובע ? אותו עיקרון.

2. זה לא לסבך זה לפשט, נראה לך באמת הגיוני שבכל פונקציה נעשה התחברות מחדש למסד ?

אם ככה אתה מתכנת אז תסלח לי אבל יש לך עוד הרבה מה ללמוד..

אם אתה אומר לי שיש לי עוד הרבה ללמוד, אז אתה לא יודע על מה אתה מדבר =]


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

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