Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] 1 pętla 2 tabele do obsługi
Forum PHP.pl > Forum > PHP
Lejto
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.        }
Pr0100
mozesz pobrać 2 tabele za pomocą jednego zapytania zobacz tutaj
Lejto
ale jak zbudować takie zapytanie? coś mi nie idzie..
golaod
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.
Lejto
no pokazuje komentarz do danego zdjęcia

jak to zapytanie skonstruować?
golaod
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.       }
Lejto
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.        }
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.