Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: MySQL i PHP odbieranie danych
Forum PHP.pl > Forum > Przedszkole
Popek231
Witam! Chciałbym z linku który wysyła ?filmy=$ID[np.1] odebrać to w pliku img.php i by z bazy danych się wyświetlił link do obrazka... Oto mój kod który udało się mi ułożyć to:
  1. <?
  2. include('../head.php');
  3. $dane=mysql_connect('...','...','...')
  4. or die('Nieudane połączenie z bazą danych...');
  5. or die('Nie udało się wybrać bazy danych...');
  6. $link=mysql_query("SELECT * FROM filmy ORDER BY id desc");
  7. $obrazek=mysql_fetch_array($link)
  8. $_GET['image'] && $_GET['image']=='id'{
  9.  
  10. echo '<img src="img/'. $linkobr .'">';
  11. } else { echo 'Błędne ID zdjęcia!'; }
  12. mysql_close($dane);
  13. include('../foot.php'); ?>
grzes999
Po pierwsze nie ten dział a pod drugie jak chcesz pobrać coś z bazy o danym id jeżeli w zapytaniu nie piszesz żadnego warunku i napisz dokładnie co w tym skrypcie ci nie działa.
Popek231
Sory, że nie ten dział, ale nie wiedziałem gdzie dać smile.gif To tak. Jak włączam to z linku o obojętnie jakim ID to wyskakuje że jest błąd w lini gdzie jest
  1. $_GET['image'] && $_GET['image']=='id'{

miałem ostatnio:
  1. if(isset($_GET['image']) && $_GET['image']=='id'){

,ale wyskakiwał błąd przy if i każdym następnym wyrażeniu po usunięciu poprzedniego [np. usunełem if to pisało za błąd ( etc.]

@Refresh smile.gif
xxdrago
Mała podpowiedz:

  1. <?
  2.  
  3. include('../head.php');
  4. if ($_GET['id']) {
  5. $dane = mysql_connect('...', '...', '...')
  6. or die('Nieudane połączenie z bazą danych...');
  7. or die('Nie udało się wybrać bazy danych...');
  8.  
  9. $id = $_GET['id'];
  10.  
  11. $result = mysql_query("SELECT * FROM tabela where id =" . $id, $dane);
  12. $num_rows = mysql_num_rows($result);
  13.  
  14. if ($num_rows == 1) {
  15. echo 'istnieje';
  16. // Rekord istnieje
  17. // Robisz sobie co chcesz dalej
  18. } else {
  19. echo 'Taki rekord nie istnieje';
  20. }
  21. mysql_close($dane);
  22. } else {
  23. echo 'brak id w linku';
  24. // Jezeli brak id w linku...
  25. }
  26. include('../foot.php');
  27. ?>
grzes999
Wyżej masz dużą podpowiedź i błąd masz bo niby skąd to się ma brać

  1. $_GET['image'] && $_GET['image']=='id'


Ogólnie to najpierw musisz pobrać id i później wstawić do zapytania w warunku.
Popek231
Dzięki, działa w pewnym sensie... tongue.gif Zastanawiam się tylko gdzie sie łączy to z bazą danych MySQL...
grzes999
Łączy się tutaj wink.gif

  1. $result = mysql_query("SELECT * FROM tabela where id =" . $id, $dane);


Popek231
A tam przypadkiem nie wybiera sobie wiersza z ID ?
grzes999
Proponuję lekturę

mysql_query

Pobierasz i prz pobieraniu łączy ci się z bazą.
xxdrago
Powiedz dokładnie co chcesz osiągnąć oraz jakbyś mógł to daj schemat baz danych MYSQL, Ja mniej więcej to tak zrozumiałem , że masz plik filmy.php?id=133,
i wyświetla ci link z opisem do filmu, obrazek itd... filmu o id 133 tak?
Popek231
Aa, rozumiem smile.gif i komenda mysql_connect() służy do połączenia się z userem bazy danych?
xxdrago
Masz poniżej opisane co się dzieję gdy się nie połączy więc wydaje mi się ze powinieneś zrozumieć smile.gif
Kod
include('../head.php');  
$dane=mysql_connect('...','...','...') // Łaczenie z BD
        or die('Nieudane połączenie z bazą danych...');
mysql_select_db('..')// Wybór Bazy danych
        or die('Nie udało się wybrać bazy danych...');


Edit poprawiłem...
Popek231
Nie, jest plik indexgl.php i są tam linki, wyświetlają się tam z bazy danych. z bazy danych się wyświetlają ID które w linkach jest takie img.php?image=ID[np. 4]. A w tym pliku img.php sie ma ten obrazek z linku z bazy wyświetlić. Podaje tabele =>
  1. CREATE TABLE `filmy` (
  2. `id` INT NOT NULL AUTO_INCREMENT ,
  3. `tytul` TINYTEXT NOT NULL , // tytuł obrazka
  4. `linkobr` TEXT NOT NULL , // normalny obrazek, wyświetla się w img.php z linka wraz z ID
  5. `linkobrmini` TEXT NOT NULL , //miniatura obrazka, wyświetla się w indexgl.php
  6. PRIMARY KEY ( `id` )
  7. );


#EDIT#
Napisać jeszcze raz? Masz prawo nie rozumieć tego co napisałem:D
xxdrago
  1.  
  2. <?
  3.  
  4. include('../head.php');
  5. if ($_GET['id']) {
  6. $dane = mysql_connect('', '', '')
  7. or die('Nieudane połączenie z bazą danych...');
  8. or die('Nie udało się wybrać bazy danych...');
  9.  
  10. $id = $_GET['id'];
  11.  
  12. $result = mysql_query("SELECT * FROM tabela where id =" . $id, $dane);
  13. $num_rows = mysql_num_rows($result);
  14.  
  15. if ($num_rows == 1) {
  16. echo 'istnieje';
  17. // Rekord istnieje
  18. // Robisz sobie co chcesz dalej
  19.  
  20. $row = mysql_fetch_array($result); // Pobieramy miniature z bazy
  21. echo $row[4];
  22.  
  23. // Mozesz sobie ladnie to obrobic np.
  24.  
  25. echo '<a href="'.$row[3].'" target="Obrazekkk :)"><img src="'.$row[4].'" border="0"></a>';
  26.  
  27.  
  28. } else {
  29. echo 'Taki rekord nie istnieje';
  30. }
  31. mysql_close($dane);
  32. } else {
  33. echo 'brak id w linku';
  34. // Jezeli brak id w linku...
  35. }
  36. include('../foot.php');
  37. ?>


Mów czy działa i czy o to chodzi:)

// Link wyglada tak: indexgl.php?id={id filmu}
Popek231
Wyskakuje: "Taki rekord nie istnieje".
xxdrago
Prosze:

  1. <?
  2.  
  3. include('../head.php');
  4. if ($_GET['id']) {
  5. $dane = mysql_connect('', '', '')
  6. or die('Nieudane połączenie z bazą danych...');
  7. or die('Nie udało się wybrać bazy danych...');
  8.  
  9. $id = $_GET['id'];
  10.  
  11. $result = mysql_query("SELECT * FROM filmy where id =" . $id, $dane);
  12. $num_rows = mysql_num_rows($result);
  13.  
  14. if ($num_rows == 1) {
  15. echo 'istnieje';
  16. // Rekord istnieje
  17. // Robisz sobie co chcesz dalej
  18.  
  19. $row = mysql_fetch_array($result); // Pobieramy miniature z bazy
  20. echo $row[4];
  21.  
  22. // Mozesz sobie ladnie to obrobic np.
  23.  
  24. echo '<a href="'.$row[3].'" target="Obrazekkk :)"><img src="'.$row[4].'" border="0"></a>';
  25.  
  26.  
  27. } else {
  28. echo 'Taki rekord nie istnieje';
  29. }
  30. mysql_close($dane);
  31. } else {
  32. echo 'brak id w linku';
  33. // Jezeli brak id w linku...
  34. }
  35. include('../foot.php');
  36. ?>
Popek231
Testowałem, działa, ale tylko sie miniatury wyświetlają... jak zmieniam 4[miniatura] na 3[duża] to sie nie wyświetla obr.

##EDIT##
Daje Wam "pomógł" - pomogliście smile.gif Tylko miniaturka sie wyświetla, ale mam nadzieje że pomożecie z tym tongue.gif
xxdrago
A co ma się wyświetlić ?
Popek231
Duży obrazek smile.gif wyświetla się miniatura, w 4kolumnie jest >linkobrmini< a w 3 jest >linkobr< czyli duży. ja spadam wink.gif jest późno, jutro wejdę
xxdrago
Kod
echo '<a href="'.$row[3].'" target="Obrazekkk :)"><img src="'.$row[3].'" border="0"></a>';
Popek231
A poco dajesz w <a href=""> ? Plik img.php jest docelowym miejscem dla obrazka smile.gif Tam się wyświetlają, więc <a href=""> jest nie potrzebny :]

##EDIT##

Już rozwiązałem problem smile.gif
Zamiast row[4] dałem row['linkobr'], i się ładnie wyświetliło!
Dzięki!

##EDIT##

Końcowy efekt: (jak coś nie wszystko pisaliście jak należy, w kodzie, te ID zamiast image, etc. Ale to sam robiłem:) )
  1. <?
  2.  
  3. include('head.php');
  4. if ($_GET['image']) {
  5. $dane=mysql_connect('...','...','...')
  6. or die('Nieudane połączenie z bazą danych...');
  7. or die('Nie udało się wybrać bazy danych...');
  8.  
  9. $id = $_GET['image'];
  10.  
  11. $result = mysql_query("SELECT * FROM filmy where id =" . $id, $dane);
  12. $num_rows = mysql_num_rows($result);
  13. if ($num_rows == 1) {
  14. echo '';
  15. // Rekord istnieje
  16. // Robisz sobie co chcesz dalej
  17.  
  18. $row = mysql_fetch_array($result); // Pobieramy obrazek z bazy
  19. echo '<center><img src="img/'.$row['linkobr'].'" border="0"></center>';
  20. } else {
  21. echo 'Taki rekord nie istnieje!';
  22. }
  23. mysql_close($dane);
  24. } else {
  25. echo 'Brak ID obrazka w linku!';
  26. // Jezeli brak id w linku...
  27. }
  28. include('foot.php');
  29. ?>

Jeszcze raz dzięki i Pozdrawiam, Piotrek
xxdrago
Trochę to inaczej zrozumiałem, tak na przyszłość to staraj się poszukać samemu, w manualu ładnie jest opisane i jest dużo przykładów:
http://php.net/manual/pl/index.php

Napisałem, cały skrypt za cb ;p chyba miałem wczoraj dobry dzień, taki prezent na święta biggrin.gif

Pozdrawiam,
Tomasz
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.