Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Podpisy obrazków z bazy
Forum PHP.pl > Forum > PHP
Strarus
cześć:)
Zrobiłem podpisy do obrazków w bazie. Wszystko działa, wyświetlają się kiedy trzeba ale chciałbym aby w przypadku, gdy nie ma podpisu wyświetlał się napis "Brak podpisu". Cały czas mi nie działają moje rozwiązania na tym kodzie, może mi ktoś pomoże?
  1. <?php
  2. function podpisy() {
  3.      $baza = @mysql_connect('*******' '*******' '*******'); //Dane do połączenia z MySQL
  4.  if (!$baza) {
  5.    exit('W tej chwili nie można nawiazać ' .
  6.        'połaczenia z serwerem bazy danych.
  7.  
  8. ' );
  9.  }
  10.  if (!@mysql_select_db('****')) {
  11.    exit('Nie można w tej chwili ' .
  12.        'zlokalizować bazy danych.
  13.  
  14. ');
  15.  }
  16.    $image = abs(intval($_GET['imageid']));
  17.  $result = @mysql_query(&#092;"SELECT * FROM podpisy WHERE id='$image'\");
  18.  if (!$result) {
  19.    exit(' Bład podczas wykonywania zapytania: ' . mysql_error() . '
  20.  
  21. ');
  22.  }
  23.  while ($row = mysql_fetch_array($result)) {
  24.    $content = $row['content'];
  25.    if($content == '') {
  26.      $podpis = 'Brak podpisu dla tego obrazka';
  27.    }
  28.    else {
  29.      $podpis = $content;
  30.    }
  31. echo ($podpis);
  32.  }
  33.  
  34. }
  35. ?>

Sęk w tym, że nie działa. Wyświetlają się podpisy gdy są w bazie, a gdy ich nie ma to jest puste pole... A oto pierwsza wersja kodu, bez komunikatu:
  1. <?php
  2. function podpisy() {
  3.      $baza = @mysql_connect('*******' '*******' '*******'); //Dane do połączenia z MySQL
  4.  if (!$baza) {
  5.    exit('W tej chwili nie można nawiazać ' .
  6.        'połaczenia z serwerem bazy danych.
  7.  
  8. ' );
  9.  }
  10.  if (!@mysql_select_db('******')) {
  11.    exit('Nie można w tej chwili ' .
  12.        'zlokalizować bazy danych.
  13.  
  14. ');
  15.  }
  16.    $image = abs(intval($_GET['imageid']));
  17.  $result = @mysql_query(&#092;"SELECT * FROM podpisy WHERE id='$image'\");
  18.  if (!$result) {
  19.    exit(' Bład podczas wykonywania zapytania: ' . mysql_error() . '
  20.  
  21. ');
  22.  }
  23.  while ($row = mysql_fetch_array($result)) {
  24.    $content = $row['content'];
  25.    echo $content;
  26.  }
  27. }
  28. ?>
outsider
CODE
$row = mysql_fetch_array($result)


Jesli chcesz miec dostep taki:

CODE
$content = $row['content'];


to musisz zmienic zmienna $row na:

CODE
$row = mysql_fetch_assoc($result)


teraz masz tablice asocjacyjna, czyli mozesz uzyc zmienna  $row['content']
Strarus
Dzięki, zaraz zobaczę, czy działa smile.gif3

edit: terz to nie działają nawet jak są w bazie...
  1. <?php
  2. while ($row = mysql_fetch_assoc($result)) {
  3.    $row['content'] = $content;
  4.    if($content = '') {
  5.      echo 'puste';
  6.    } else {
  7.      echo ($podpis);
  8.    }
  9.  }
  10. ?>
outsider
zmiennej $row chcesz przypisac wartosc pustej zmiennej $content ? Zrob to na odwrot smile.gif :

$content = $row['content'];
Strarus
Nadal nic....
  1. <?php
  2. while ($row = mysql_fetch_assoc($result)) {
  3.    $content = $row['content'];
  4.    if($content = '') {
  5.      echo 'puste';
  6.    } else {
  7.      echo ($content);
  8.     }
  9.  }
  10. ?>

Po prostu nic się nie wyświetla (pusta ramka u mnie)... Zmieniałem na mysql_fetch_array i też nic...
outsider
Sprobuj tak:

Kod
$image = abs(intval($_GET['imageid']));
$query = "SELECT * FROM podpisy WHERE id='$image';";
$result = mysql_query($query);

if (!$result) {

   exit(' Bład podczas wykonywania zapytania: ' . mysql_error() . '');
}
while ($row = mysql_fetch_array($result)) {

   $content = $row['content'];
   if( !isSet($content) ) {
     $podpis = 'Brak podpisu dla tego obrazka';
   }
   else {
     $podpis = $content;
   }
echo ($podpis);
}
Strarus
Teraz wyświetlają się obrazki i podpisy ale gdy nie ma podpisu to nie pokazuje się napis "brak podpisu..."... Looknij:

http://strarus.cba.pl/index.php?site=gallery&imageid=1
outsider
To powinno pomoc, zamien:
if( !isSet($content) ) {
na:
if( empty($content) ) {
Strarus
Niestety... nie wiem już o co c'mon...

Nie uwierzysz jaki błąd robiłem haha.gif
  1. <?php
  2. if( empty($content) ) {
  3.     $podpis = 'Brak podpisu dla tego obrazka';
  4.   }
  5.   else {
  6.     $podpis = $content;
  7.   }
  8. ?>

Umieszczałem w pętli... Wywaliłem za pętle i wszystko działa smile.gif Stawiam pomoc, ponieważ się bardzo starałeś, dzięki smile.gif
outsider
Nie pomyslalem o tym. Spoko smile.gif
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.