Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php. mysql]Pobieranie Rekordu z bazy przez id
Forum PHP.pl > Forum > Przedszkole
Przemo_
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ł
v1t4n
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 *
Przemo_
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ę.
webdice
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. ?>
Chrom
ja bym spróbował tak:

  1. <?php
  2. $zapytanie = "SELECT `id`, `nazwa`,`embed`,`autor` FROM `movie` WHERE `id`= '$id' ORDER BY `id`";
  3. ?>
Przemo_
Nie no... Zawsze pusta strona.
v1t4n
@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
webdice
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.
v1t4n
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.
webdice
Najpierw sprawdź co Ci zwraca:

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


Oczywiście zamiast 1 podaj ID istniejącego rekordu.
Przemo_
Ale głąb ze mnie...
ID wpisu były od 13... wszystko już działa.
Dzięki.
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.