Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pobieranie więcej niż jednej tablice z MySQL
Forum PHP.pl > Forum > Przedszkole
BugsBunny
Witam mam chyba dość łątwy do roziwąani problem jednak sam coś tego nie moge zrobić i nie wiem dlaczego

MAM SOBIE TAKI KOD KTÓRY DZIAŁA BO NAPISANY Z MYSŁA DO WYŚWIETLANIA TYLKO JEDNEGO KOMPLETU INFORMACJI
  1. <?php
  2.  
  3.  $zapytanie = 'SELECT * FROM `forum_fora` ';
  4. include ('dane.inc');
  5. $dblink = @mysql_connect($host,$user,$pass);
  6.  if (empty($dblink))
  7.  { echo "błąd przy podłączaniu do bazy dancyh";
  8.  }
  9. if (mysql_select_db($db,$dblink) !== TRUE)
  10. { echo "błądz przy wybieraniu bazy danych";
  11. }
  12. $wynik = mysql_query($zapytanie);
  13.  
  14.  
  15.  $wiersze = mysql_fetch_array($wynik);
  16.  
  17. $dforum[0] = array('FORUMID' => $wiersze['fforum_id'],
  18.  'TYTUL' => $wiersze['ftytul'],
  19. 'PODTYTUL' => $wiersze["fpodtytul"]);
  20.  
  21.  
  22.  
  23. $tpl = new Chameleon;
  24. $tpl -> load('forum.tpl');
  25. $tpl -> setVar('FORUM',$dforum);
  26. $tpl -> display();
  27.  
  28.  
  29. ?>


A TEN JUŻ NIE CHCE DZIAŁAĆ - DLA WIELU

  1. <?php
  2.  
  3.  $zapytanie = 'SELECT * FROM `forum_fora` ';
  4. include ('dane.inc');
  5. $dblink = @mysql_connect($host,$user,$pass);
  6.  if (empty($dblink))
  7.  { echo "błąd przy podłączaniu do bazy dancyh";
  8.  }
  9. if (mysql_select_db($db,$dblink) !== TRUE)
  10. { echo "błądz przy wybieraniu bazy danych";
  11. }
  12. $wynik = mysql_query($zapytanie);
  13.  
  14. for ($i = 0; $i < mysql_num_rows($wynik); $i++) {
  15.  $wiersze = mysql_fetch_array($wynik);
  16.  
  17. $dforum[i] = array('FORUMID' => $wiersze['fforum_id'],
  18.  'TYTUL' => $wiersze['ftytul'],
  19. 'PODTYTUL' => $wiersze["fpodtytul"]);
  20.  }
  21.  
  22.  
  23. $tpl = new Chameleon;
  24. $tpl -> load('forum.tpl');
  25. $tpl -> setVar('FORUM',$dforum);
  26. $tpl -> display();
  27.  
  28. ?>


a oto i template dla nich
  1. <table class="forum">
  2. {@list(FORUM)}
  3. <tr height="15">
  4. <td width="720" class"forum">
  5. <a href="index.php?forum={FORUM[FORUMID]}">{FORUM[TYTUL]}</a>
  6. <p class="forum_nag">&nbsp;&nbsp;&nbsp;&nbsp; {FORUM[PODTYTUL]} </p>
  7. </td>
  8. </tr>
  9. {@end}
  10. </table>


z góry dzięki
nospor
Cytat
MAM SOBIE TAKI KOD KTÓRY DZIAŁA BO NAPISANY Z MYSŁA DO WYŚWIETLANIA TYLKO JEDNEGO KOMPLETU INFORMACJI
Nie krzycz

Cytat
A TEN JUŻ NIE CHCE DZIAŁAĆ - DLA WIELU
Podziel sie z nami łaskwaco, czym ci sie objawia to niedzialanie. jakies errory?
BugsBunny
żadnych błędów
poprostu tam gdzie dodałem pętle for miałem na celu żeby mi pobierało więszkszą ilość danych do tablicy $dforum[i]

bład objawia się tym że wyglada jakby nic się nie zapisało w tej tablicy bo nic nie wyswetla danych pobranych z MySQL a we wcześniejszym przykładzie wyświatla ale tylko pierwszy rekord.




Kod ten ma na celu np. coś takiego że ludzie dodajna newsy a to ma wysweitlić je wszystkie. W bazie jest wiele wpisów ten pierwszy kod wysiwetla tylko pierwszą a ten drugi ma niby wyświetlić wszystkie tyko że nie chce.

Może moglibyście pokazać jakiś wzór wg. którego mógłbym porpsotu wyyświetlić te dane??
Neojawor
jestem na tyle amatorem, że nie do końca wiem o co chodzi w Twoim skrypcie, ale wygląda na to, że chcesz pobrać wszystkie rekordy z tabeli "forum_fora".
Moja propozycja rozwiązania:
  1. <?php
  2. $zapytanie = "select * from forum_fora order by id desc";
  3. $wynik = mysql_query( $zapytanie, $ses_id);
  4. $liczba = mysql_num_rows($wynik);
  5.  
  6. for ($i=0; $i <$liczba; $i++)
  7. {
  8. $wiersz = mysql_fetch_array($wynik);
  9. }
  10. ?>

W tym momencie zmienna $wiersz jest tablicą, gdzie nazwy kolumn brane są z tablicy SQL-owej. Żeby to wyświetlić modyfikujesz to co napisałem u góry:
  1. <?php
  2.  
  3. ...
  4. for ($i=0; $i <$liczba; $i++)
  5. {
  6. $wiersz = mysql_fetch_array($wynik);
  7. echo 'kolumna1: ' . $wiersz['kolumna1'] . ' kolumna2: ' . $wiersz[kolumna2] . ' kolumna3: ' . $wiersz['kolumna3'] . '<br>';
  8. }
  9. ?>

za każdym krokiem pętli for wyświetli Ci jeden wiersz.

O to chodzi?
BugsBunny
no zmieniłem troche ale w sumie nic bo przeciez tak było
  1. <?php
  2. $wynik = mysql_query($zapytanie);
  3. $liczba = mysql_num_rows($wynik);
  4. for ($i = 0; $i <= $liczba; $i++)
  5.  {
  6.  $wiersze = mysql_fetch_array($wynik);
  7.  
  8. $dforum[i] = array(  'FORUMID' => $wiersze['fforum_id'],
  9.  'TYTUL' => $wiersze['ftytul'],
  10. 'PODTYTUL' => $wiersze["fpodtytul"]);
  11.  }
  12.  
  13.  
  14. $tpl = new Chameleon;
  15. $tpl -> load('forum.tpl');
  16. $tpl -> setVar('FORUM',$dforum);
  17. $tpl -> display();
  18. ?>


Tak sobie myślę że chyba cos jest źle z tym przypisywaniem tej tablicy ale nie w sensie że jakaś literówka bo tak jest wsyztko dobrze tylko że np. tak nie mozna albo coś...
nospor
no i tu masz racje: literowka winksmiley.jpg
jest: $dforum[i] =...
powinno byc: $dforum[$i] =...
BugsBunny
laugh.gif nie wiem czy się siać czy płakać

godzine nad tym sterczałem.

Musze się kontrolować

Jeszcze raz dzięki nospor
biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.