[ Príspevkov: 11 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 31.07.07
Prihlásený: 09.01.19
Príspevky: 327
Témy: 85 | 85
Bydlisko: Humenné
NapísalOffline : 07.10.2017 13:24 | json_encode vracia stale 1

Zdravím vás,

načítavam články z databazy cez ajax infinity scroll, a mám problém, lebo stále mi to na stránke vypisuje 1 keď načítava nové články pri rolovaní

Kód:
<div class="ajax-load text-center" style="display:none"><p>Loading More post</p></div>

                            <script type="text/javascript">
                              $(window).scroll(function() {
                              if($(window).scrollTop() + $(window).height() >= $(document).height()) {
                                var last_id = $(".post-id:last").attr("id");
                                var id = $(".category-id:last").attr("id");
                                loadMoreData(last_id, id);
                              }
                              });

                              function loadMoreData(last_id, id){
                                $.ajax(
                                {
                                  url: '/loadMoreData.php?last_id=' + last_id + '&id=' + id,
                                  type: "get",
                                  beforeSend: function()
                                {
                                  $('.ajax-load').show();
                                }
                                })
                                  .done(function(data)
                                {
                                  $('.ajax-load').hide();
                                  $("#post-data").append(data);
                                })
                                .fail(function(jqXHR, ajaxOptions, thrownError)
                                {
                                  alert('server not responding...');
                                });
                              }
                            </script>


Kód:
<?php

   require('inc/config.php');

   $sql = "SELECT a.id AS idclanok,a.image,a.title,a.category,a.post,a.autor,DATE_FORMAT(a.date, '%M') AS month, DATE_FORMAT(a.date, '%d') AS day,b.* FROM posts a LEFT JOIN category b ON(a.category = b.id) WHERE b.id='".$_GET['id']."' AND a.id < '".$_GET['last_id']."' ORDER BY a.id DESC LIMIT 10";

   $query = mysqli_query($con,$sql);

   $json = include('get-post.php');

   echo json_encode($json);
?>


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 07.10.2017 16:15 | json_encode vracia stale 1

ešte by to chcelo súbor get-post.php
I keď... neviem si predstaviť, že by toto mohlo nejako fungovať. No ukáž ešte ten súbor a hneď bude jasno.


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Správca fóra
Správca fóra
json_encode vracia stale 1

Registrovaný: 08.08.09
Príspevky: 12446
Témy: 38 | 38
NapísalOffline : 07.10.2017 17:15 | json_encode vracia stale 1

Toto je čo?
Kód:
$json = include('get-post.php');
echo json_encode($json);

include vráti 1, ak súbor načíta - ty to uložíš do premennej $json a json_encode(1) = 1.


_________________
always is always wrong
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 31.07.07
Prihlásený: 09.01.19
Príspevky: 327
Témy: 85 | 85
Bydlisko: Humenné
Napísal autor témyOffline : 07.10.2017 19:03 | json_encode vracia stale 1

aha, a ako to urobiť, aby to nevypisovalo?

// Spojený príspevok Sob 07.10.17 19:03

BX píše:
ešte by to chcelo súbor get-post.php
I keď... neviem si predstaviť, že by toto mohlo nejako fungovať. No ukáž ešte ten súbor a hneď bude jasno.

funguje to, akurát to vypisuje tú jednotku, ktorú tam nechcem :(


Offline

Správca fóra
Správca fóra
json_encode vracia stale 1

Registrovaný: 08.08.09
Príspevky: 12446
Témy: 38 | 38
NapísalOffline : 07.10.2017 19:49 | json_encode vracia stale 1

Jednoducho...neukladať výsledok include do žiadnej premennej.


_________________
always is always wrong
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 08.10.2017 10:10 | json_encode vracia stale 1

Ten include funguje v prípade, že súbor končí returnom. Preto chcem vidieť súbor get-post.php.


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 31.07.07
Prihlásený: 09.01.19
Príspevky: 327
Témy: 85 | 85
Bydlisko: Humenné
Napísal autor témyOffline : 08.10.2017 14:15 | json_encode vracia stale 1

toto je súbor get-post, iba to vypisuje články z db

Kód:
                                <?php
                                while($row=mysqli_fetch_assoc($query)){
                                ?>                               
                                <div class="category-id" id="<?php printf($row['id']); ?>">
                                <div class="post-id" id="<?php printf($row['idclanok']); ?>">
                                <div class="intresting_post col-md-12">
                                    <a class="img-link" href="blogdetail.php?id=<? printf($row["idclanok"]); ?>">
                                        <span class="span-date"><? printf($row["day"]); ?><span><? printf($row["month"]); ?></span></span>
                                        <img src="<? printf($row["image"]); ?>" alt="img">
                                    </a>
                                    <div class="about_post">
                                        <div class="author"><span><? printf($row["category"]); ?></span> od <? printf($row["autor"]); ?></div>
                                        <span class="about_soc">
                                            <a href="#"><i class="fa fa-comment-o"></i> 32</a>
                                            <a href="#"><i class="fa fa-heart-o"></i> 21</a>
                                        </span>
                                        <br><br>
                                        <h3><? printf($row["title"]); ?></h3>
                                        <p><? printf(short_str($row['post'], 200)); ?></p>
                                    </div>
                                    <a class="button" href="blogdetail.php?id=<? printf($row["idclanok"]); ?>">Viac</a>
                                    <div class="share_block">
                                       
                                        <div class="text-social clearfix">
                                            <p>SHARE </p>
                                            <a class="twitter" target="_blank" href="#"><i class="fa fa-twitter"></i></a>
                                            <a class="facebook" target="_blank" href="https://www.facebook.com/sharer.php?u=http://www.zenskysvet.eu/blogdetail.php?id=<? printf($row["idclanok"]) ?>"><i class="fa fa-facebook"></i></a>
                                            <a class="linkedin" target="_blank" href="#"><i class="fa fa-linkedin"></i></a>
                                            <a class="pinterest" target="_blank" href="#"><i class="fa fa-pinterest-p"></i></a>
                                            <a class="instagram" target="_blank" href="#"><i class="fa fa-instagram"></i></a>
                                        </div>
                                    </div>
                                </div>
                                </div>
                                </div>
                                <?}?>


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 08.10.2017 14:26 | json_encode vracia stale 1

No vidíš, tak práve v ňom je problém. Máš trochu bordel medzi okamžitým a ajax renderingom.
Keď zavoláš ajax, vráti sa ti to, čo tá url vypíše. Takže môžeš ísť normálne v prehliadači na tú url /loadMoreData.php s nejakými parametrami a pozerať, čo to vypíše. To len na úvod... a teraz problém:
Vo funkcií done v javascripte predpokladáš, že sa ti vráti už hotové HTML. To potom naozaj nechápem, prečo používaš json_encode funkciu - rozhodni sa teda, či chceš json, alebo html. V tomto prípade očividne chceš html, takže žiadne json_encode nepotrebuješ. Ajax ti potom vráti jednoducho string, ktorý obsahuje vygenerované html.
Takže v php potrebuješ jednoducho vypísať platné html. Choď teda na tú stranku /loadMoreData.php a posnaž sa, aby ti zobrazila html s článkami. Zistíš, že treba zrušiť json_encode a tiež že žiadnu premennú ti pri include netreba.


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 31.07.07
Prihlásený: 09.01.19
Príspevky: 327
Témy: 85 | 85
Bydlisko: Humenné
Napísal autor témyOffline : 08.10.2017 14:28 | json_encode vracia stale 1

tak už mi to ide dal som namiesto echo return, ale na mobilnom zariadení mi tie ďalšie posts nenačitava pri rolovaní, čím to môže byť?


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 08.10.2017 14:33 | json_encode vracia stale 1

Tým že ti to nejde, dať return miesto echo to nemôže opraviť


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 31.07.07
Prihlásený: 09.01.19
Príspevky: 327
Témy: 85 | 85
Bydlisko: Humenné
Napísal autor témyOffline : 08.10.2017 14:37 | json_encode vracia stale 1

no na počitačovom zariadení prehliadači to funguje, a aj na mobile funguje, len nie akoby som si predstavoval na mobile je trochu inak usporiadaná stránka a tak uživateľ musí úplne ešte prejsť nižšie a až potom sa začnú načítavať ďalšie články


 [ Príspevkov: 11 ] 


json_encode vracia stale 1



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Stále sa mi vracia choroba po športovaní

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Diskusia

30

674

19.01.2025 14:46

tatko Tom

V tomto fóre nie sú ďalšie neprečítané témy.

SERVER PROTOCOL vracia NULL

v Backend

2

451

12.01.2015 14:04

quark

V tomto fóre nie sú ďalšie neprečítané témy.

Piratebay vracia úder – blokuje „antipirátskeho“ ISP

v Novinky

2

763

15.12.2006 22:52

Shit

V tomto fóre nie sú ďalšie neprečítané témy.

AMD (aj s ATI) sa vracia!

v Novinky

1

540

22.05.2007 22:44

Shit

V tomto fóre nie sú ďalšie neprečítané témy.

INEKAFE sa vracia, zahra na TOPFESTe 2010 !

v Diskusia

21

1661

26.01.2010 0:30

sedlák

V tomto fóre nie sú ďalšie neprečítané témy.

Mushkin sa vracia na trh s grafickými kartami

v Novinky

5

775

20.07.2009 18:49

Spirit

V tomto fóre nie sú ďalšie neprečítané témy.

Multiple Display settings mi vracia vždy na pôvodné nastavenie.

v Monitory, televízory a projektory

0

743

18.05.2018 16:41

pauliesuchota

V tomto fóre nie sú ďalšie neprečítané témy.

Stale BIOS

v Windows

5

1075

13.04.2022 17:30

florq

V tomto fóre nie sú ďalšie neprečítané témy.

stále BSOD

v Pevné disky a radiče

8

646

07.11.2009 15:28

napalmex

V tomto fóre nie sú ďalšie neprečítané témy.

Stale zatezenie ??

v AMD

7

569

04.10.2011 11:34

jtbs

V tomto fóre nie sú ďalšie neprečítané témy.

Skype stále crashuje

v Internet, služby a sociálne siete

0

484

11.12.2014 16:42

TwerPie

V tomto fóre nie sú ďalšie neprečítané témy.

subwoofer stale hučí

v Zvuk

7

1230

23.10.2007 16:58

mirec111

V tomto fóre nie sú ďalšie neprečítané témy.

Hamachi - stále offline

v Sieťové programy

1

671

21.06.2012 22:28

majky358

V tomto fóre nie sú ďalšie neprečítané témy.

Windows stále padá

v Windows

19

1299

08.04.2013 19:36

sp33d

V tomto fóre nie sú ďalšie neprečítané témy.

stále bootuje Windows

v Windows

8

802

05.01.2010 21:34

romik001

V tomto fóre nie sú ďalšie neprečítané témy.

Notebook stále ide

v Notebooky a netbooky

11

401

11.12.2024 13:04

tatko Tom



© 2005 - 2026 PCforum, edited by JanoF