Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlenie z gory zadeklarowanej ilosci rekordow z bazy mysql w tabeli
Forum PHP.pl > Forum > PHP
kamilkomo
Witam

Mam pewna tabele danych w której jest pewna ilość rekordów. Chciał bym wyświetlić z niej nie więcej jak np: 10 rekordów które zostały by umieszczone w tabeli. To co ja zrobiłem, nie do końca się sprawdza gdyż wyświetla wszystko, cala zawartość danej tabeli z bazy.

Każdy wyświetlony rekord z bazy poprzedzony jest nazwami kolumn. Chciał bym aby nazwy kolumn były tylko w pierwszym wierszu tabeli i nie powtarzały się po każdym wyświetlonym rekordzie w tabeli. Mój kod przedstawiam poniżej..............

Kod
<?php

     $connection = @mysql_connect('******', '*****', '*****')

         or die('Brak połączenia z serwerem MySQL.<br />blad '.mysql_error());

     echo "Udało się połąćzyć z serwerem!<br />";

     $db = @mysql_select_db('********', $connection)

        or die('Nie mogę połączyć się z bazą danych<br />blad: '.mysql_error());

     echo "Udało się połączyć z bazą danych!";

     $wynik = mysql_query("SELECT * FROM books ") or die ('Błąś zapytania');

if(mysql_num_rows($wynik) > 0) {

    echo "<table cellpadding=1 border=1 id=tabela >";
    while($r = mysql_fetch_assoc($wynik)) {
        echo "<tr>";
                echo "<td><b>Tytul</b></td>";
                echo "<td>Autor</td>";
                echo "<td>Wydawnictwo</td>";
                echo "<td>Rok wydania</td>";
                echo "<td>Szkola</td>";
                echo "<td>Klasa</td>";
                echo "</tr>";
                
                
                
                echo "<tr>";
        echo "<td>".$r['tytul']."</td>";
        echo "<td>".$r['autor']."</td>";
                echo "<td>".$r['wydawnictwo']."</td>";
                echo "<td>".$r['rokwydania']."</td>";
                echo "<td>".$r['szkola']."</td>";
                echo "<td>".$r['klasa']."</td>";
                
        echo "</tr>";
    }
    echo "</table>";
        
}

?>


Aha, przy okazji możne ktoś coś będzie miał na ten temat. A mianowicie chodzi mi o zrobienie linku do zawartości tabeli w bazie. Czyli na jakiejś tam stronie mam wyświetlone 3 z 8 kolumn z danego rekordu. I chodzi mi o zrobienie BUTTONA coś w stylu "SZCZEGÓŁY" po kliknięciu którego odpali się strona z pełną zawartością danego wpisu w tabeli, czyli 8 pól z 8 danego rekordu.

Z góry dziękuje za pomoc smile.gif
Pawel_W
no to może wyciągnij nazwy kolumn przed pętlę? blinksmiley.gif

a do wyciągania określonej ilości rekordów służy LIMIT smile.gif
kamilkomo
hehe że ja na to nie wpadłem tongue.gif

Dzięki kolego smile.gif

Jeszcze jak by te linki ktoś coś podpowiedział biggrin.gif
Pawel_W
dodaj dodatkowe pole o nazwie id w bazie danych i twórz linki w stylu plik.php?id=ID_REKORDU, no a potem już chyba wiesz jak to pobrać smile.gif
kamilkomo
mogl bys mi podac na jakims przykladzie jak to wyglada, choroba nie daje rady z tym linkiem sad.gif
AndyPSV
mysql_query("SELECT * FROM books LIMIT 10");
10 - to wartosc ile chcesz rekordow

zapewne chcialbys dodac jeszcze sortowanie po ostatnim dodanym rekordzie, w tym celu musisz


mysql_query("SELECT * FROM books ORDER BY id DESC LIMIT 10");


co do wybierania rekordu to musisz utworzyc PRIMARY KEY -> id, z wartoscia AUTO_INCREMENT

wybierasz:

mysql_query('SELECT * FROM books WHERE id = '.$_GET['id']), gdzie $_GET


kup sobie ksiazke o PHP, poczatki bywaja trudne, nie wytlumacze ci tego "ot tak"
albo zaplac komus, aby to zrobic za ciebie

pozdrawiam
kamilkomo
Zrobilem tak >>

Kod
$wynik = mysql_query("SELECT * FROM books LIMIT 5") or die ('Błąś zapytania');

if(mysql_num_rows($wynik) > 0) {

    echo "<table bgcolor=#ffffff border=1 id=tabela algin=center rules=groups cellpadding=1  width=798>";
        
            echo "<rowgroup span=1>";
            echo "<row span=1 valign=top/>";
            echo "</rowgroup>";
            echo "<rowgroup span=1>";
            echo "<row valign=bottom />";
        echo "<row />";
            echo "</rowgroup>";

        
        
                echo "<tr>";
                echo "<td class=helpHed><b>Tytul</b></td>";
                echo "<td class=helpHed><b>Autor</b></td>";
                echo "<td class=helpHed><b>Wydawnictwo</b></td>";
                echo "<td class=helpHed><b>Rok wydania</b></td>";
                echo "<td class=helpHed><b>Szkola</b></td>";
                echo "<td class=helpHed><b>Klasa</b></td>";
                echo "<td class=helpHed></td>";
                echo "</tr>";
                
    while($r = mysql_fetch_assoc($wynik)) {
                
                $id_ksiazka=$r['id_ksiazka'];
                
                echo "<tr>";
                echo "<rowgroup>";
        echo "<td id=wiersz>".$r['tytul']."</td>";
        echo "<td id=wiersz>".$r['autor']."</td>";
                echo "<td id=wiersz>".$r['wydawnictwo']."</td>";
                echo "<td id=wiersz>".$r['rokwydania']."</td>";
                echo "<td id=wiersz>".$r['szkola']."</td>";
                echo "<td id=wiersz>".$r['klasa']."</td>";
                echo '<td id=wiersz><form action=szczegoly.php method=post><a href="szczegoly.php?id='.($r[id_ksiazka]).'">Zobacz</a></td>';
                echo "</rowgroup>";
        echo "</tr>";
                
    }
    echo "</table>";


ale nie przekazuje mi zmiennej na kolejna strone i wywala mi takie bledy :

Notice: Use of undefined constant id_ksiazka - assumed 'id_ksiazka' in /home/meblepulawy/ftp/books/main.php on line 99 co po kliknieciu w ZOBACZ daje taki blad >>

Notice: Undefined index: id_ksiazka in /home/meblepulawy/ftp/books/szczegoly.php on line 59

AndyPSV jak masz zamiar pisac takie posty to nie pisz w cale...........................

Bede wdzieczny za pomoc
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.