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

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

CodeX 22-10-08 14:40

[שאלה] ספירת תווים, ובתו מסוים..
 
שמעו רגע, המערכת שלי כוללת תגובות,
עכשיו לפעמים יש מצבים שהתגובות יוצאות מגבולות העמוד.
(אני לא רוצה לעבוד עם BR שמחליף את הN\ בTEXTAREA)

נגיד וזה הקוד שלי:
PHP קוד:

$query4 mysql_query("SELECT * FROM response WHERE mid=$page AND type='Cov' ORDER BY id DESC") or exit(mysql_error());
while(
$row5 mysql_fetch_array($query4)) 
// 15

$msg $row5['msg'];

echo<<<END
$msg
END;



עכשיו ניסיתי לעשות את זה:
PHP קוד:

$query4 mysql_query("SELECT * FROM response WHERE mid=$page AND type='Cov' ORDER BY id DESC") or exit(mysql_error());
while(
$row5 mysql_fetch_array($query4)) 
// 15
$msg $row5['msg'];

$msg1 strlen($msg);
while (
0>$msg1)
{
$msg substr($msg,0,170);
$msg "<br>$msg";
}



לא ממש הלך לי.. =\
בקיצור רציתי שכל 170 תווים, הוא יעשה <br> אוטומטית..

מישהו יודע?
תודה רבה.

Adir 22-10-08 14:46

ציטוט:

נכתב במקור על ידי NitaY (פרסם 675665)
שמעו רגע, המערכת שלי כוללת תגובות,
עכשיו לפעמים יש מצבים שהתגובות יוצאות מגבולות העמוד.
(אני לא רוצה לעבוד עם BR שמחליף את הN\ בTEXTAREA)

נגיד וזה הקוד שלי:
PHP קוד:

$query4 mysql_query("SELECT * FROM response WHERE mid=$page AND type='Cov' ORDER BY id DESC") or exit(mysql_error());
while(
$row5 mysql_fetch_array($query4)) 
// 15

$msg $row5['msg'];

echo<<<END
$msg
END;



עכשיו ניסיתי לעשות את זה:
PHP קוד:

$query4 mysql_query("SELECT * FROM response WHERE mid=$page AND type='Cov' ORDER BY id DESC") or exit(mysql_error());
while(
$row5 mysql_fetch_array($query4)) 
// 15
$msg $row5['msg'];

$msg1 strlen($msg);
while (
0>$msg1)
{
$msg substr($msg,0,170);
$msg "<br>$msg";
}



לא ממש הלך לי.. =\
בקיצור רציתי שכל 170 תווים, הוא יעשה <br> אוטומטית..

מישהו יודע?
תודה רבה.

אני לא טוב בPHP אז אני אגיד לך איך אתה יכול לעשות את זה בעברית...
תעשה לולאה כמו שעשית מ1 עד האורך של הmsg, תיצור משתנה שיכיל את מס' התו הנוכחי ואז כל פעם שהלולאה מסתיימת הוא גדל ב1.
בתוך הלולאה תבדוק(if) אם המשתנה הזה שווה ל170, אם כן תוסיף br ותאפס את המשתנה שוב ל0, אם לא אז הלולאה תמשיך.

מקווה שעזרתי :)

O-B 22-10-08 14:47

PHP קוד:

$query4 mysql_query("SELECT * FROM response WHERE mid=$page AND type='Cov' ORDER BY id DESC") or exit(mysql_error());
while(
$row5 mysql_fetch_array($query4)) 
// 15
$msg $row5['msg'];

$msg1 strlen($msg);
$msg '';
for (
$i $i $msg1 $i $i 170) {
{
$msg .= substr($msg,$i,170);
$msg .= "<br />";
}


משהו כזה אולי?

CodeX 22-10-08 14:54

לא הבנתי למה הגדרת את
PHP קוד:

$msg ''

למה בגללו זה לא מציג, ואם אני מוריד אותו זה כן,

אך בכל זאת זה עדיין ממשיך בבעיה =\

Adir 22-10-08 14:58

אפשר לעשות משהו הרבה יותר פשוט, לבדוק אם הmsg גדול מ170 אז להוסיף לו br, אם הוא גדול מ340 אז להוסיף לו עוד br וכו'...

CodeX 22-10-08 15:06

ציטוט:

נכתב במקור על ידי Adir|HomeServ.co.il (פרסם 675674)
אפשר לעשות משהו הרבה יותר פשוט, לבדוק אם הmsg גדול מ170 אז להוסיף לו br, אם הוא גדול מ340 אז להוסיף לו עוד br וכו'...

ואם זה 1000 תווים?
בגלל זה עדיף בלולאה,
אבל הבעיה שלי שצריך לעצור אותו בתו מסוים, לשים לו <BR>, ולהמשיך אותו בתו הזה..

O-B 22-10-08 15:34

אם שמת לב בתוך הלולאה התשמשתי ב .= שזה בעצם מוסיף לסוף של הערך ולא מחליף אותו..
ובגלל שכבר השתמשת במשתנה $msg צריך לאפס אותו כדי להתחיל להוסיף לו את הטקסט שכולל <br />
PHP קוד:

$query4 mysql_query("SELECT * FROM response WHERE mid=$page AND type='Cov' ORDER BY id DESC") or exit(mysql_error());
while(
$row5 mysql_fetch_array($query4)) 
// 15
$msg $row5['msg'];

$msg1 strlen($msg);
$msg2 '';
for (
$i $i $msg1 $i $i 170) {
{
$msg2 .= substr($msg,$i,170);
$msg2 .= "<br />";
}

echo 
$msg2;


תיקנתי.. נסה את זה..

CodeX 22-10-08 15:54

תודה רבה אחי. עובד.


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

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