• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ایجاد تگ a با php و قرار دادن متغیر درونش
#1
سلام

یه تابع دارم و میخوام یک تگ <a> ایجاد کنم که داخل لینکش از پارامترهای تابع به عنوان متغیر استفاده کنم. چطوری میشه اینکارو انجام داد؟
البته یه چیزایی نوشتم که انگار از اساس مشکل داره:
Big Grin
کد پی‌اچ‌پی:
<?php
    
function isOnline($dangDriver){
        echo 
'<a href="http://localhost/lfs-status/index.php?racer='+$dangDriver+'">';
        echo 
'<img src="assets/img/dangDriver" alt="dangDriver" />';
        echo 
'</a>';
    }
?>
  پاسخ
تشکر شده توسط :
#2
تو php از + برای اتصال رشته ها یا به اصطلاح concatination استفاده نمی کنیم. به جاش از نقطه استفاده کن Big Grin
W H A T E V E R   Sleepy 
  پاسخ
تشکر شده توسط : boBak cyletech
#3
چسبوندن رشته در php با . هستش نه +
اگه کفشت پاتو می زد و از ترس قضاوت مردم پابرهنه نشدی و درد رو به پات تحمیل کردی دیگه در مورد آزادی شعار نده !
آلبر کامو
  پاسخ
تشکر شده توسط : boBak
#4
میگن فلفل نبین چه ریزه... دقیقا همینجا صدق میکنه Big Grin

ممنون دوستان
  پاسخ
تشکر شده توسط :
#5
بهتره اینطوری بنویسی،
کد پی‌اچ‌پی:
function isOnline($dangDriver)
{
    echo 
'<a href="http://localhost/lfs-status/index.php?racer='.$dangDriver.'">',PHP_EOL,'<img src="assets/img/dangDriver" alt="dangDriver" />',PHP_EOL,'</a>';

شما اومدی چند تا اکو دادی به هر دلیل ولی کار درستی نیست و همینطور واسه نمایش بهتر برچسب ها در سورس صفحه اگه نخوای فشرده کنی، برچسب هارو زیر هم مینویسن که PHP_EOL یک کانستنت هست که در سورس باعث بوجود اومدن یک break میشه.
غایب
  پاسخ
تشکر شده توسط : masoudmanson boBak
#6
بخشید شاید بیجا باشه ولی بهتره مقادیر رو توی توابع echo نکنیم به جاش از return استفاده کنیم :
کد پی‌اچ‌پی:
function isOnline($dangDriver)
{
    return 
'<a href="http://localhost/lfs-status/index.php?racer='.$dangDriver.'">',PHP_EOL,'<img src="assets/img/dangDriver" alt="dangDriver" />',PHP_EOL,'</a>';

  پاسخ
تشکر شده توسط : oia voltan boBak
#7
نقل قول: بخشید شاید بیجا باشه ولی بهتره مقادیر رو توی توابع echo نکنیم به جاش از return استفاده کنیم :
البته این مورد دوستان به شک نیافتن هم اضافه میکنم که بسته به نیازمون میتونیم return یا echo کنیم. تفاوتشون در اینه که رو درون آرایه ای بریزی و بدیش به یک تابع خارجی. اگر مقدار رو echo کنیم واژه Array چاپ میشه و اگر return کنیم میتونیم مقدار برگشت داده شده رو روش کار کنیم و مجدد دستکاری کرده یا به تابع دیگری بفرستیم. برای مثال:

کد پی‌اچ‌پی:
function whatIsYourName($name)
{
    if(!
is_string($name)) return FALSE;
    else return 
TRUE;
}

if(
whatIsYourName('alireza')) echo 'alireza name shomast va string hast';
else 
'vorodi az noe string nist'
غایب
  پاسخ
تشکر شده توسط : boBak
#8
یا حداقل نام تابع رو طوری تغییر بدیم که نشون بده توش عمل print/echo انجام می شه.
  پاسخ
تشکر شده توسط : boBak
#9
(۱۳۹۱ مرداد ۰۲, ۰۵:۰۸ ب.ظ)cyletech نوشته: بهتره اینطوری بنویسی،
کد پی‌اچ‌پی:
function isOnline($dangDriver)
{
    echo 
'<a href="http://localhost/lfs-status/index.php?racer='.$dangDriver.'">',PHP_EOL,'<img src="assets/img/dangDriver" alt="dangDriver" />',PHP_EOL,'</a>';

شما اومدی چند تا اکو دادی به هر دلیل ولی کار درستی نیست و همینطور واسه نمایش بهتر برچسب ها در سورس صفحه اگه نخوای فشرده کنی، برچسب هارو زیر هم مینویسن که PHP_EOL یک کانستنت هست که در سورس باعث بوجود اومدن یک break میشه.

گذاشتن چند تا اکو چرا درست نیست؟ از eol هم استفاده کردم که فقط یه خورده سورس رو مرتب کرد.
میشه یه خورده بیشتر در مورد تفاوت این دوتا توضیح بدین؟ ممنون
  پاسخ
تشکر شده توسط :
#10
نقل قول:گذاشتن چند تا اکو چرا درست نیست؟
چیزی به اسم فرآیند هست که سعی میکنیم با حفظ استاندارد و درست نویسی تعدادش را کم کنیم. وقتی شما از سه تا اکو استفاده میکنی سه تا فرآیند صورت میگیره تا به خواسته ات برسی. در حالی که با ترکیب هر سه، یک فرآیند صورت میگیره. اگر بنچمارک گرفته بشه قطعا یک فرآیند زمان کمتری میبره.

نقل قول:میشه یه خورده بیشتر در مورد تفاوت این دوتا توضیح بدین؟ ممنون
من جای نقطه از کاما در اکو استفاده کردم که سرعت بیشتری داره چون رشته ها به هم وصل نمیشه فقط سر جای خودش اکو میشه.
دیگه چی باید بگم؟
غایب
  پاسخ
تشکر شده توسط : boBak


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان