- Modal window показва всички записи вместо селектираните
WT форуми -> PHP MySQL ASP.NET -> Modal window показва всички записи вместо селектираните
Създайте нова тема Напишете отговор 
Автор Съобщение
vinsbg
Редовен
Редовен

Регистриран на: 28/01/2009 2:21 pm

Support: 51
Bonus: 87
Мнения: 2564
Мнение 20/07/2017 9:32 am     Modal window показва всички записи вместо селектираните Отговорете с цитат


Имам един малък проблем с modal window. Ако потребителя има 2 записа(поръчки) той вижда 2 бутона Download на страницата. Всеки бутон е за всяка различна поръчка.

Получават се 2 бутона на таблицата за всяка поръчка по един

<a class="btn btn-primary btn-xs"  href="#files-{{ $download->order_id }}">Download</a>
<a class="btn btn-primary btn-xs"  href="#files-{{ $download->order_id }}">Download</a>


А това е как зареждам модала

            <span id="start" class="target"></span>
            <span id="files-{{ $download->order_id }}" class="target"></span>
            <div class="modal">
                <div class="content vertical-align-middle">
                    <h2>Click on the button to download it</h2>
                    <table class="table table-striped">
                      <thead id="tblHead">
                        <tr>
                          <th align="center">File</th>
                          <th align="center">Action</th>
                        </tr>
                      </thead>
                      <tbody>
                        @foreach($downloadableOrders as $files)                     
                            @if($files->status == 1)
                                {{--*/ $ids = explode(",", $files->docname); /*--}}
                                @foreach ($ids as $id)
                                    <tr>
                                      <td></td>
                                      <td><a href="{{ URL::to('/files/download/' . $id . '?_token=' . csrf_token()) }}">Download</a></td>
                                    </tr>
                                @endforeach
                            @endif
                        @endforeach
                      </tbody>
                    </table>
                    <a class="close-btn" href="#start">X</a>
                </div>
            </div>

Проблема е, че когато модала се отвори без значение кой от двата бутона съм натиснал виждам всички файлове. Заявката, която ползвам

$downloadableOrders = Order::where('user_id', getCurrentUser()->user_id)
                   ->select("orders.*",\DB::raw("GROUP_CONCAT(documents.id  ) as docname"))
                   ->leftjoin("documents",\DB::raw("FIND_IN_SET(documents.id,orders.order_downloadable)"),">",\DB::raw("'0'"))
                   ->groupBy("orders.order_id")
                  ->paginate(10);
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
joTunkiq
Активен
Активен

Регистриран на: 25/12/2012 12:03 pm

Support: 126
Bonus: 252
Мнения: 769
Мнение 22/07/2017 11:03 pm      Отговорете с цитат


Братле това става с 2 релейшъншипа и добре организирана база данни, няма нужда да ползваш raw селектирания и т.н. По-добре научи релейшъните и кое кога да ползваш и ще видиш колко бързо и лесно с по 1 ред става всичко дори и това.Idea

П.с. Кажи, че ползваш Laravel, кажи каква е идеята, какво имаш, какво искаш - това което разбрах е .. имам поръчки .. имам файлове трябва да са 2 бутона .. ама ето каак става проблема е че виждам всички файлове - не става много ясно нали. Аз те разбрах, спокойно, но каква е гаранцията, че ше те разбере и друг ? Idea

Оформи си върпоса правилно, ще ти помогне да осмислиш нещата и може би сам ще намериш отговора, до тогава, научи тея релейшъни брат, плс Very Happy
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
vinsbg
Редовен
Редовен

Регистриран на: 28/01/2009 2:21 pm

Support: 51
Bonus: 87
Мнения: 2564
Мнение 23/07/2017 9:47 am      Отговорете с цитат


Laravel e. Знам за рилейшъните. Не мога да ги ползвам в този случай.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
Fakeheal
Support
Support

Регистриран на: 17/04/2010 8:37 am

Support: 342
Bonus: 682
Мнения: 2564
Мнение 23/07/2017 3:11 pm      Отговорете с цитат


Мисля, че не можеш да ползваш relationships, защото отново имаме ненормализирана база данни Smile

but I could be wrong, tho.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
vinsbg
Редовен
Редовен

Регистриран на: 28/01/2009 2:21 pm

Support: 51
Bonus: 87
Мнения: 2564
Мнение 24/07/2017 6:39 am      Отговорете с цитат


Fakeheal написа:
Мисля, че не можеш да ползваш relationships, защото отново имаме ненормализирана база данни Smile

but I could be wrong, tho.

Точно така, а да започна да я нормализирам .. прекалено много време ще отнеме
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
Revelation
Турист
Турист

Регистриран на: 24/03/2013 3:23 pm

Support: 40
Bonus: 80
Мнения: 563
Мнение 24/07/2017 4:24 pm      Отговорете с цитат


Да, но имай предвид, че не я ли нормализираш сега, за напред винаги ще имаш проблеми.

1. Измисляне на проект
2. Изграждане на правилната структура на базата данни
3. Писане на софтуер
(има и други точки, които трябва доста добре да се обмислят преди да се пише софтуера, но няма да споменавам сега)

Преди да се почне да се пише проекта, трябва да се обмисли и създаде добре направена база данни иначе след това постоянно ще правиш промени, я по базата, я по кода.
Не знам дали имаш някакъв deadline за изпълнение на това, което правиш, но ти препоръчвам да оправиш базата данни първо. Със сигурност няма да съжаляваш.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
joTunkiq
Активен
Активен

Регистриран на: 25/12/2012 12:03 pm

Support: 126
Bonus: 252
Мнения: 769
Мнение 24/07/2017 6:05 pm      Отговорете с цитат


Сори, че пак спамя и няма да ти дам код, но релациите могат да се използват за всякакъв вид объркана база данни. Дори не е нужно да посочваш модел за съответната таблица, може да използваш query builder-а и да ти върне обект и така също ще стане .

Пример:


 public userOrders()
{
   return \DB::table('orders')->whereUserId($this->id)->get();
}


Но пак повтарям, това не е правилно, използвай relationsip-вете иначе така ще изпаднеш в батак. Но ако условието на проекта е да не променяш базата данни или от нея зависят и други проекти, тогава това е решението.

Казвам ти го това за да си опавиш заявките, защото проблема не е базата данни. Idea

А и това ме зарадва, наистина:
Цитат:
\DB::raw("FIND_IN_SET(documents.id,orders.order_downloadable)"),">",\DB::raw("'0'")
- 0 като raw Very Happy

Не ти се присмивам или нещо такова, но ти казах да погледнеш релейшъните и ти каза, че ги знаеш, ама не ги ползваш, защото не можеш, което значи, че не са ти ясни.

Отново извинявай за спама, просто исках да го отбележа, тъй като стана дума за базата данни Smile

Пс. Давайте ги тея таблици ве пичове, няма да ви откраднем идеята или великата структура на базата данни. Няма как да знаем кое как се свързва и кое искаш да изкараш и какво имаш нали ? 3-ма души ти пишем и ти сега си викаш б*си спамерите, един не помогна. Сега си задай въпроса как да ти помогнем като не знаем нищо освен :

Цитат:
имам поръчки .. имам файлове трябва да са 2 бутона .. ама ето каак става проблема е че виждам всички файлове - не става много ясно нали
Very Happy
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
vinsbg
Редовен
Редовен

Регистриран на: 28/01/2009 2:21 pm

Support: 51
Bonus: 87
Мнения: 2564
Мнение 25/07/2017 5:48 am      Отговорете с цитат


Е те точно това е проблема. Проекта вече е доста голям, доста объркан и не съм го почвал аз от началото. Няма нито време нито как да почвам да му оправям базата.

Джо, не смятам, че сте спамери.. Просто решението, което се предлага не е приложимо в за момента.

Не знам, какво още е нужно като информация.



// table orders, колона order_downloadable = table documents id
order_downloadable = id


Понеже в order_downloadable се записват id-тата със запетая, защото потребителя може да поръча повече от 1 документ - 1,34,23,13 ги експлоудвам във вюто така:

{{--*/ $ids = explode(",", $files->docname); /*--}}

така си получавам за всеки файл отделен бутон, а не всички файлове на един бутон и да ги даунлоудва като зип ( въпреки, че и това е решение )
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
Покажи мнения от преди:    
Създайте нова тема   Напишете отговор    web-tourist.net Форуми -> PHP MySQL ASP.NET Часовете са според зоната GMT + 2 Часа
Страница 1 от 1


 
Идете на:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети