الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

عرض الصور من قاعدة البيانات

بدأه hassan777 في 12 نوفمبر 2011 · 30 رد · 7,414 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

الرجاء من الاخوان المساعدة في معرفة كود الاستعلام عن بيانات موظفين من قاعدة بيانات mysql مع صورة الموظف بلغة ال php وطباعتها في جدول

مع اهمية الامر واستعجاله

وشاكرين لكم

#2

يمكنك ان ترفع رابط الصورة الى قاعدة البيانات

اثناء عملية ادراج موظف جديد اي في عملية الـ Insert

اولا ً يتم تنفيذ امر رفع الصورة الى مجلد معين ثم تأخذ رابط هذه الصورة وتدرجة الى حقل الموظف

ثم في الاستعلام تقوم بجلب بيانات الموظف من ضمنها حقل الصورة وتضعه على تاق img

مثال

$query = mysql_query("SELECT image_url FROM table_name WHERE employee_id = id");
$row = mysql_fetch_array($query);
$image_url = $row['image_url'];

echo "<img src='$image_url' />";

ان شاء الله يكون المثال واضح

M.B.O

Mohamed Bin Othman

إبن المكلا

يابني البشر ماذا فعلتم بالبشر !!

إسـألـنـي

#3

الفكره مفهومه اخوي B.M.O ويعطيك الف عافيه وانا راح اجربها وإن شاء الله الامور تمشي

#4

جربتها بس المشكله يعطيني الصوره برموز

#5

سويت هذا الكود يطلعلي الصوره في جدول بس المشكله يطلعلي صوره وحده بس من الصور الموجوده في قاعدة البيانات

<?php

$errmsg = "";
if (! @mysql_connect("localhost","root","ha1003")) {
        $errmsg = "Cannot connect to database";
        }
@mysql_select_db("dblid");





$gotten = @mysql_query("select * from upload ");
if ($row = @mysql_fetch_array($gotten)) {
        $title = htmlspecialchars($row[type]);
        $bytes = $row[content];
} else {


        $instr = fopen("$bytes","r");
        $bytes = fread($instr,filesize("$row[content]"));
}



if ($_REQUEST[content] == 1) {
     header("Content-type: content/jpeg");
        print $bytes;
        exit ();
        }



?>

<html><head>

<table border='1' id='table1' width=75>
<tr>
<td>
<center><img src=?content=1 width=60>
</td>

</tr>
</table>

</body>
</html>
#6

صديقي العزيز بصراحة مش فاهم ولا اي حاجة من الكود الي انت كاتبه الكود الي انت كاتبه انا مش شايف ليه اي علاقة بطلبك ,

كل الفكرة زي اخونا الغالي M.B.O ما قالك زي ما بتدخل بيانات العضو في قاعدة البيانات يعني مثلا بتدخل الاسم و كلمة مرور هتدخل رابط للصورة ,,

انا نفذتها في برنامج لي كان عبارة عن العضو لما بيرفع صورة في كود بيجيب الرابط بتاعها و يعمله encrypt عشان الاسامي متتشابهش و يحط الرابط الجديد في قاعدة البيانات ,

و بيتعملها retrieve عادي جدا زيها زي الاسم ثواني اعدلك الكود بتاعك ولو عاوز الجزء بتاع ال upload قولي اضيفهولك في الكود عشان الاعضاء ترفع الصور مثلا .

تم تعديل هذه المشاركة بواسطة HUSSEin-AHMeD في 13 نوفمبر 2011 في 15:42

@My Twitter

[spacing]

EGYPT

[/spacing]

#7

لما تحب تجيب كل البيانات من قاعدة البيانات لازم يكون فيها while عشان يقدر يلف علي كل السجلات الي في الحقل الواحد يجيبهم وادح ورا التاني عن طريق mysql_fetch_assoc

<?php



$errmsg = "";
if (! @mysql_connect("localhost","root","ha1003")) {
$errmsg = "Cannot connect to database";
}
@mysql_select_db("dblid");



?>
<table>
    <tr>
        <td>
            username 
        </td>
        <td>
            picture 
        </td>
    </tr>

<?
$gotten = @mysql_query("select * from upload ");
while ($query = mysql_fetch_assoc($gotten)){
    //علي اعتبار ان قاعدة البيانات حقل الصور اسمه picture
    // و كمان حقل اسم العضو انا فرضته username
    $userpictuer = $query['picture'];
    $username    = $query['username'];

    echo "<tr>
    <td>
    $username
    </td>
    <td>
    $userpictuer
    </td>
    </tr>";

}
?>

</table>

جرب الكود ده عدل فيه بس اسماء الحقول .

تم تعديل هذه المشاركة بواسطة HUSSEin-AHMeD في 13 نوفمبر 2011 في 15:42

@My Twitter

[spacing]

EGYPT

[/spacing]

#8

بص ده الكود بتاع رفع الصور الي انا استخدمته

الكود ده في البروفايل بتاع العضو

<?
                $filemaxS  = 100000000;
                echo"
                <form action='include/changepicture.php?userid=$userid' method='post' enctype='multipart/form-data'>
                <table width=100%'>
                <tr>
                <td>Max size to upload = $filemaxS kb</td><td></td>
                </tr>
                <tr>
                <td>Filetypes you can uploade .jpg .gif .png</td>
                <tr>
                <td><input type='file' name='file' /></td>
                </tr>
                <tr>
                <tr>
                <td colspan='2'><br /></td>
                </tr>
                <td class='head' colspan='2' align='center'><input type='submit' name='do' value='Change picture' /></td>
                </tr>
                </table>
                </form>";
                ?>

و ده عبارة عن فورم رفع صور بيحول لصفحة اسمها changepicture.php الي هي دي

<?
session_start();
include "session.php";
include "config.php";

    $userid  = intval(($_GET['userid']));
    $filename  = $_FILES['file']['name'];
    //هنا انا عملت انكربت لاسم الصورة الي اترفعت عشان الاسماء متتشابهش
    $nameenc   = base64_encode($filename);
    $filesize  = $_FILES['file']['size']; 
    $filepath  = $_FILES['file']['tmp_name']; 
    $filetypes = array('image/jpeg','image/gif','image/png');
    $filetype  = $_FILES['file']['type'];
    $folder    = "usersimg/";
    $file      = "$url_site/articles/include/usersimg/".$nameenc;





    if(isset($_POST['do']) and $_POST['do'] == 'Change picture')
        {
        if (empty($filename))
        {
            echo "<div class='no'>Choose File Please</div>";
        }
        elseif($filesize > $filemaxS)
        {
            echo "<div class='no'>File Larger than [$filemaxS]</div>";
        }
        elseif(!in_array($filetype,$filetypes))
        {
            echo "<div class='no'>Wrong File Type</div>";
        }
        else
        {
            $move = move_uploaded_file($filepath,$folder.$nameenc);

            if($move)
            {
                $changepicture = mysql_query("UPDATE users SET picture='$file' WHERE id='$userid' ");
                if($changepicture)
                {
                    echo "<meta http-equiv='Refresh' content='0; url=../userprofile.php?userid=$userid' />";
                }
            }

        }
    }

?>

بالتوفيق ان شاء الله

تم تعديل هذه المشاركة بواسطة HUSSEin-AHMeD في 13 نوفمبر 2011 في 15:47

@My Twitter

[spacing]

EGYPT

[/spacing]

#9

مشكورين ويعطيكم الف عافيه وسامحونا اذا تعبناكم

#10

اخي hussein الصوره تطلع رموز غير مفهومه

#11

انت بتدخل الصورة نفسها قاعدة البيانات عشان كدة طلعت رموز

دخل الرابط فقط زي مثلا :

 http://localhost/FOLDERNAME/images/image.png

و استرجعها زي ما هي من قاعدة البيانات

$select = mysql_query("SELECT * FROM tablename");

while($query=mysql_fetch_assoc($select))
{
// علي اعتبار ان حقل الصورة في قاعدة البيانات اسمه image
$image = $query['image'];
}

echo $image;

تم تعديل هذه المشاركة بواسطة HUSSEin-AHMeD في 14 نوفمبر 2011 في 14:50

@My Twitter

[spacing]

EGYPT

[/spacing]

#12

مشكور انا راح اجرب وعطيك خبر اذا الامور اوك واتمنى انها تضبط معاي

#13

اسف يا اخي اتلغبطت عشان كتبت هنا علي طول

عرض الصورة لازم يكون داخل حلقة while

$select = mysql_query("SELECT * FROM tablename");

while($query=mysql_fetch_assoc($select))
{
// علي اعتبار ان حقل الصورة في قاعدة البيانات اسمه image
$image = $query['image'];

echo $image;
}

جرب و بالتوفيق ان شاء الله .

تم تعديل هذه المشاركة بواسطة HUSSEin-AHMeD في 14 نوفمبر 2011 في 16:32

@My Twitter

[spacing]

EGYPT

[/spacing]

#14

ادري عذبتك معاي بس المشكله انه مو راضي يحفظ في قاعدة البيانات بطريقه اللي تقول عنها

$changepicture = mysql_query("UPDATE users SET picture='$file' WHERE id='$userid' ");

#15

وينكم يا جماعه :mellow:

#16

طيب اول حاجة هل قاعدة البيانات اسمها users زي دي ؟

و هل الحقل اسمه picture ؟

دي اول حاجة تاني حاجة

انت استخدمت نفس الكود الي بعتهولك بالظبط ؟ يعني هل انت بتعمل نظام رفع الصور الاعضاء ترفع صورها يعني !!

و هل انت عامل مجلد ( فولدر) عشان الصور تتحول عليه زي مانا كاتب في الكود ^_^ كل دي اسباب ممكن تخلي الكود ميشتغلش معاك ,

المهم بئي لو انت عامل نظام رفع ملفات للاعضاء تغير صورتها

ابعتلي قاعدة البيانات بس و بالليل ان شاء الله هشغلهالك بس لاني مش في البيت من امبارح و خطوبتي بعد بكرة ان شاء الله فمشغول شوية

@My Twitter

[spacing]

EGYPT

[/spacing]

#17

الف مبررررررروك إن شاء الله منك المال ومنها العيال

انا مغير اسم الجدول واسم الحقل في الكود وانا استعملت نفس المود اللي انت عطيتني اياه بظبط

وانا برسلك قاعدة البيانات مع اني ماودي اشغلك وانت واك خطوبه لو ما الموظوع ضروري ومطلوب مني من الشركه اللي انا فيها ومطلوب مني اسلمه اليومين الللي جايين

--

-- قاعدة البيانات: `dblid`
-- 

-- --------------------------------------------------------

-- 
-- بنية الجدول `cars`
-- 

CREATE TABLE `cars` (
  `IDno` int(10) NOT NULL,
  `CarName` varchar(100) collate utf8_bin NOT NULL,
  `CarNo` int(100) NOT NULL,
  `Model` int(4) NOT NULL,
  `MailaLg` int(200) NOT NULL,
  `TR` varchar(100) collate utf8_bin NOT NULL,
  `LM` date NOT NULL,
  `PHBC` varchar(1000) collate utf8_bin NOT NULL,
  `Notes` varchar(1000) collate utf8_bin NOT NULL,
  PRIMARY KEY  (`IDno`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

-- 
-- إرجاع أو إستيراد بيانات الجدول `cars`
-- 


-- --------------------------------------------------------

-- 
-- بنية الجدول `employee`
-- 

CREATE TABLE `employee` (
  `name` varchar(50) collate utf8_bin NOT NULL,
  `IDno` int(10) NOT NULL,
  `nanty` varchar(40) collate utf8_bin NOT NULL,
  `DBirth` date default NULL,
  `Add` varchar(200) collate utf8_bin NOT NULL,
  `mail` varchar(1000) collate utf8_bin default NULL,
  `mobNo1` int(14) NOT NULL,
  `mobNo2` int(14) default NULL,
  `Tel` int(14) NOT NULL,
  `POBOX` varchar(100) collate utf8_bin default NULL,
  `Empno` int(10) NOT NULL,
  `EDR` date default NULL,
  `DCW` date default NULL,
  `DP` date default NULL,
  `DPP` date default NULL,
  `DPER` date default NULL,
  `Section` varchar(200) collate utf8_bin NOT NULL,
  `GOSI` int(15) NOT NULL,
  `IAD` varchar(100) collate utf8_bin NOT NULL,
  `content` longblob NOT NULL,
  `exdpp` date default NULL,
  PRIMARY KEY  (`IDno`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

-- 
-- إرجاع أو إستيراد بيانات الجدول `employee`
-- 

INSERT INTO `employee` VALUES (0x41444e414e2020414244554c4a41574144, 1003654926, 0x5341554449, '0000-00-00', '', '', 0, 0, 0, '', 1, '0000-00-00', '0000-00-00', '0000-00-00', '0000-00-00', '0000-00-00', 0x4d414e41474552, 0, 0x4d414e41474552, '', '0000-00-00');
INSERT INTO `employee` VALUES (0x41484d4544204f4d41522046415248414e, 1081786137, 0x5341554449, '0000-00-00', '', '', 0, 0, 0, '', 2, '0000-00-00', '0000-00-00', '0000-00-00', '0000-00-00', '0000-00-00', 0x47524f, 0, 0x5055444c49432047524f204f464649434552, '', '0000-00-00');
INSERT INTO `employee` VALUES (0x52414d414e4a49542053494e474820434841444841, 2147483647, 0x494e4449414e, '0000-00-00', '', '', 0, 0, 0, '', 3, '0000-00-00', '0000-00-00', '0000-00-00', '0000-00-00', '0000-00-00', 0x432e4f2e4f, 0, 0x4d414e4147454d454e54, '', '0000-00-00');

-- --------------------------------------------------------

-- 
-- بنية الجدول `image`
-- 

CREATE TABLE `image` (
  `id` varchar(10) collate utf8_bin NOT NULL,
  `img` longblob NOT NULL,
  `type` varchar(100) collate utf8_bin NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

-- 
-- إرجاع أو إستيراد بيانات الجدول `image`
-- 


-- --------------------------------------------------------

-- 
-- بنية الجدول `trust`
-- 

CREATE TABLE `trust` (
  `IDno` int(10) NOT NULL,
  `NT` varchar(1000) collate utf8_bin NOT NULL,
  `DR` date NOT NULL,
  `SCD` varchar(50) collate utf8_bin NOT NULL,
  `TR` varchar(100) collate utf8_bin NOT NULL,
  `Notes` varchar(100) collate utf8_bin default NULL,
  PRIMARY KEY  (`IDno`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

-- 
-- إرجاع أو إستيراد بيانات الجدول `trust`
-- 


-- --------------------------------------------------------

-- 
-- بنية الجدول `usr`
-- 

CREATE TABLE `usr` (
  `pass` int(10) NOT NULL,
  `user` varchar(50) collate utf8_bin NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

-- 
-- إرجاع أو إستيراد بيانات الجدول `usr`
-- 

INSERT INTO `usr` VALUES (1234, 0x61626f2073716172);
INSERT INTO `usr` VALUES (1003, 0x68617373616e);
INSERT INTO `usr` VALUES (1234, 0x47524f);

-- --------------------------------------------------------

-- 
-- بنية الجدول `vacations`
-- 

CREATE TABLE `vacations` (
  `IDno` int(10) NOT NULL,
  `DAV` date default NULL,
  `of` date default NULL,
  `to` date default NULL,
  `DED` date default NULL,
  `DD` date default NULL,
  `BV` int(3) default NULL,
  PRIMARY KEY  (`IDno`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

-- 
--

صحيح نسيت اقولك

لا تنسى تعزمنا على الفرح :lol:

الفولدر اللي انا عامله حق الصور

http://localhost/DBL/img

تم تعديل هذه المشاركة بواسطة hassan777 في 15 نوفمبر 2011 في 14:36

#18

الله يبارك فيك عقبالك لو لسة ^_^

انت عامل جدول للصور و بتدخل الرابط في جدول الاعضاء بص

اعمل حقل جديد في نفس جدول الاعضاء اسمه image مثلا و حط و هيكون varchar (300) تمام و جرب مع الكود تاني و عدل اسم الجدول و اسم الحقل و عدل اسم الفولدر في الكود بتاع الرفع $folder و هكذا يعني

و ان شاء الله بالليل هكون موجود في البيت و مفيش تعب ولا حاجة ربنا يكرم ان شاء الله و نقدر نعمل حاجة كويسة .

@My Twitter

[spacing]

EGYPT

[/spacing]

#19

الله يسمع منك ونتزوج

اوك انا بسوي اللي قتلي عليه واعطيك خبر

#20

سويت اللي قتلي عليه بس ماضبط انت متى ماتكون فاضي رد علي

#21

تمام بص يا سيدي اولا ان شاء الله ربنا يسمع مني و تتجوز ^_^ و ادعيلي انا اشتغل ^_^

ثانيا انا بدات اهو اعملك الملف بس في حاجة العضو هو الي هيرفع الصورة لنفسه ولا انت الي هترفعله الصورة ؟؟؟ من خلال لوحة تحكم مثلا ؟

لان لو العضو الي هيرفع صورة لنفسه هنعمل sessions عشان العضو يغير صورته برقم ال id بتاعه و هكذا لكن لو انت الي هتغير صورته فممكن نعمل عرض للاعضاء بحيث انت تختار العضو من قايمة و ترفع صورة ليه ,,

انا هفترض ان انت الي هتغيره الصورة ^_^ و هبدا علي بركة الله لو في حاجة يا ريت تقولي قبل ما اكمل .

@My Twitter

[spacing]

EGYPT

[/spacing]

#22

الحمد لله لحقت المنتدي قبل ما انام كان قافل ^_^لاني مش متواجد الايام الجاية كلها و بقالي شوية شغال ^_^

بص يا سيدي اول حاجة عملتها اني مسحت جدول image خالص

و عملت حقل في جدول employee اسمه Image

ممكن انت اسهلك امسح جدول employee من عندك و اعمل كوبي للكلام الي في الملف المرفق dblid.sql في الملف ده جوا الداتا بيز عندك ,

ثاني حاجة الاسكربت :

اول حاجة صفحة ال config.php و دي فيها بيانات الداتا بيز متنساش تعدهلها

بعد كدة الاسكربت عبارة عن صفحة فيها اما بحث عن عضو معين ( باسمه او رقمه ) أو عرض كل الاعضاء مقسمين 20 كل صفحة ( ممكن تغير الرقم ) $page في ملف users.php

اي عضو انت عاوز تعدل صورته هتدوس عليه هتتحول ل userprofile.php و هناك هتشوف كل بياناته زي ما هي معروضة في الداتا بيز و تقدر من الصفحة دي انك تغير صورته براحتك .

صفحة changepicture.php دي فيها الكود بتاع رفع الصورة و حفظها جوا مجلد اسمه userimages موجود عندك متنساش تعدل علي اسامي المجلد عندك

احتمال تلاقي الصور بايظة اول ما تجرب عندك لان الداتا بيز الروابط متسجلة فيها غلطة بس هتشتغل باذن الله اول ما تبدا ترفع صور .

بس يا سيدي ده الي يهمك طبعا الالوان العب براحتك في صفحة style.css التنسيق العام يعني براحتك ,

ولو احتجت اي حاجة اتمني اني الحقك قبل ما اسافر ,

و ربنا يوفقك ان شاء الله و الاخوة هنا يقدروا يفيدوا اكيد اكتر مني بكتير

عشان تجرب الاسكربت اهو :

Image Script

و الملف كله مرفق و متنساش تدعيلي ..

DBL.zip

تم تعديل هذه المشاركة بواسطة HUSSEin-AHMeD في 16 نوفمبر 2011 في 07:09

@My Twitter

[spacing]

EGYPT

[/spacing]

#23

يعطيك الف عافيه وإن شاء الله تشتغل وربك ييسر لك امرك

وانت ماقصرت والف شكر وإن شاء الله توصل بسلامه واذا احتجت اي شي انا في الخدمه

#24

الله مادري وش اقولك بس نفس المشكله مو راضي لا يحفظ الصوره في المجلد ولا راضي يحفظ الامتداد حقها في قاعدة البيانات

والصوره اللي راح يظيفها المستخدم مو انا

دائما يعطيني ان نوع الملف خطا

#25

طيب معلش هقولك حاجة خد الملفات زي ما هي و اعمل قاعدة بيانات عندك جديدة و اعمل فيها الجدوا الي موجود في الملف .sql

و جرب نفس الملفات بالظبط في localhost و شوف شغال ولا لآ . و هو اكيد يطلع شغال ان شاء الله زي مانت شايف شغال علي الموقع الي بعتهولك , لكن انت اكيد مش ظابط اسامي المجلدات او كدة .

@My Twitter

[spacing]

EGYPT

[/spacing]

مواضيع مشابهة