Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] 1 pętla 2 tabele do obsługi
Lejto
post 16.06.2009, 22:17:33
Post #1





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


Wyświetlam zdjęcia z galerii i chce pod każdym zdjęciem mieć ostatni dodany komentarz i z tym mi nie wychodzi. Dodać jeszcze 1 pętle czy jak? Kod mam taki
  1. <?
  2. $sql =
  3.            $db->query('select obraz,data_dodania,id,opis,wyswietlen from galeria order by id desc LIMIT '.$strona.', '.$ile_na_strone.'');
  4.            $rows = $sql->num_rows;
  5.        $q = $db->query('select komm,data,nick from galeria_komentarze order by id desc limit 1');
  6.        $r = $q->num_rows;
  7.  
  8.        
  9.        for($i=0; $i < $rows; $i++)
  10.        {
  11.           $row = $sql->fetch_array();
  12.           $r = $q->fetch_array();
  13.          
  14.           $data = substr($row['data_dodania'], 0,8);
  15.           ?>
  16.           <div id="gal2" class="obraz">
  17.    
  18.                            <dl><dd class="img">
  19.                            <a href="foto/<?=$row['id']; ?>/" title="<?=$row['opis'];?>">
  20.                            <img src="miniatury/<?=$row['obraz'];?>"  align="center">
  21.                            </a>
  22.                            </dd></dl>    
  23.                            <div style="text-align:center;">&raquo; Data dodania: <?=$data; ?></div>
  24.                            <div style="text-align:center;">&raquo; Wyświetleń: <?=$row['wyswietlen']; ?></div>
  25.                            <div style="text-align:center;">&raquo; Dodał(a): <?=$row['nick']; ?></div>
  26.                            
  27.                            
  28.                            <div class="comment_top"></div>
  29.                            <div class="comment" style="text-align:left;">
  30.                            <p class="comment"><?=$r[komm]; ?></p>
  31.                            </div>
  32.                            <div class="comment_bottom"></div>
  33.                            <p class="comment"><?=$r[nick]; ?></p>
  34.                            <p class="datetime" style="text-align:left;"><?=$r[data]; ?></p>
  35.                            </div>
  36.                            <?
  37.                            
  38.        }


Ten post edytował Lejto 16.06.2009, 22:21:51


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Pr0100
post 16.06.2009, 22:22:08
Post #2





Grupa: Zarejestrowani
Postów: 114
Pomógł: 24
Dołączył: 18.01.2008
Skąd: Warszawa

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


mozesz pobrać 2 tabele za pomocą jednego zapytania zobacz tutaj

Ten post edytował Pr0100 16.06.2009, 22:23:59


--------------------
Go to the top of the page
+Quote Post
Lejto
post 17.06.2009, 12:54:37
Post #3





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


ale jak zbudować takie zapytanie? coś mi nie idzie..


--------------------
Go to the top of the page
+Quote Post
golaod
post 17.06.2009, 12:59:18
Post #4





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

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


A Twoje drugie zapytanie do wyciągania komentarzy, co ma w ogóle wspólnego ze zdjęciem z którym ma być połączone ?
W drugim zapytaniu musisz dodać np.
  1. WHERE zdjecie_id = 5

gdzie 5 to id zdjęcia dla którego ma być wyciągnięty komentarz.
Go to the top of the page
+Quote Post
Lejto
post 17.06.2009, 13:59:15
Post #5





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


no pokazuje komentarz do danego zdjęcia

jak to zapytanie skonstruować?


--------------------
Go to the top of the page
+Quote Post
golaod
post 17.06.2009, 14:24:53
Post #6





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

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


Chyba pomyliłeś działy kolego... skoro nie umiesz skonstruować zapytania na podstawie tego, co Ci podałem.
  1. <?php
  2. $sql =
  3.           $db->query('select obraz,data_dodania,id,opis,wyswietlen from galeria order by id desc LIMIT '.$strona.', '.$ile_na_strone.'');
  4.           $rows = $sql->num_rows;
  5.      
  6.  
  7.      
  8.       for($i=0; $i < $rows; $i++)
  9.       {
  10.          $row = $sql->fetch_array();
  11.          $q = $db->query('select komm,data,nick from galeria_komentarze WHERE id_zdjecia = '.$row['id_zdjecia'].' order by id desc limit 1'); // domyśl się albo zmień dział albo poczytaj o podstawach
  12.          $r = $q->fetch_array();
  13.          
  14.          $data = substr($row['data_dodania'], 0,8);
  15.          ?>
  16.          <div id="gal2" class="obraz">
  17.    
  18.                           <dl><dd class="img">
  19.                           <a href="foto/<?=$row['id']; ?>/" title="<?=$row['opis'];?>">
  20.                           <img src="miniatury/<?=$row['obraz'];?>"  align="center">
  21.                           </a>
  22.                           </dd></dl>    
  23.                           <div style="text-align:center;">&raquo; Data dodania: <?=$data; ?></div>
  24.                           <div style="text-align:center;">&raquo; Wyświetleń: <?=$row['wyswietlen']; ?></div>
  25.                           <div style="text-align:center;">&raquo; Dodał(a): <?=$row['nick']; ?></div>
  26.                            
  27.                          
  28.                           <div class="comment_top"></div>
  29.                           <div class="comment" style="text-align:left;">
  30.                           <p class="comment"><?=$r[komm]; ?></p>
  31.                           </div>
  32.                           <div class="comment_bottom"></div>
  33.                           <p class="comment"><?=$r[nick]; ?></p>
  34.                           <p class="datetime" style="text-align:left;"><?=$r[data]; ?></p>
  35.                           </div>
  36.                           <?
  37.                          
  38.       }


Ten post edytował golaod 17.06.2009, 14:25:19
Go to the top of the page
+Quote Post
Lejto
post 17.06.2009, 15:21:45
Post #7





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


robiłem już tak..
nie działa tak jak powinno
mam tak:
  1. <?
  2. $sql =
  3.            $db->query('select obraz,data_dodania,id,opis,wyswietlen from galeria order by id desc LIMIT '.$strona.', '.$ile_na_strone.'');
  4.            $rows = $sql->num_rows;
  5.        
  6.        for($i=0; $i < $rows; $i++)
  7.        {
  8.           $row = $sql->fetch_array();
  9.                $q = $db->query('select komm,data,nick,id from galeria_komentarze  where id = "'.$row['id'].'" order by id desc limit 1');
  10.            $r = $q->fetch_array();
  11.  
  12.           $data = substr($row['data_dodania'], 0,8);
  13.           ?>
  14.           <div id="gal2" class="obraz">
  15.    
  16.                            <dl><dd class="img">
  17.                            <a href="foto/<?=$row['id']; ?>/" title="<?=$row['opis'];?>">
  18.                            <img src="miniatury/<?=$row['obraz'];?>"  align="center">
  19.                            </a>
  20.                            </dd></dl>    
  21.                            <div style="text-align:center;">&raquo; Data dodania: <?=$data; ?></div>
  22.                            <div style="text-align:center;">&raquo; Wyświetleń: <?=$row['wyswietlen']; ?></div>
  23.                            <div style="text-align:center;">&raquo; Dodał(a): <?=$row['nick']; ?></div>
  24.                            
  25.                            
  26.                            <div class="comment_top"></div>
  27.                            <div class="comment" style="text-align:left;">
  28.                            <p class="comment"><?=$r[komm]; ?></p>
  29.                            </div>
  30.                            <div class="comment_bottom"></div>
  31.                            <p class="comment"><?=$r[nick]; ?></p>
  32.                            <p class="datetime" style="text-align:left;"><?=$r[data]; ?></p>
  33.                            </div>
  34.                            <?
  35.                            
  36.        }


Ten post edytował Lejto 17.06.2009, 16:23:40


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 02:36