×

عمل شجرة باستخدام php mysql

طيب هل تريد أن يطلع المستخدم على المجلد الحقيقي مباشرة أم ستقوم بعرضه على صيغة (موضوع) على صفحة الويب وبداخله الملفات؟

قديمة 04 - 11 - 2016, 15:56
المشاركة 16
adaroobi
:: عضو جديد ::
تاريخ الإنضمام: 07 - 02 - 2006
رقم العضوية : 18573
المشاركات: 19
1
افتراضي رد : عمل شجرة باستخدام php mysql
طيب هل تريد أن يطلع المستخدم على المجلد الحقيقي مباشرة أم ستقوم بعرضه على صيغة (موضوع) على صفحة الويب وبداخله الملفات؟
قديمة 04 - 11 - 2016, 16:06
المشاركة 17
صورة 'm7md91' الرمزية
m7md91
:: عضو نشيط ::
تاريخ الإنضمام: 01 - 02 - 2013
رقم العضوية : 183350
الدولة : لبنان
المشاركات: 767
71
افتراضي رد : عمل شجرة باستخدام php mysql
طيب هل تريد أن يطلع المستخدم على المجلد الحقيقي مباشرة أم ستقوم بعرضه على صيغة (موضوع) على صفحة الويب وبداخله الملفات؟
جميع المجلدات هي عبارة عن مواضيع ولكن يظهر اسم الموضوع والى جنبه صورة مجلد وعند الضغط على الموضوع يظهر له باقي المجلدات والملفات المتعلقة به وهكذا لكل المجلدات
قديمة 04 - 11 - 2016, 16:27
المشاركة 18
adaroobi
:: عضو جديد ::
تاريخ الإنضمام: 07 - 02 - 2006
رقم العضوية : 18573
المشاركات: 19
1
افتراضي رد : عمل شجرة باستخدام php mysql
إذاً قم بعمل جدول إضافي للملفات وقم باستخدام أي اسكريبت لرفع الملفات وقم بحفظ مسارات الملفات في قاعدة البيانات وقم بربطها مع ID المجلد من الجدول Tree.
قديمة 04 - 11 - 2016, 16:30
المشاركة 19
صورة 'm7md91' الرمزية
m7md91
:: عضو نشيط ::
تاريخ الإنضمام: 01 - 02 - 2013
رقم العضوية : 183350
الدولة : لبنان
المشاركات: 767
71
افتراضي رد : عمل شجرة باستخدام php mysql
إذاً قم بعمل جدول إضافي للملفات وقم باستخدام أي اسكريبت لرفع الملفات وقم بحفظ مسارات الملفات في قاعدة البيانات وقم بربطها مع ID المجلد من الجدول Tree.
حسنا ممكن ان تعطيني الكود الذي كنت تريد تعديله وسأحاول تطبيق الفكرة واوافيك بكل المستجدات واذا وصلت للنتيجة المطلوبة سأضع الكود كامل للاستفادة
قديمة 04 - 11 - 2016, 17:31
المشاركة 20
adaroobi
:: عضو جديد ::
تاريخ الإنضمام: 07 - 02 - 2006
رقم العضوية : 18573
المشاركات: 19
1
افتراضي رد : عمل شجرة باستخدام php mysql
عذراً اخي للتأخير..

ملف folder_form.php
رمز PHP:
<?php
$database 
= new mysqli("localhost""root""root""dbname");

if (
$database->connect_error) {
    die(
"Error Connecting to Database..");
}

$parentID = !empty($_GET['parentID']) ? $_GET['parentID'] : 0;

if (
$parentID) {
    
$currentFolder $database->prepare("SELECT * FROM `tree` WHERE `node_id` = ?");
    
$currentFolder->bind_param("i"$parentID);

    if (!
$currentFolder->execute()) die("Wrong Parent ID");

    
$currentFolderArray $currentFolder->get_result()->fetch_assoc();

    
$currentFolderName $currentFolderArray['node_name'];
}

$currentFolderName = empty($currentFolderName)? 'root'$currentFolderName;

function 
buildTreeHTML(&$list$parentID 0) {

    
$isBranch false;

    foreach (
$list as $index => $element) {

        if (
$list[$index]['node_parent'] != $parentID) continue;

        if (!
$isBranch) {
            echo 
'<ul>';
            
$isBranch true;
        }

        echo 
"<li><a href='folder_form.php?parentID={$list[$index]['node_id']}'>" $list[$index]['node_name'] . '</a></li>';

        
buildTreeHTML($list$list[$index]['node_id']);
    }

    if (
$isBranch) {
        echo 
'</ul>';
    }
}

?>
<!DOCTYPE html>
<html lang="ar">
<head>
    <meta charset="utf-8">
    <title>نموذج الإدخال</title>
</head>
<body>
<h2>Current Folder: <?= $currentFolderName ?></h2>
<form method="post" action="create_folder.php?parentID=<?= $parentID ?>">
    <label for="folderName">Create Folder</label>
    <input id="folderName" name="folderName" type="text" placeholder="Create Folder">
    <input type="submit">
</form>

<hr>

<h2>Folders Tree</h2>
<ul>
    <li><a href="folder_form.php">root</a></li>
    <?php
    $treeObject 
$database->query("SELECT * FROM `tree`");

    
$treeArray = [];
    while (
$result $treeObject->fetch_array()) {
        
$treeArray[] = $result;
    }

    
buildTreeHTML($treeArray);
    
?>
</ul>

</body>
</html>
ملف create_folder.php
رمز PHP:
<?php

if (strtolower($_SERVER['REQUEST_METHOD']) !== 'post'header('Location:folder_form.php');

$parentID = !empty($_GET['parentID']) ? $_GET['parentID'] : 0;;
$folderName = empty($_POST['folderName']) ? "New Folder" $_POST['folderName'];

$database = new mysqli("localhost""root""root""dbname");

if (
$database->connect_error) {
    die(
"Error Connecting to Database..");
}

$statement $database->prepare("INSERT INTO `tree` (`node_parent`, `node_name`) VALUES (?, ?)");
$statement->bind_param('is'$parentID$folderName);
if (
$statement->execute()) {
    
header("Location:folder_form.php?parentID={$statement->insert_id}");
} else {
    die(
"Error Inserting folder [{$folderName}]. Please try again");
}
التعديل الأخير كان بواسطة adaroobi; 04 - 11 - 2016 الساعة 17:46
قديمة 04 - 11 - 2016, 17:46
المشاركة 21
adaroobi
:: عضو جديد ::
تاريخ الإنضمام: 07 - 02 - 2006
رقم العضوية : 18573
المشاركات: 19
1
افتراضي رد : عمل شجرة باستخدام php mysql
وهذه الطريقة التقليدية (غير محبذة)
ملف folder_form.php
رمز PHP:
<?php
$database 
mysqli_connect("localhost""root""root""database");

if (
mysqli_error($database)) {
    die(
"Error Connecting to Database..");
}

$parentID = !empty($_GET['parentID']) ? (int)$_GET['parentID'] : 0;

if (
$parentID) {

    
$currentFolder mysqli_query($database"SELECT * FROM `tree` WHERE `node_id` = {$parentID}");


    if (!
$currentFolder) die("Wrong Parent ID");

    
$currentFolderArray mysqli_fetch_assoc($currentFolder);

    
$currentFolderName $currentFolderArray['node_name'];
}

$currentFolderName = empty($currentFolderName)? 'root'$currentFolderName;

function 
buildTreeHTML(&$list$parentID 0) {

    
$isBranch false;

    foreach (
$list as $index => $element) {

        if (
$list[$index]['node_parent'] != $parentID) continue;

        if (!
$isBranch) {
            echo 
'<ul>';
            
$isBranch true;
        }

        echo 
"<li><a href='folder_form.php?parentID={$list[$index]['node_id']}'>" $list[$index]['node_name'] . '</a></li>';

        
buildTreeHTML($list$list[$index]['node_id']);
    }

    if (
$isBranch) {
        echo 
'</ul>';
    }
}

?>
<!DOCTYPE html>
<html lang="ar">
<head>
    <meta charset="utf-8">
    <title>نموذج الإدخال</title>
</head>
<body>
<h2>Current Folder: <?= $currentFolderName ?></h2>
<form method="post" action="create_folder.php?parentID=<?= $parentID ?>">
    <label for="folderName">Create Folder</label>
    <input id="folderName" name="folderName" type="text" placeholder="Create Folder">
    <input type="submit">
</form>

<hr>

<h2>Folders Tree</h2>
<ul>
    <li><a href="folder_form.php">root</a></li>
    <?php
    $treeObject 
mysqli_query($database"SELECT * FROM `tree`");

    
$treeArray = [];
    while (
$result mysqli_fetch_assoc($treeObject)) {
        
$treeArray[] = $result;
    }

    
buildTreeHTML($treeArray);
    
?>
</ul>

</body>
</html>
ملف create_folder.php
رمز PHP:
<?php

if (strtolower($_SERVER['REQUEST_METHOD']) !== 'post'header('Location:folder_form.php');

$database mysqli_connect("localhost""root""root""database");

$parentID = !empty($_GET['parentID']) ? (int)$_GET['parentID'] : 0;;
$folderName = empty($_POST['folderName']) ? "New Folder" mysqli_real_escape_string($database$_POST['folderName']);

if (
mysqli_error($database)) {
    die(
"Error Connecting to Database..");
}

$query mysqli_query($database"INSERT INTO `tree` (`node_parent`, `node_name`) VALUES ({$parentID}, '{$folderName}')");
if (
$query) {
    
header("Location:folder_form.php?parentID=" mysqli_insert_id($database));
} else {
    die(
"Error Inserting folder [{$folderName}]. Please try again");
}
قديمة 04 - 11 - 2016, 19:15
المشاركة 22
adaroobi
:: عضو جديد ::
تاريخ الإنضمام: 07 - 02 - 2006
رقم العضوية : 18573
المشاركات: 19
1
افتراضي رد : عمل شجرة باستخدام php mysql
هذا مرجع لجميع الملفات النهائية لكي يستفيد الجميع..
للإستعراض من هنا
قديمة 05 - 11 - 2016, 08:21
المشاركة 23
صورة 'm7md91' الرمزية
m7md91
:: عضو نشيط ::
تاريخ الإنضمام: 01 - 02 - 2013
رقم العضوية : 183350
الدولة : لبنان
المشاركات: 767
71
افتراضي رد : عمل شجرة باستخدام php mysql
عذراً اخي للتأخير..

ملف folder_form.php
رمز PHP:
<?php
$database 
= new mysqli("localhost""root""root""dbname");

if (
$database->connect_error) {
    die(
"Error Connecting to Database..");
}

$parentID = !empty($_GET['parentID']) ? $_GET['parentID'] : 0;

if (
$parentID) {
    
$currentFolder $database->prepare("SELECT * FROM `tree` WHERE `node_id` = ?");
    
$currentFolder->bind_param("i"$parentID);

    if (!
$currentFolder->execute()) die("Wrong Parent ID");

    
$currentFolderArray $currentFolder->get_result()->fetch_assoc();

    
$currentFolderName $currentFolderArray['node_name'];
}

$currentFolderName = empty($currentFolderName)? 'root'$currentFolderName;

function 
buildTreeHTML(&$list$parentID 0) {

    
$isBranch false;

    foreach (
$list as $index => $element) {

        if (
$list[$index]['node_parent'] != $parentID) continue;

        if (!
$isBranch) {
            echo 
'<ul>';
            
$isBranch true;
        }

        echo 
"<li><a href='folder_form.php?parentID={$list[$index]['node_id']}'>" $list[$index]['node_name'] . '</a></li>';

        
buildTreeHTML($list$list[$index]['node_id']);
    }

    if (
$isBranch) {
        echo 
'</ul>';
    }
}

?>
<!DOCTYPE html>
<html lang="ar">
<head>
    <meta charset="utf-8">
    <title>نموذج الإدخال</title>
</head>
<body>
<h2>Current Folder: <?= $currentFolderName ?></h2>
<form method="post" action="create_folder.php?parentID=<?= $parentID ?>">
    <label for="folderName">Create Folder</label>
    <input id="folderName" name="folderName" type="text" placeholder="Create Folder">
    <input type="submit">
</form>

<hr>

<h2>Folders Tree</h2>
<ul>
    <li><a href="folder_form.php">root</a></li>
    <?php
    $treeObject 
$database->query("SELECT * FROM `tree`");

    
$treeArray = [];
    while (
$result $treeObject->fetch_array()) {
        
$treeArray[] = $result;
    }

    
buildTreeHTML($treeArray);
    
?>
</ul>

</body>
</html>
ملف create_folder.php
رمز PHP:
<?php

if (strtolower($_SERVER['REQUEST_METHOD']) !== 'post'header('Location:folder_form.php');

$parentID = !empty($_GET['parentID']) ? $_GET['parentID'] : 0;;
$folderName = empty($_POST['folderName']) ? "New Folder" $_POST['folderName'];

$database = new mysqli("localhost""root""root""dbname");

if (
$database->connect_error) {
    die(
"Error Connecting to Database..");
}

$statement $database->prepare("INSERT INTO `tree` (`node_parent`, `node_name`) VALUES (?, ?)");
$statement->bind_param('is'$parentID$folderName);
if (
$statement->execute()) {
    
header("Location:folder_form.php?parentID={$statement->insert_id}");
} else {
    die(
"Error Inserting folder [{$folderName}]. Please try again");
}
شكرا لك جاري التجربة
قديمة 05 - 11 - 2016, 16:38
المشاركة 24
صورة 'Ehab Obaidat‎‏' الرمزية
Ehab Obaidat‎‏
.:: عضو متألق ::.
تاريخ الإنضمام: 19 - 02 - 2015
رقم العضوية : 263969
الدولة : Palestine - Jerusalem
المشاركات: 8,393
555
قديمة 06 - 11 - 2016, 20:59
المشاركة 25
صورة 'Ehab Obaidat‎‏' الرمزية
Ehab Obaidat‎‏
.:: عضو متألق ::.
تاريخ الإنضمام: 19 - 02 - 2015
رقم العضوية : 263969
الدولة : Palestine - Jerusalem
المشاركات: 8,393
555
 
مغلق
 
العلامات المرجعية

Module 'pdo_mysql' already loaded في الصفحات codeigniter مشكلة عرض الصور img-responsive

أدوات الموضوع ابحث في الموضوع
ابحث في الموضوع:

البحث المتقدم
طرق العرض


الساعة معتمدة بتوقيت جرينتش +3 . الساعة الآن : 18:03.
المعهد غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي معهد ترايدنت ولا نتحمل أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

جميع الحقوق محفوظة Traidnt 2018
  • 00966138651070
  • 00966138648289
  • 2051033691
Powered by vBulletin® Version 3.8.7 .Copyright ©2000 - 2019, Jelsoft Enterprises Ltd
SEO by vBSEO ©2011, Crawlability, Inc.