Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlanie rekordu
Forum PHP.pl > Forum > PHP
Kamil9132
Witam
Jestem początkującym w języku PHP więc nie wiem jak zrobić wyświetlenie rekordu ,który zawiera tekst i zdjęcie.
Pola w tabeli zdjecia mają takie nazwy:
id
imie
data
uzytkownik
zdjecie
adres

Bardzo proszę o pomoc w wyświetlaniu tych informacji.
skowron-line
1mysql_connect
2mysql_query
3mysql_fetch_array
Kamil9132
Zrobiłem prosty kod z tamtych i wygląda tak:

  1. $result = mysql_query("SELECT * FROM zdjecia WHERE 58")
  2. or die("Zapytanie niepoprawne");
  3.  
  4.  
  5. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  6. printf ("ID: %s Nazwa: %s Plik: %s", $row["id"], $row["imie"], $row["zdjecie"]);
  7. }


Tylko są wyświetlane wszystkie rekordy ,a nie pojedynczy i zdjęcia nie są wyświetlane tylko długi ciąg znaków.
Tu jest link do mojej strony ,a dokładniej do wyświetlania.
Wyświetlanie
ciekawskiii
w bazie masz zdjecie czy link do zdjecia?

no bo wyswietli Ci wszystkie w tym momencie a jakie chcesz wyswietlac albo ile?

WHERE 58 nie wiem co oznacza

a tak ogolnie to masz rekordy w bazie? to co napisales cale jakies dziwne
Kamil9132
To WHERE 58 chodziło mi o WHERE id=58
W bazie mam obraz ,a nie link do niego.
Mephistofeles
Po co zapisujesz w bazie grafikę? Łatwo serwer przeciążysz.
Poza tym jak wyobrażasz sobie, żeby przeglądarka odtworzyła obraz z tekstu? Musisz jej kazać to zrobić. Poczytaj o base64 w tagu <img>.
Kamil9132
Tylko w bazie mam obraz ,a nie tekst i mam pytanie czy lepiej trzymać link do obrazu czy sam obraz ?
Jeżeli sam link to może mi ktoś napisać jak to zrobić ?
mhw
Lepiej trzymać link do obrazu umieszczonego na serwerze i potem wczytywać używając <img>. A jak to zrobić? Skoro umieściłeś tam obraz to z linkiem chyba nie będziesz miał problemu.
Kamil9132
tylko jak zrobić ,żeby móc wrzucać zdjęcie na serwer ,a nie do bazy przez użytkownika ?
mhw
Napisz skrypt, który po uploadzie zdjęcia na serwer automatycznie doda do bazy danych wpis zawierający link do zdjęcia. Potem będziesz mógł się odwoływać do danego zdjęcia pobierając z bazy link do niego. Na temat samego uploadu wszystko zostało już napisane - google smile.gif
Crozin
Za linkowanie do mysql_*() w 2010 roku, 5 lat po wydaniu PHP 5.1.0 powinno się... PDO może i cudem nie jest, ale ma to przynajmniej jakiś sensowny interfejs.
gostek99
prosze :

  1.  
  2. <?php
  3.  
  4. $p = @mysql_connect('host bazy danych', 'user', 'haslo')
  5. or die('Nie ma kontaktu: '.mysql_error());
  6.  
  7. $b = @mysql_select_db('nazwa bazy danych', $p)
  8. or die('brak polaczenia '.mysql_error());
  9.  
  10.  
  11. $pyt = "select * from tabela w bazie danych ";
  12. $x = mysql_query($pyt);
  13. $l = mysql_num_rows($x);
  14. echo "<table border=1 bgcolor=#C0C0C0 >";
  15. "<tr><td><B><center>id</center></B></td><td><B><center>nazwa rekordu</center></B></td><td><B><center>nazwa rekordu</center></B></td><td><B><center>nazwa rekrodu</center></B></td></tr>";
  16. for ($i=0; $i <$l; $i++)
  17. {
  18. $rekord = mysql_fetch_array($x);
  19. echo "<tr><td>";
  20. echo stripslashes($rekord['nazwa rekordu tutaj bedzie id']);
  21. echo "</td><td>";
  22. echo $rekord['nazwa rekordu'];
  23. echo "</td><td>";
  24. echo $rekord['nazwa rekordu'];
  25. echo "</td><td>";
  26. echo $rekord['nazwa rekordu'];
  27. echo "</td><td>";
  28. echo $rekord['nazwa rekordu'];
  29. echo "</td><td>";
  30. echo $rekord['nazwa rekordu'];
  31.  
  32. }
  33.  
  34.  
  35. ?>
Kamil9132
ok już sobie raczej poradzę tylko mam jedno pytanie jak zrobić ,żeby pętla while przerwała się po jednym wykonaniu nawet jak warunek jest ciągle spełniany i jak wykorzystać fragment kodu który dopiero później się pojawi np.
  1. if($imie)
  2.  
  3. $imie = $_POST['imie'];

Crozin
Jeżeli kod w pętli ma być wykonany z założenia tylko raz to po co ta pętla w ogóle? Mimo wszystko: break
Kamil9132
,a tak z ciekawości pytam się czy break może przerwać pętle po dwóch wykonaniach
i jak wykorzystać fragment kodu który dopiero później się pojawi np.
  1. pobierz, plaintext
  2. if($imie)
  3.  
  4. $imie = $_POST['imie'];
Crozin
Cytat
a tak z ciekawości pytam się czy break może przerwać pętle po dwóch wykonaniach
Tak, wystarczy zadbać o to by został on wywołany dopiero przy drugim przejściu pętli:
  1. while (...) {
  2. if (...) {
  3. break;
  4. }
  5. }
Cytat
i jak wykorzystać fragment kodu który dopiero później się pojawi
Chyba jest to dosyć logiczne: nie da się.
Kamil9132
Ok już mam ,tylko mam jedno pytanie jak sprawdzić czy na serwerze mam już plik o tej samej nazwie co chce dodać użytkownik ?
mhw
Użyj tego: file_exists
Kamil9132
ok ale teraz się męczę jak przerwać skrypt i wyświetlić taki komunikat: Błąd, na serwerze znajduje się plik o podobnej nazwie, zmień nazwę pliku i spróbuj ponownie. kiedy plik na serwie ma taką samą nazwę jaką plik ,który się dodaje.
ciekawskiii
no przeciez kolega wyzej Ci podal na tacy...
  1. if (file_exists($nazwa_pliku)) { echo "plik istnieje"; }else{ echo "plik nieistnieje"; }
Kamil9132
tak ale mi chodzi ,żeby dalsza część kodu nie wykonywała się ,a w tym wypadku pojawia się aby komunikat ,ale kod wykonuje się dalej
ciekawskiii
Cytat(Kamil9132 @ 8.11.2010, 22:40:41 ) *
tak ale mi chodzi ,żeby dalsza część kodu nie wykonywała się ,a w tym wypadku pojawia się aby komunikat ,ale kod wykonuje się dalej


nie kumam, jaki kod nie ma sie wykonywac dalej? przeciez kod uploadu w tym momencie sie nie wykonuje gdy plik istnieje
Kamil9132
Tylko teraz mam pytanie jak zrobić takie sprawdzenie ,żeby tekst dodawany do pola 'adres' musiałby mieć na początku 'http:' ?
gostek99
moze tak ?

  1. <a href="konto.php?id='.$rekord[0](ten rekord z id).'">
Kamil9132
Jakiej pętli użyć do wyświetlania informacji w divach ?
Chodzi mi o to ,że mam takie coś:
  1.  
  2. $pyt = "select * from zdjecia Where data < $wynik ";
  3. $x = mysql_query($pyt);
  4. $l = mysql_num_rows($x);
  5. echo "<table border=1 bgcolor=#C0C0C0 >";
  6. "<tr><td><B><center>id</center></B></td><td><B><center>nazwa rekordu</center></B></td><td><B><center>nazwa rekordu</center></B></td><td><B><center>nazwa rekrodu</center></B></td></tr>";
  7. for ($i=0; $i <$l; $i++)
  8. {
  9. $rekord = mysql_fetch_array($x);
  10. $nic = $rekord['zdjecie'];
  11. //$link = $rekord['adres'];
  12. $link = 'http://forum.php.pl/index.php?showtopic=162656&st=20&gopid=805640&#entry805640';
  13. echo "<tr><td>";
  14. echo stripslashes($rekord['id']);
  15. echo "</td><td>";
  16. echo $rekord['nazwa'];
  17. echo "</td><td>";
  18. echo $rekord['data'];
  19. echo "</td><td>";
  20. echo $rekord['uzytkownik'];
  21. echo "</td><td>";
  22. echo $rekord['adres'];
  23. echo "</td><td>";
  24. echo "<a href=$link><img src=$nic>";}


I chce użyć w tym kodzie diva ,który co wykonanie pętli zmienia wysokość o 200px.
kmike
  1. while($rekord = mysql_fetch_array($x)){
  2. echo $rekord['zdjecie']; // wyświetli zawartość kolumny zdjecie wszystkich pobranych rekordów
  3. }
Kamil9132
Tylko potrzebuje diva to tego żeby w nim robić poszczególne wyświetlenie(nazwa,obraz etc.) i nie wiem jak robić zwiększanie szerokości o 500px co wykonanie pętli i wysokości o 700px co drugie wykonanie pętli.
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.