تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] ماهي دالة الوصول الى كل قيمة على حدة من بين مجموعة قيم مفصولة عن ابعضها بفاصلة ؟
#1
السلام عليكم ورحمة الله وبركاته
 
المشكلة التي اواجهها تتلخص بالتالي:
عندي قاعدة بيانات files فيها حقل نصي وهو خاص بأسماء الملفات المرفوعة حيث يتم تخزين مجموعة اسماء الملفات التي رفعت في الجلسة الواحدة يتم تخزينها في (خانة واحدة) تفصل بين كل اسم والاخر فاصلة يعني file1.jpg, file2.pdf, file3.png وهكذا  نفس الطريقة في كل صف في الجدول كما في الصورة المرفقة


 
وعندي الكود التالي 

 
PHP كود :
$q="select count(*) \"total\" from files";
    
$ros=mysqli_query($link,$q);
    
$row=(mysqli_fetch_array($ros));

    while(
$row=mysqli_fetch_array($ros))
    {
        echo 
'<tr>';
        echo 
"<td align=center><a title='Click here to download in file.'  
        href='download.php?id=
{$row['profile_image']}'>{$row['profile_image']} </a>";       
        
echo '</tr>';
       } 


عند رفع ملف واحد وتطبيق الدالة السابقة فإنه الكود سيقوم بعمل ارتباط تشعبي على كل خانة في الجدول لربط اسم الملف مع الملف المخزن على الجهاز والكود يعمل تمام مع الملف الواحد لكن عندما يكون هنالك اكثر من اسم ملف في نفس الخانة وهو ماتوضحه الصورة المرفقة فإن الكود يعمل ارتباط تشعبي للخانة كلها وليس لكل اسم على حدة .. اريد عند تطبيق الكود السابق ان يربط كل اسم داخل الخانة برابط تشعبي مفصول عن الاسم الذي يليه


الملفات المرفقة صورة/صور
   
الرد
تم الشكر بواسطة:
#2
استخدم الأمر explode
الرد
تم الشكر بواسطة:
#3
[b]rnmr [/b]  معلش اخي الكريم ممكن توضح ماتفضلت به على الكود لاني لازلت مبتدئ في عام الـ php
الرد
تم الشكر بواسطة:
#4
جرب هذا

كود :
//$q = "select count(*) \"total\" from files";
$q = "select * from files";
$ros = mysqli_query($link, $q);
//$row = (mysqli_fetch_array($ros));

while ($row = mysqli_fetch_array($ros)) {
    echo '<tr>';

    echo "<td align=center>";  
        $profiles = explode(',', $row['profile_image']);
        foreach ($profiles as $prof) {
            echo "<a title='Click here to download in file.'"
            . "href='download.php?id=" . trim($prof) . "'"
            . ">" . trim($prof) . "</a>" . ' | ';
        }
    echo '</td>';
    
    echo '</tr>';
}
الرد
تم الشكر بواسطة:
#5
ماشاء الله عليك أخي الكريم rnmr الكود يعمل بنجاح تام .. كنت اتمنى لو تشرح الكود لكي تعم الفائدة فنحن المبتدئين يصعب علينا فهم ماتفضلت به
الرد
تم الشكر بواسطة: rnmr
#6
تم تقسيم النص باستخدام الأمر explode بدلالة الفاصلة(,) وأصبح الناتج على شكل مصفوفة في المتغير profiles$
تم المرور على المصفوفة profiles$ باستخدام الأمر foreach وقراءة كل عنصر منها ووضعه في المتغير prof$
تم عمل echo للرابط a مع قيمة المتغير prof$
الرد
تم الشكر بواسطة:
#7
شكراً لك استاذنا rnmr الآن اصبح الكود واضح .. تحية لك
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تم الحل - كيفية تمرير نتائج استعلام الى دالة جافاسكربت sandanet 0 29 12-10-18, 11:10 PM
آخر رد: sandanet

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم