функция и класс, чтобы показать изображение не работает в PHP - PullRequest
0 голосов
/ 04 мая 2010

я пытаюсь заставить работать следующее, ничего не происходит, когда я использую функцию, которую я пытаюсь заставить отображать изображения

 class ItemRes {
//items DB
var $img="";


}
 function ShowItemImage($index,$res_a){
 if(sizeof($res_a) > $index){
 if($res_a[$index] != NULL) {
     $cimg = $res_a[$index]->img;
     return "<img src='$cimg' width='70' height='70' style='cursor:pointer'></img>";
 }
 }else{
     return "<center class='whitetxt'><strong>Empty</strong></center>";
 }
  }



 $res_array = array();
 $idx=0;
  $result21 = mysql_query("SELECT * FROM photos WHERE eid='$eid' ORDER BY id DESC") or die (mysql_error()); 
  while ($row21 = mysql_fetch_array($result21)) { 
  $img_path = $row21['path'];
  $obj = new ItemRes();
  $obj->img = $img_path;
  $res_array[$idx] = $obj;
 $idx++;
 }

 ShowItemImage(0,$res_array)
 ShowItemImage(1,$res_array)

1 Ответ

0 голосов
/ 03 октября 2011

Есть много проблем с этим кодом, поэтому я просто возьму их по одному.

Если вы инициируете соединение с базой данных где-то еще, первая проблема строка:

$result21 = mysql_query("SELECT * FROM photos WHERE eid='$eid' ORDER BY id DESC") or die (mysql_error());

До этой строки вы не устанавливаете переменную $eid и, таким образом, она будет выбирать только элементы с eid = '' Во-вторых:

Вы не заканчиваете последние две строки точкой с запятой, поэтому это приведет к фатальной ошибке.

Третье: Вероятно, причина, по которой вы получаете 'ничего не происходит' (который я интерпретирую как пустую страницу)

В вашей функции ShowItemImage вы возвращаете строки, но ничего не делаете с ними. Вам нужно изменить это:

 ShowItemImage(0,$res_array)
 ShowItemImage(1,$res_array)

до:

echo ShowItemImage(0,$res_array);
echo ShowItemImage(1,$res_array);

и вы, вероятно, начнете замечать некоторые вещи на экране.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...