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

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

dor77 05-11-08 15:08

[עזרה] מספר הכתבה בכותרת.
 
שלום.
פה בפורום, לכל אשכול יש מספר, כתוב t=2342 או כל מספר אחר.
אני בניתי דבר פשוט, דף ששואב מידע מהמסד, זה הקוד:

PHP קוד:


<?php 


mysql_connect
("0000""0000""0000"); 
mysql_select_db("0000"); 

$query mysql_query("SELECT * FROM test"); 

while(
$row=mysql_fetch_array($query))
{
 
echo 
"<div style='width:400px; height:100px;  border-width: 2px; border-style: solid; border-color: #dcdcdc; background-color:#f5f5f5; font-family:Arial; color:#000100; padding-right: 8px; padding-top: 2px; font-size: 14px; font-weight: bold; text-align:right;'>".$row['username']."</div><br>";

}  

?>

הנה, זה עובד:

http://fixst123.awardspace.com/show1.php

כעת אני רוצה שכל מה שאני יוסיף, יופיע בקוביה הקטנה הזו כ"תקציר" כלומר רק התתחלה, כמו פה בפורום, ושבתוך הקוביה הזו יהיה לינק "לטקסט המלא" ואז הטקסט יפתח בדף אבל עם מספר משלו..
כלומר שכל דבר שנכנס למסד יקבל מספר אוטומטי, כמו שיש בכל אתר תוכן, למשל בנענע, זה כתבה מהיום:
http://news.nana10.co.il/Article/?Ar...592399&sid=126

אתם רואים? פה יש 2 שמות, ArticleID ו sid.

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

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

תודה לכם.

vadimg88 05-11-08 17:44

אם יש לך במסד כבר את ה ID פשוט תצור עוד עמוד שהכניסה אליו תיהיה index.php?id=1 ואז תבצע שאילתה שתשלוף את הרשומה הזאת של אותו ID שהועבר בקישור. אם הבנתי אותך נכון זה מה שאתה רוצה לעשות.

dor77 05-11-08 17:55

אממ לא הבנתי אותך כל כך..בעצם בכלל לא :/
סורי..
תודה על הניסיון בכל אופן [=

GalN 05-11-08 20:48

כדי לעשות "תקציר" תשתמש בפונקציה wordwrap
ואח"כ תעשה לינק ל"דף המלא" שבעצם דרך הGET הוא יקבל את הID של מה שאתה רוצה..
index.php?id=x
x מייצג את מספר ID במסד..


בהצלחה, מקווה שהבנת :)

dor77 05-11-08 21:18

רגע, אבל איך הוא יקח את ה id של אותה הכתבה?
אולי לכם הקוד בנוי בראש, לי זה די חושך, אני ממש מתחיל..
למדתי יותר SQL מאשר PHP, לכן זה כל כך קשה לי.
עריכה: אני מעריך את העזרה שלכם מאוד, אני יודע שקשה להסביר לי אבל מה לעשות? כזה אני =]

-n.h- 06-11-08 22:28

טוב תראה, זה מאוד פשוט. פשוט צריך קצת היגיון. הרי בPHP קיימת מתודת GET שמקבלת נתונים מהכתובת, נכון? אז משתמשים בזה. בקופסא אתה מגדיר בקישור לדף שאתה רוצה שיהיה את הכתבה המלאה משתנה בשם id, ובדף של הכתבה אתה מקבל דרך GET את הID דרך שורת הכתובת. הנה דוגמא:

הדף הראשי:
PHP קוד:

    echo "<a href=article.php?id={$row['id']}>המשך מאמר</a>"

דף הכתבה(הקרוי בשם article.php):

PHP קוד:

<?php

$id 
$_GET['id'];

?>

מכאן כמובן אתה ממשיך לתכנת את דף הarticle ושם אתה מציג את הנתונים מהמסד כמו כותרת הכתבה וכו'.

בהצלחה :)

dor77 07-11-08 16:48

אממ..
אני לא מקבל את הדף, הוא אכן נותן לכל אחד לינק בשם id=1, id=2 וכך הלאה אבל כאילו הדף לא נמצא.

http://fixst.awardspace.co.uk/show1.php

תודה.

vadimg88 07-11-08 18:11

מה הקוד של העמוד show.php ? והאם הוא אכן נמצא בתיקיה הנכונה?

dor77 07-11-08 19:17

זה הקוד:

PHP קוד:

<?php  
  
mysql_connect
("000""000""000"); 
mysql_select_db("000"); 


$query mysql_query("SELECT * FROM test");  
while(
$row=mysql_fetch_array($query)) 

  
echo 
"<div style='width:400px; height:100px;  border-width: 2px; border-style: solid; border-color: #dcdcdc; background-color:#f5f5f5; font-family:Arial; color:#000100; padding-right: 8px; padding-top: 2px; font-size: 14px; font-weight: bold; text-align:right;'>".$row['username']."</div><br>"
echo 
"<a href=show.php?id={$row['id']}>כנס למאמר</a>";  
}   
?>

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

תודה :)

vadimg88 07-11-08 19:35

זה הקובץ שמציג את כל המאמרים. מה עם הקובץ שמציג מאמר אחד?

dor77 07-11-08 20:17

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

תודה =]

-n.h- 07-11-08 20:49

שוב, דור, אתה מסתבך. הסברתי לך כבר מקודם. הקוד עצמו בסדר גמור, אתה צריך ליצור עמוד בשם show(כי הרי אתה מפנה את הכתבה ל show.php?id=x). אחרי שאתה יוצר, אתה צריך שהוא ידע איזה מאמר להציג, אז אתה רושם את מתודת הGET כך:

PHP קוד:

$id $_GET['id']; 

שבת שלום :)

dor77 07-11-08 23:12

תודה רבה, הצלחתי.
תודה לבן סהר ולכולם פה, כולם עזרו לי, המון תודה.
באמת שזה די פשוט אבל מה לעשות, הסתבכתי קצת :)
סוף סוף.

dor77 08-11-08 00:34

אי אפשר לערוך..
זה עובד אבל יש בעיה.
לאחר שהוספתי למשל 15 "מאמרים" אז כולם מציגים לי את התוכן של 1.
http://fixst.awardspace.co.uk/show1.php
אם לחצתם על הקישור של מאמר מספר 12 למשל, אתם תקבלו את התוכן של 1, כי כנראה הוא בודק את המספר הראשון וזה 1 אז הוא ישר נותן את התוכן שבו id=1 ולא id=12 או כל מספר בטווח המספרים 10-19.
יש פיתרון?

זה הקוד של הדף הראשי show1:

PHP קוד:

<?php 


mysql_connect
("000""000""000"); 
mysql_select_db("000"); 

$query mysql_query("SELECT * FROM test"); 

while(
$row=mysql_fetch_array($query))
{
 
echo 
"<div style='width:400px; height:100px;  border-width: 2px; border-style: solid; border-color: #dcdcdc; background-color:#f5f5f5; font-family:Arial; color:#000100; padding-right: 8px; padding-top: 2px; font-size: 14px; font-weight: bold; text-align:right;'>".$row['username']."</div><br>";
echo 
"<a href=show.php?id={$row['id']}>כנס למאמר</a>"
}  

?>

וזה של הדף של כל אחד, show:

PHP קוד:

<?php   
   
mysql_connect
("000""000""000"); 
mysql_select_db("000"); 

$result mysql_query("SELECT username FROM test WHERE id={$id['id']}");  
while(
$row=mysql_fetch_array($result))  
{  
   
echo 
"<div style='width:400px; height:100px;  border-width: 2px; border-style: solid; border-color: #dcdcdc; background-color:#f5f5f5; font-family:Arial; color:#000100; padding-right: 8px; padding-top: 2px; font-size: 14px; font-weight: bold; text-align:right;'>".$row['username']."</div><br>";  
}    
?>

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

תודה.

yard2010 08-11-08 12:34

PHP קוד:

$result mysql_query("SELECT username FROM test WHERE id={$id['id']}"); 

מזתומרת
PHP קוד:

$id['id'

?

זה כאילו יש לך מערך שנקרא ID ואתה פונה לערך במקום ה-ID...
אולי התכוונת
PHP קוד:

$_GET['id'

?

vadimg88 08-11-08 13:46

כן, כמו שירדן אמר לא הגדרת את הערך שאתה שולף בכלל אז זה שולף את הראשון כנראה. ולא צריך לבצע לולאת WHILE מאחר ואתה מוציא רשומה אחת בלבד.

dor77 08-11-08 14:37

שיניתי את זה אבל יש בעיה.

PHP קוד:

<?php    
    
mysql_connect
("000""000""000");  
mysql_select_db("000");  

$result mysql_query("SELECT username FROM test WHERE id={$_GET['id']}");   
while(
$row=mysql_fetch_array($result))   
{   
    
echo 
"<div style='width:400px; height:100px;  border-width: 2px; border-style: solid; border-color: #dcdcdc; background-color:#f5f5f5; font-family:Arial; color:#000100; padding-right: 8px; padding-top: 2px; font-size: 14px; font-weight: bold; text-align:right;'>".$row['username']."</div><br>";   
}     
?>

הוא נותן לי שגיאה עם result.
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/www/fixst.awardspace.co.uk/show.php on line 7

אתמול אכן הייתה בעיה, המשתנה למעלה לא היה מתאים ל result אבל עכשיו אני משתגע.
מה גם, אני מנסה לשים את הקוד שנתתי לכם אתמול, עם הבעיה של id, זה גם לא פועל.
בקיצור משהו פה דפוק חחח אולי אני ? :-D

dor77 08-11-08 15:55

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

תודה.


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

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