راکت
حل شده

سوالی در باره mysql

6 پاسخ

با سلام میخواستم بدونم چجور میشه یک فایل مثلا اکسل یا خوده sql رو با استفاده از کد های php به mysql تزریق کرد ؟
@mohaligateway @juza66 @ajdar9667

ثبت پرسش جدید

پاسخ‌ها

6
moha li
moha li
@mohaligateway

تخصص: توسعه دهنده لاراول و Vue

بهترین پاسخ

سلام
اول باید ببینید فرمت فایل اکسل چی هست چون معمولا فایل های اکسلی مثل csv با زبان فارسی مشکل دارن.
برای وارد کردن اطلاعات داخل دیتا بیس توسط php باید ابتدا file csv رو import کنید و سپس با insert query وارد database کنید. فایل های html به صورت زیر هست.

<h2>Import CSV file into Mysql using PHP</h2>

    <div id="response"
        class="<?php if(!empty($type)) { echo $type . " display-block"; } ?>">
        <?php if(!empty($message)) { echo $message; } ?>
        </div>
    <div class="outer-scontainer">
        <div class="row">

            <form class="form-horizontal" action="" method="post"
                name="frmCSVImport" id="frmCSVImport"
                enctype="multipart/form-data">
                <div class="input-row">
                    <label class="col-md-4 control-label">Choose CSV
                        File</label> <input type="file" name="file"
                        id="file" accept=".csv">
                    <button type="submit" id="submit" name="import"
                        class="btn-submit">Import</button>
                    <br />

                </div>

            </form>

        </div>
               <?php
            $sqlSelect = "SELECT * FROM users";
            $result = $db->select($sqlSelect);
            if (! empty($result)) {
                ?>
            <table id='userTable'>
            <thead>
                <tr>
                    <th>User ID</th>
                    <th>User Name</th>
                    <th>First Name</th>
                    <th>Last Name</th>

                </tr>
            </thead>
<?php

                foreach ($result as $row) {
                    ?>

                <tbody>
                <tr>
                    <td><?php  echo $row['userId']; ?></td>
                    <td><?php  echo $row['userName']; ?></td>
                    <td><?php  echo $row['firstName']; ?></td>
                    <td><?php  echo $row['lastName']; ?></td>
                </tr>
                    <?php
                }
                ?>
                </tbody>
        </table>
        <?php } ?>
    </div>

و فایل های jquery

<script type="text/javascript">
$(document).ready(function() {
    $("#frmCSVImport").on("submit", function () {

        $("#response").attr("class", "");
        $("#response").html("");
        var fileType = ".csv";
        var regex = new RegExp("([a-zA-Z0-9\s_\\.\-:])+(" + fileType + ")$");
        if (!regex.test($("#file").val().toLowerCase())) {
                $("#response").addClass("error");
                $("#response").addClass("display-block");
            $("#response").html("Invalid File. Upload : <b>" + fileType + "</b> Files.");
            return false;
        }
        return true;
    });
});
</script>

و حالا مرحله insertion توسط php بعد از upload

<?php
use Phppot\DataSource;

require_once 'DataSource.php';
$db = new DataSource();
$conn = $db->getConnection();

if (isset($_POST["import"])) {

    $fileName = $_FILES["file"]["tmp_name"];

    if ($_FILES["file"]["size"] > 0) {

        $file = fopen($fileName, "r");

        while (($column = fgetcsv($file, 10000, ",")) !== FALSE) {

            $userId = "";
            if (isset($column[0])) {
                $userId = mysqli_real_escape_string($conn, $column[0]);
            }
            $userName = "";
            if (isset($column[1])) {
                $userName = mysqli_real_escape_string($conn, $column[1]);
            }
            $password = "";
            if (isset($column[2])) {
                $password = mysqli_real_escape_string($conn, $column[2]);
            }
            $firstName = "";
            if (isset($column[3])) {
                $firstName = mysqli_real_escape_string($conn, $column[3]);
            }
            $lastName = "";
            if (isset($column[4])) {
                $lastName = mysqli_real_escape_string($conn, $column[4]);
            }

            $sqlInsert = "INSERT into users (userId,userName,password,firstName,lastName)
                   values (?,?,?,?,?)";
            $paramType = "issss";
            $paramArray = array(
                $userId,
                $userName,
                $password,
                $firstName,
                $lastName
            );
            $insertId = $db->insert($sqlInsert, $paramType, $paramArray);

            if (! empty($insertId)) {
                $type = "success";
                $message = "CSV Data Imported into the Database";
            } else {
                $type = "error";
                $message = "Problem in Importing CSV Data";
            }
        }
    }
}
?>

دقت کنید که نمی تونید فرمت های دیگه رو از اکسل داخل جدول قرار بدید باید حتما csv باشد.
@behzadi

Reza
Reza
@Rezanp7

تخصص: برنامه نویس وب

سلام.
این کار اصلا ربطی به زبان php نداره و مربوط به خود mysql و دستوراتش میشه.

amir
amir
@behzadi

تخصص: بک اند و فرانت اند

@Rezanp7 خب عزیزه دل میخام یک صفحه رو بنویسم و با php مثلا با یک کوئری اجراش کنم الان من چجوری میتونم این کار رو بکنم ؟ @ali.bayat شما نمیدونید؟

شاید پاسخ شما همین‌جا باشد

Reza
Reza
@Rezanp7

تخصص: برنامه نویس وب

@behzadi
اول باید اون فایل رو import کنید توی mysql تا جدول هاتون اوکی بشه.

بعد هر کوئری که میخواین رو بگید کمکتون کنن اینجا دوستان

amir
amir
@behzadi

تخصص: بک اند و فرانت اند

@Rezanp7 خب عزیز اینرو میدونم میخام از طریقه پنله کاربری در سایت ایمپورتش کنم نخام برم داخل phpmyadmin

amir
amir
@behzadi

تخصص: بک اند و فرانت اند

@mohaligateway مثله همیشه عالی تشکر

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام