Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]Blad w zapytaniu sql
eminiasty
post
Post #1





Grupa: Zarejestrowani
Postów: 267
Pomógł: 0
Dołączył: 11.09.2015

Ostrzeżenie: (0%)
-----


Witam, mam pewnien problem dotyczacy zwracania wynikow w paginacji, kod paginacji jest tu:(raczej samego przetwarzania)
  1. $result= mysqli_query($link,$query) or die(mysqli_error());
  2. $row = mysqli_fetch_array($result);
  3. extract($row);
  4.  
  5. $onpage = 10;
  6. $navnum = 7;
  7. $allpages = ceil($all_posts/$onpage);
  8.  
  9. if(!isset($_GET['page']) or $_GET['page'] > $allpages or !is_numeric($_GET['page']) or $_GET['page'] <= 0){
  10. $page = 1;
  11. }else{
  12. $page = $_GET['page'];
  13. }
  14. $limit = ($page - 1) * $onpage;



Zapytanie wyglada nastepujaco:
Problem polega na tym, iż dane sa zwracana na podstawie kategori a nie newsow. Czyli jak powinno byc
$onpage = 10; newsow na stronie to wyswietla ich np 2 jesli sa 2 po 5 kategori w jednym. Jak przerobic to zapytanie by wyswietlal po newsach, a nie po kategoriach?
Probowalem GROUP BY news_id lecz to nie w tym rzecz bo potem sa kategorie nie wyswietlane ..;/
  1. $query1 ="
  2. SELECT ".$prefix."news.*,".$prefix."users.*,".$prefix."news_categories.*,".$prefix."categories.*
  3. FROM ".$prefix."news
  4. JOIN ".$prefix."users
  5. ON ".$prefix."news.users_id = ".$prefix."users.users_id
  6. JOIN ".$prefix."news_categories
  7. ON ".$prefix."news.news_id = ".$prefix."news_categories.news_id
  8. JOIN ".$prefix."categories
  9. ON ".$prefix."categories.categories_id = ".$prefix."news_categories.categories_id
  10. ORDER BY news_date_add
  11.  
  12. LIMIT $limit, $onpage";


Zauwazylem ze glowny blad jest w

  1. JOIN ".$prefix."news_categories
  2. ON ".$prefix."news.news_id = ".$prefix."news_categories.news_id

bo przyrownuje jednego newsa (jedno id) do kilku kategori czyli tego samego id , tylko nie wiem jak to zmienic zeby bylo poprawnie..;/


Ten post edytował eminiasty 4.02.2016, 13:12:18
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
eminiasty
post
Post #2





Grupa: Zarejestrowani
Postów: 267
Pomógł: 0
Dołączył: 11.09.2015

Ostrzeżenie: (0%)
-----


rzuca mi sie tylko slowo jak?
W ktorym miejscu takie ograniczegnia powinny byc umieszczone? to powinno byc zrobione w postaci ifa czy inaczej?

Cytat
no to musisz ograniczyć wyświetlanie w inny sposób, powiedzmy przyjac pesymistyczny przypadek czyli 10xkategoria

czy chodzi ci o to aby ilosc wyswietlanych posotw na stronie podniesc np do 100? co w przypadku postow z kiludziesieciowam kategoriami zmniejszy liczebnosc? przeciez to nie rozwiazuje problemu, pozatym kazda strona bedzie zawiaerac inna liczbe postow

to jest moje wyswietlanie:

  1. ....
  2. //wyswietlanie danych
  3. echo '<table class="table">
  4. <thead>
  5. <tr>';
  6. echo'<th>LOGIN </th>';
  7. echo'<th>TYTUL</th>
  8. <th>KATEGORIA</th>
  9. <th>DATA ADD</th>
  10. <th>DATA END</th>
  11. <th>WYŚ</th>
  12. </tr>
  13. </thead>
  14. <tbody>
  15. ';
  16. foreach ($newst as $id => $newsy){ //petla, która leci po newsach
  17. echo '<tr>
  18. <td>'.$newsy['users'].'</td>
  19. <td>'.$newsy['name'].'</td><td>';
  20. foreach ($newsy['categories'] as $cat){ //pętla, która leci po kategoriach w newsach
  21. echo"<span class='rama label' style='color:#".$cat['color']."; background-color:".$cat['bg'].";'>".$cat['name']."</span>";
  22. }
  23. echo '</td><td>'.$newsy['date_add'].'</td>
  24. </td><td>'.$newsy['date_end'].'</td>
  25. </td><td>'.$newsy['display'].'</td>
  26. ';
  27. echo'<td>
  28. <a href="mod.php?s=news&a=czytaj&id='.$id.'" data-original-title="Czytaj" data-toggle="tooltip" type="button" class="btn btn-xs btn-success"><i class="fa fa-fw fa fa-comment"></i></a>
  29. </td>';
  30. echo'<td>
  31. <a href="mod.php?s=news&a=edytuj&id='.$id.'" data-original-title="Edytuj" data-toggle="tooltip" type="button" class="btn btn-xs btn-primary"><i class="fa fa-fw fa fa-pencil-square-o"></i></a>
  32. </td>';
  33. echo'<td>
  34. <a href="mod.php?s=news&a=usun&id='.$id.'" id="js-news-usun" data-original-title="Usuń" data-toggle="tooltip" type="button" class="btn btn-xs btn-danger js-are-you-sure"><i class="fa fa-fw fa fa-trash"></i></a>
  35. </td>';
  36.  
  37. }
  38. echo '</tr>
  39. </tbody>
  40. </table>';
  41.  
  42. }


Ten post edytował eminiasty 4.02.2016, 15:14:56
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 12:28