• CMS для сайта агенства недвижимости

    Я сделал готовый сайт для агентства недвижимости на Drupal 7. Предназначен для региональных агентств недвижимости работающих в нескольких городах. Совмещает простоту навигации и управления, функциональность и готовые маркетинговые решения. Создание новых разделов и публикация информации не требует никаких специальных знаний.
    Демо
    Страница проекта
    Скачать
    aeef2eb1518745e68ba0d707409da1d6.png
    Ответ написан
    4 комментария
  • Как создать функцию добавления объявления?

    twobomb
    @twobomb
    Ну вот крч. Делай точно так как у меня и все будет работать.
    БАЗА ДАННЫХ

    Логин root
    Пароль 123456
    Хост localhost
    Порт 3306
    Имя: my_data
    Настраивается в data.php

    Таблица 1
    Имя: images
    Поля
    id int autoincrement
    url varchar 255
    post_id int

    Таблица 2
    Имя: posts
    Поля
    id int autoincrement
    title varchar 50
    description text


    ФАЙЛ posts.php
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            body{
                background: #333333;
            }
            .post{
                color:aliceblue;
                width:60%;
                margin: auto;
                border: 5px solid #FFF;
                margin-top:25px;
            }
            .post .title{
                font-size:1.4em;
                padding: 15px;
                background:#660099;
            }
            .post .description{
                padding: 15px;
                background:#330099;
            }
            .post .images img{
                border-radius: 20px;
                margin: 20px auto;
                width: 50%;
                display: block;
                
            }
            .post .images{
                padding: 15px;
                max-height: 500px;
                overflow: overlay;
                background:#660099;
            }
        </style>
    </head>
    <body>
    <?PHP
        require_once "data.php";
        $con = sql_connect();
        $sql = "SELECT id,title,description FROM posts LIMIT 20";
        $res = $con->query($sql);
        $bar = "";
        while($row = $res->fetch_assoc()){
    $bar .= "<div class='post' data-postid={$row["id"]}'>
            <div class='title'>{$row["title"]}</div>
            <div class='description'>{$row["description"]}</div>
            <div class='images'>"; 
        $sql = "SELECT url FROM images WHERE post_id=$row[id]";
        $imgs = $con->query($sql);
            while($img = $imgs->fetch_row())
                $bar .= "<img src=\"$img[0]\">";
            $bar .= "
            </div>
        </div>"; 
        }
        echo $bar;
        ?>
    </body>
    </html>

    ФАЙЛ data.php
    <?PHP
    
    define("DB_LOGIN","root");
    define("DB_PASS","123456");
    define("DB_HOST","localhost");
    define("DB_NAME","my_data");
    define("DB_PORT","3306");
    
    function sql_connect(){
        $con = new mysqli(DB_HOST, DB_LOGIN, DB_PASS, DB_NAME,DB_PORT);
        if ($con->connect_errno) {
            echo "Нет доступа к БД! Ошибка: " . $con->connect_error;
            return false;
        }
        return $con;
    }
    ?>

    ФАЙЛ index.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <script>
        document.addEventListener("DOMContentLoaded",function(){
    	document.all.addFoto.addEventListener("click",function(){
         var el = document.createElement("input");
         el.name = "foto[]";
         el.type = "file";
         el.accept="image/*";
      	document.all.addBtn.appendChild(el)
      });
    });
        </script>    
        <style>
        label,input{
      display:block;
      margin-top:10px;
    }
        </style>
    <body>
        <form action="addScript.php" method="post" enctype="multipart/form-data">
      <label >Заголовок<input type="text" name="title"></label>
      <label >Описание<input type="text" name="description"></label>
      <input type="button" id="addFoto" value="Добавить фото">
      <div id="addBtn"></div>
      <input type="submit" value="Отправить" />
    </form>
    </body>
    </html>

    ФАЙЛ addScript.php
    <?PHP
        require_once "data.php";
    
    $arr = [];
    if(isset($_FILES["foto"])){
        $dir = "upload/images";
        if(!is_dir($dir))
            mkdir($dir,0777,true);
        for($i = 0; $i < count($_FILES["foto"]["name"]);$i++){
            if($_FILES["foto"]["error"][$i] == 0 && preg_match("/^image/",$_FILES["foto"]["type"][$i])){
                array_push($arr,$dir."/".time()."_".preg_replace("/[а-яА-Я\s]/i", '', $_FILES["foto"]["name"][$i]));
                move_uploaded_file($_FILES["foto"]["tmp_name"][$i],end($arr));
            }
        }
    }
    $title = trim(htmlspecialchars($_POST["title"]));
    $description = trim(htmlspecialchars($_POST["description"]));
    
    if($title && $description && $con = sql_connect()){
        $sql = "INSERT INTO posts(title,description) VALUES('$title','$description')";
        $con->query($sql);
        $sql = "SELECT MAX(id) FROM posts";
        $res = $con->query($sql);
        $row = $res->fetch_row();
        for($i = 0; $i < count($arr);$i++){
            $sql = "INSERT INTO images(url,post_id) VALUES('$arr[$i]','$row[0]')";
            $con->query($sql);
        }
    }
    else 
        echo "Error: no data!";
    $con->close();
    
    ?>
    Ответ написан
    8 комментариев