Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php. mysql]Pobieranie Rekordu z bazy przez id
Przemo_
post
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 1
Dołączył: 12.06.2007

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


Witam
Mam problem.
Tworzę serwis z filmami. Mam problem z wyświetlaniem rekordu z bazy danych poprzez GET id
Film.php
  1. <?php
  2. include("ustawienia.php");
  3.  
  4. $connection = mysql_connect($host,$sql_login,$sql_pass);
  5. $db = mysql_select_db($db_base, $connection);
  6. $zapytanie = "SELECT `id`,`nazwa`,`embed`,`autor` FROM `movie` WHERE `id`='".$id."'";
  7. $idzapytania = mysql_query($zapytanie);
  8.  
  9. echo '<table>';
  10. while ($wiersz = mysql_fetch_row($idzapytania)) {
  11. echo '<tr bgcolor="#BCC2CD"><td>ID<br>'. $wiersz[0] .'</td><td>Nazwa<br>'. $wiersz[1] .'</td><td>Embed<br><input type="text" name="" value="'. $wiersz[2] .'" /></td><td>Autor<br>'. $wiersz[3] .'</td></tr>';
  12. }
  13. echo '</table>';
  14. ?>

ustawienia.php
  1. <?php
  2. //baza danych//
  3. $host="localhost";
  4. $sql_login="xxx";
  5. $sql_pass="xxx";
  6. $db_base="filmy";
  7. $tabela_filmy="movie";
  8. $id = $_GET['id'];
  9. ?>


W bazie mam pola ID,nazwa,embed,autor. Wpisy są więc nie ma problemu.

I gdy tak mam, pokazuje mi się pusta strona.

Próbowałem też tak

  1. <?php
  2. $zapytanie = "SELECT `nazwa`,`embed`,`autor` FROM `movie` WHERE `id`='".$id."'";
  3. ?>

czyli bez
  1. <?php
  2. `id`
  3. ?>
jednak to nic nie dało.

Pozdro!

chodzi mi po prostu o to, by wyciągało wpis z bazy danych poprzez adres np. film.php?id=1 czyli film, który jest pod ID 1 w bazie sie pokazywał

Ten post edytował JaRoPHP 11.01.2008, 19:46:04
Powód edycji: Dodanie tagu do tamatu.
Go to the top of the page
+Quote Post
v1t4n
post
Post #2





Grupa: Zarejestrowani
Postów: 111
Pomógł: 16
Dołączył: 19.02.2005
Skąd: Dębica

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


ja malo kiedy korzystam z "" do wprowadzania wartosci, przyjelo sie u mnie ze robie to apostrofami ( ' ).

poprawka z wykorzystaniem cudzyslowow:
  1. <?php
  2. $zapytanie = "SELECT `nazwa`,`embed`,`autor` FROM `movie` WHERE `id`='". $id ."'";
  3. ?>


poprawka z wykorzystaniem apostrofow:
  1. <?php
  2. $zapytanie = 'SELECT `nazwa`,`embed`,`autor` FROM `movie` WHERE `id`=''. $id .''';
  3. ?>


proponuje ci dodanie sortowania
  1. <?php
  2. $zapytanie = 'SELECT `nazwa`,`embed`,`autor` FROM `movie` WHERE `id`=''. $id .'' ORDER BY `id`';
  3. ?>


i mala podpowiedz: jesli korzystasz z wszystkich kolumn bazy nie musisz ich wszystkich wypisywac, wystarczy *
Go to the top of the page
+Quote Post
Przemo_
post
Post #3





Grupa: Zarejestrowani
Postów: 62
Pomógł: 1
Dołączył: 12.06.2007

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


Jeśli wykorzystam pierwszy sposób mam błąd :
  1. <?php
  2. Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:usrkrasnalwwwfilmyfilm.php on line 10
  3. ?>


Natomiast jeśli z pozostałych, to mam pustą stronę.
Go to the top of the page
+Quote Post
webdice
post
Post #4


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Cytat(Przemo_ @ 11.01.2008, 17:56:57 ) *
Jeśli wykorzystam pierwszy sposób mam błąd :
  1. <?php
  2. Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:usrkrasnalwwwfilmyfilm.php on line 10
  3. ?>


Natomiast jeśli z pozostałych, to mam pustą stronę.


Bo autor przekombinował.

  1. <?php
  2. $zapytanie = "SELECT `nazwa`,`embed`,`autor` FROM `movie` WHERE `id`='" . $id ."'";
  3. ?>


Ten post edytował webdicepl 11.01.2008, 17:59:53
Go to the top of the page
+Quote Post
Chrom
post
Post #5





Grupa: Zarejestrowani
Postów: 240
Pomógł: 17
Dołączył: 28.12.2005
Skąd: Warszawa

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


ja bym spróbował tak:

  1. <?php
  2. $zapytanie = "SELECT `id`, `nazwa`,`embed`,`autor` FROM `movie` WHERE `id`= '$id' ORDER BY `id`";
  3. ?>


Ten post edytował Chrom 11.01.2008, 18:05:37
Go to the top of the page
+Quote Post
Przemo_
post
Post #6





Grupa: Zarejestrowani
Postów: 62
Pomógł: 1
Dołączył: 12.06.2007

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


Nie no... Zawsze pusta strona.
Go to the top of the page
+Quote Post
v1t4n
post
Post #7





Grupa: Zarejestrowani
Postów: 111
Pomógł: 16
Dołączył: 19.02.2005
Skąd: Dębica

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


@Przemo_: u mnie tak blad wywala jak zapomne sobie stworzyc tabeli w bazie

Cytat(webdicepl @ 11.01.2008, 17:59:11 ) *
Bo autor przekombinował.
Niby czemu? Zawsze tak robie i dziala! kilka przykladow?
  1. <?php
  2. $mysql_ask_3 = 'UPDATE `pics` SET `watched` = ''. ($row[4]+1) .'' WHERE `id` ='. $row[0] .' AND `cat` = ''. $cat .'' AND `name` = ''. $row[2] .'' AND `desc` = '' AND `watched` ='. $row[4] .' LIMIT 1 ';
  3.  
  4. $mysql_ask_1 = 'SELECT * FROM `pics` WHERE `cat` = ''. $cat .'' ORDER BY `id` ASC LIMIT '. (($pageid - 1)*16) .' , 16';
  5.  
  6. $mysql_ask_a = 'SELECT `name` , `pass` FROM `albums` WHERE `name` = ''. $category .'' LIMIT 0, 1 ';
  7. ?>
fragmenty wyrwane z moich stronek i co najwazniejsze dzialaja. buduje tak polecenia do mysql od zawsze

Ten post edytował v1t4n 11.01.2008, 18:12:07
Go to the top of the page
+Quote Post
webdice
post
Post #8


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Powiedz mi jeszcze że to jest dobrze napisanie.

  1. <?php
  2. $zapytanie = "SELECT `nazwa`,`embed`,`autor` FROM `movie` WHERE `id`='". $id ."'";
  3. ?>


W tym wypadku masz zapytanie między cudzysłowami i dodajesz slashe przed apostrofami, tak możesz robić jak masz zapytanie między apostrofami.
Go to the top of the page
+Quote Post
v1t4n
post
Post #9





Grupa: Zarejestrowani
Postów: 111
Pomógł: 16
Dołączył: 19.02.2005
Skąd: Dębica

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


Cytat(webdicepl @ 11.01.2008, 18:14:20 ) *
Powiedz mi jeszcze że to jest dobrze napisanie.

  1. <?php
  2. $zapytanie = "SELECT `nazwa`,`embed`,`autor` FROM `movie` WHERE `id`='". $id ."'";
  3. ?>


W tym wypadku masz zapytanie między cudzysłowami i dodajesz slashe przed apostrofami, tak możesz robić jak masz zapytanie między apostrofami.


W tym przypadku zgodze sie ze zrobilem blad.
@Przemo_: przepraszam ze wprowadzilem Cie w blad
Co to pozostalych opcji nie mam pojecia czemu wyswietla pusta strone.
Go to the top of the page
+Quote Post
webdice
post
Post #10


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Najpierw sprawdź co Ci zwraca:

  1. SELECT * FROM `movie` WHERE `id` = 1


Oczywiście zamiast 1 podaj ID istniejącego rekordu.

Ten post edytował webdicepl 11.01.2008, 18:20:11
Go to the top of the page
+Quote Post
Przemo_
post
Post #11





Grupa: Zarejestrowani
Postów: 62
Pomógł: 1
Dołączył: 12.06.2007

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


Ale głąb ze mnie...
ID wpisu były od 13... wszystko już działa.
Dzięki.

Ten post edytował Przemo_ 11.01.2008, 18:27:38
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 12:32