[PHP][MYSQL] Wybieranie poszczególnych wierszy


(Zalskill) #1

Pomóżcie proszę, bo już tracę siły. Jak po pobraniu tabeli z bazy danych wyświetlić z dwóch kolumn te same wiersze czyli wpisując pod $zmienną numer wiersza wyświetlałyby się elementy z "Title" i "ID" o tym samym numerze np wpisując "2" wyświetliłoby się Michał 957.

Przykład:

Baza Danych

Title ID

Bartek 224

Michał 957

Adrian 14

Mój kod wyświetla wraz z 1 wierszem z kolumny 1 wszystkie elementy z 2 kolumny(np.Bartek 224, Bartek 957, Bartek 14, Michał 224, Michał 957, Michał 14 itd.)

<?php

$result = mysql_query("SELECT * FROM id, title") or die (mysql_error()); //$a,11

$Num_rows = mysql_num_rows($result);


while ($row = mysql_fetch_array($result, MYSQL_NUM)) 

{

    printf("Title: %s", $row[1]);

    printf("ID: %s", $row[0]);

    echo "";   

}


?>

Jak poprawić ten kod? googlowałem trochę ale nic nie znalazłem sensownego także proszę o pomoc! Proszę o wyrozumiałość, gdyż dopiero co zaczynam pracę z bazami danych. Edit: Mam jeszcze jeden kod który działa prawie dobrze - wyświetla elementy tak jak powinny ale tylko z 1 wiersza

<?php             

            echo '

'; $rezultat = mysql_query("SELECT * FROM id, title") or die (mysql_error()); $record = mysql_fetch_array($rezultat, MYSQL_ASSOC); echo "Title: ".$record['title']; echo "ID: ".$record['id']." "; echo '
'; ?> [/code]


(nic ciekawego) #2

Wystarczy połączyć te dwa przykłady :wink:

$dane = mysql_query("SELECT * FROM id, title"); // bierzesz dane

while($rekord = mysql_fetch_assoc($dane)) // wkładasz w tablice i robisz pętle

{

echo "Title: ".$record['title']; // a tutaj wyświetlasz wynik

echo "ID: ".$record['id'];

};

Wszystko co zawarte jest w klamerkach

{

}

Robi się w pętli Jeżeli chcesz to wyświetlić w tabeli :

$dane = mysql_query("SELECT * FROM id, title"); // bierzesz dane

echo "

| title | id |
| Title: ".$record['title']." | ID: ".$record['id']." |

"[/code]


(Zalskill) #3

Niestety nie działa, wyświetla się to samo co wcześniej, tyle że w tabeli dokładniej tak:

title	id

Title: Kobe Bryant - 81 points ID: 99ptwYqwYAQ

Title: Kobe Bryant - 81 points ID: vU34pdvi07c

Title: Kobe Bryant - 81 points ID: -vSotFqPhx4

Title: Kobe Bryant - 81 points ID: SWrHyYpIYXs

Title: Kobe Bryant - 81 points ID: NsUoAPIz53U

Title: Kobe Bryant - 81 points ID: NsUoAPIz53U

Title: Kobe Bryant - 81 points ID: DQ8DSFbLcu4

Title: Hey - [sic!] kuchnia cover by CeZik	ID: 99ptwYqwYAQ

Title: Hey - [sic!] kuchnia cover by CeZik	ID: vU34pdvi07c

Title: Hey - [sic!] kuchnia cover by CeZik	ID: -vSotFqPhx4

Title: Hey - [sic!] kuchnia cover by CeZik	ID: SWrHyYpIYXs

Title: Hey - [sic!] kuchnia cover by CeZik	ID: NsUoAPIz53U

Title: Hey - [sic!] kuchnia cover by CeZik	ID: NsUoAPIz53U

Title: Hey - [sic!] kuchnia cover by CeZik	ID: DQ8DSFbLcu4

Title: CeZik i internauci - We made a piosenka! (finał projektu)	ID: 99ptwYqwYAQ

Title: CeZik i internauci - We made a piosenka! (finał projektu)	ID: vU34pdvi07c

Title: CeZik i internauci - We made a piosenka! (finał projektu)	ID: -vSotFqPhx4

Title: CeZik i internauci - We made a piosenka! (finał projektu)	ID: SWrHyYpIYXs

Title: CeZik i internauci - We made a piosenka! (finał projektu)	ID: NsUoAPIz53U

Title: CeZik i internauci - We made a piosenka! (finał projektu)	ID: NsUoAPIz53U

Title: CeZik i internauci - We made a piosenka! (finał projektu)	ID: DQ8DSFbLcu4

Title: Kancelaria - Zabiorę Cię (cover) by CeZik	ID: 99ptwYqwYAQ

Title: Kancelaria - Zabiorę Cię (cover) by CeZik	ID: vU34pdvi07c

Title: Kancelaria - Zabiorę Cię (cover) by CeZik	ID: -vSotFqPhx4

Title: Kancelaria - Zabiorę Cię (cover) by CeZik	ID: SWrHyYpIYXs

Title: Kancelaria - Zabiorę Cię (cover) by CeZik	ID: NsUoAPIz53U

Title: Kancelaria - Zabiorę Cię (cover) by CeZik	ID: NsUoAPIz53U

Title: Kancelaria - Zabiorę Cię (cover) by CeZik	ID: DQ8DSFbLcu4

Title: Feel jak anioła głos... prawie jak top trendy 2008 :)	ID: 99ptwYqwYAQ

Title: Feel jak anioła głos... prawie jak top trendy 2008 :)	ID: vU34pdvi07c

Title: Feel jak anioła głos... prawie jak top trendy 2008 :)	ID: -vSotFqPhx4

Title: Feel jak anioła głos... prawie jak top trendy 2008 :)	ID: SWrHyYpIYXs

Title: Feel jak anioła głos... prawie jak top trendy 2008 :)	ID: NsUoAPIz53U

Title: Feel jak anioła głos... prawie jak top trendy 2008 :)	ID: NsUoAPIz53U

Title: Feel jak anioła głos... prawie jak top trendy 2008 :)	ID: DQ8DSFbLcu4

Title: Feel jak anioła głos... prawie jak top trendy 2008 :)	ID: 99ptwYqwYAQ

Title: Feel jak anioła głos... prawie jak top trendy 2008 :)	ID: vU34pdvi07c

Title: Feel jak anioła głos... prawie jak top trendy 2008 :)	ID: -vSotFqPhx4

Title: Feel jak anioła głos... prawie jak top trendy 2008 :)	ID: SWrHyYpIYXs

Title: Feel jak anioła głos... prawie jak top trendy 2008 :)	ID: NsUoAPIz53U

Title: Feel jak anioła głos... prawie jak top trendy 2008 :)	ID: NsUoAPIz53U

Title: Feel jak anioła głos... prawie jak top trendy 2008 :)	ID: DQ8DSFbLcu4

Title: DRUMSTICK SPINNING, LESSON ONE!	ID: 99ptwYqwYAQ

Title: DRUMSTICK SPINNING, LESSON ONE!	ID: vU34pdvi07c

Title: DRUMSTICK SPINNING, LESSON ONE!	ID: -vSotFqPhx4

Title: DRUMSTICK SPINNING, LESSON ONE!	ID: SWrHyYpIYXs

Title: DRUMSTICK SPINNING, LESSON ONE!	ID: NsUoAPIz53U

Title: DRUMSTICK SPINNING, LESSON ONE!	ID: NsUoAPIz53U

Title: DRUMSTICK SPINNING, LESSON ONE!	ID: DQ8DSFbLcu4

(nic ciekawego) #4

Moja pomyłka xD, nie doczytałem.

Wyświetli rekord o ustalonym id

$id = 2; // ustawiasz id które ma być wyświetlone

$dane = mysql_query("SELECT * FROM id, title WHERE id=".$id."") or die ("");

$rekord = mysql_fetch_array($dane);

echo $rekord['id']."-".$rekord['title'];

(Zalskill) #5

Niestety nie działa. Dla 0 podaje 1 wiersz z "Title" i 2 z "ID".

Przy cyfrach większych wyświetla się tylko "-"


(nic ciekawego) #6

A...

W strukturze bazy przydała by się kolumna z właściwością AUTO_INCREMENT. Id się niestety powtarza co wyklucza moje rozwiązanie.


(Zalskill) #7

W takim razie utworzę bazę jeszcze raz i zobaczymy co z tego wyjdzie dzięki mistrzu :slight_smile: