Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]Ostatnie 4 obrazki z bazy prowadzące do stron z zawartością rekordów
Forum PHP.pl > Forum > Przedszkole
parasite
Na początku się przywitam smile.gif

Moje sprawa wygląda następująco:

Istnieje index.php, który zawiera w sobie podstawowe rzeczy jak menu, inkludowane połączenie z bazą + pare innych rzeczy. W treści strony (defaultowo) chce wyświetlić 4 ostatnie rekordy z bazdy danych. Jednocześnie będące odnośnikami do strony z zawartością rekordu.

Może zagmatwałem, wyobraźcie sobie index który zawiera 4 miniaturki gier flash.
Aplikacje flash czerpane z zewnetrznych adresow, w bazie zapisane jako:

***
  1. --
  2. -- Struktura tabeli dla `aplikacje`
  3. --
  4.  
  5. CREATE TABLE `aplikacje` (
  6. `id_flash` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  7. `description` text,
  8. `title` varchar(50) DEFAULT NULL,
  9. `url` varchar(100) DEFAULT NULL,
  10. `miniatura` varchar(100) DEFAULT NULL,
  11. PRIMARY KEY (`id_flash`)
  12. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=9 ;

***

Miniaturki są czerpane z zewnetrznych adresow, w bazie w polu miniatura widnieje:

http://jakis.serwer.com/obrazek.jpg
i wyciagam to przez wpisanie ID aplikacji :

  1. <?php
  2. mysql_connect('localhost', $username, $password);
  3. @mysql_select_db($database) or die("Nie udalo sie wybrac bazy danych!"); 
  4. $dane=mysql_query("SELECT * FROM aplikacje WHERE id_flash = '".$_POST['pokaz']."'"); 
  5. while ($rekord=mysql_fetch_array($dane))
  6. ?>


dalej analogicznie mogę sobie wyświetlić zalozmy miniature:
  1. <?php
  2. echo '<td><div align="left" class="style16"><img src="'.$rekord['miniatura'].'" /></div></td>';
  3. ?>

albo cala gre:
  1. <?php
  2. echo '<object style="width: "578"; height: "310"; MARGIN-LEFT: auto; MARGIN-RIGHT: auto;" classid=  "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="578" height="310">';
  3. echo '<param name="allowScriptAccess" value="sameDomain" />';
  4. echo '<param name="movie" value="'.$rekord['url'].'" />';
  5. echo '<param name="quality" value="high" />';
  6. echo '<param name="SCALE" value="exactfit" />';
  7. echo '<embed src="'.$rekord['url'].'" width="578" height="310" quality="high"  allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" scale="exactfit" /></embed>';
  8. echo '</object>';
  9. ?>

To na stronie...

Teraz stworzyłem tabele w index.php w tresci strony - 2 wiersze i 2 kolumny. Chce zrobic tak by w tych polach tabeli wyswietlily sie ostatnie 4 dodane aplikacje flash tzn. ich miniatury (tak samo jak przy POST) z zewnetrznych linkow. Jednoczesnie chce by te miniatury prowadzily do tego samego index.php albo do index_pokaz.php w ktorym zostanie wyświetlona dana aplikacja (jedna z tych 4 ostatnich wyciagnietych z bazy na stronie glownej w tabeli) z tym, ze tu nie wchodzi w gre $_POST tylko $_GET (chyba?). Mam nadzieje ze wyrazilem sie dobrze i jasno ... tak jak na serwisach prezentujacych gry flash. Sa miniatury, po wejsciu w nie wyswietla sie gra.

Moje pytania:
1. Jak wyswietlic ostatnie 4 rekordy (miniatry) przy uzyciu DESC
2. Jak (po wyświetleniu tych miniatur) zaznaczyc to ze dana miniatura o ID = ostatnim lub ID = przedostatnim itd. do 4 (dodanym do bazy) jest linkiem do strony zawierajacej aplikacje, której ID = ID miniatury w ktora uzytkownik kliknal na poprzedniej stronie
3. Z jakimi zmianami to sie wiaze jezeli chodzi o adresy tych "generowanych" podstron itp.

Pozdrawiam.
kossa
1.

  1. SELECT * FROM aplikacje WHERE id_flash = '".$_POST['pokaz']."' ORDER BY id_flash DESC LIMIT 4


2.

zabardzo nie wiem o co Tobie chodzi


Łukasz
parasite
Nie chodzi o to zeby wyswietlac przy uzyciu POSTa tylko wyswietlac poprostu 4 ostatnio dodane.

W drugim pytaniu chodzi o to ze te miniatury zalozmy ze ostatnio dodane 4 aplikacje maja id w bazie:

id_flash = 31
id_flash = 32
id_flash = 33
id_flash = 34

maja byc linkami prowadzacymi do strony ktora wyswietli np. id flash = 31 (aplikacje),jezeli uzytkownik kliknal w jedna z tych 4 miniatur a jej url jest przypisany do aplikacji id = 31.
Cienki1980
Co do tworzenia linków prowadzących do gier można zrobić to tak ( zakładam, że wyciągasz dane o grach za pomocą zapytania pokazanego przez kossa):

  1. <?php
  2. $res=mysql_query($zapytanie_by_kossa);
  3. while($row=mysql_fetch_array($res))
  4. {
  5.  echo "<a href="strona_z_grami.php?flash_id=".$row['id_flash']."">
  6. <img src="".$row['url']."" border="0"></a>";
  7. }
  8. ?>
parasite
Y... Ja nie chce wyciagac miniatury i robic z niej linka poprzez podanie ID w input textarea, chce zeby po otwarciu strony glownej bezposrednio pojawily sie 4 ostatnie rekordy i linki do podstrony prezentujacej aplikacje przypisana tym 4 rekordom (ale jedną) smile.gif

Jezeli jest POST to musze cos wyslac a nie chce tego robic, chce zeby defaultowo na stronie wisiały 4 miniatury bedace linkami ...
kossa
  1. SELECT * FROM aplikacje ORDER BY id_flash DESC LIMIT 4


to wyciąga 4 ostatne aplikacje

co do linków to ja Ciebie nie rozumiem, @cienki1980 nie podał żdanego przykładu na input czy textarea...

Łukasz
parasite
no ale Ty w przykladzie uzyles post ktory wczesniej musial polegac na wyslaniu czegos do strony ktora prezentuje wyniki, a ja chce tylko wyswietlic (nie uzywajac post) ostatnie 4 tak zeby byle jednoczesnie linkami
Cienki1980
Cytat(parasite @ 16.03.2007, 05:16:05 ) *
no ale Ty w przykladzie uzyles post ktory wczesniej musial polegac na wyslaniu czegos do strony ktora prezentuje wyniki, a ja chce tylko wyswietlic (nie uzywajac post) ostatnie 4 tak zeby byle jednoczesnie linkami


Hmm ja nie zauważyłem, że kossa podał w swoim zapytaniu coś pobieranego z POST. W drugim zrobił już bez tego, więc drugie zapytanie kossy z moim kodem powinno dać Ci 4ry linki z miniaturkami prowadzącymi do gier flash.
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.