Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2011, 21:21   #1
WarAngel.alk
 
Регистрация: 22.09.2011
Сообщений: 8
По умолчанию Не могу найти ошибку в скрипте

Вот потихоньку учу PHP, вроде были успехи но как дошел до баз данных что-то не то получается. Конкретно вот код:
PHP код:
function printForm(){
    echo 
'<table border="1px" cellpadding="5px" cellspacing="11px" frame="void>';
    
$result mysql_query('SELECT * FROM image ORDER BY review');
    for (
$y=0$y<=10$y++){
        echo 
'<tr>';
        for (
$x=0$x<5$x++){
            
$row mysql_fetch_array($result);
            echo 
'<td>';
            echo 
'<a href="index.php?img="' $row[0] . '">';
            echo 
'<img scr="' $row[1] . '">';
            echo 
'</a>';
            echo 
'<br>';
            echo 
'Просмотров: ' $row[2];
            echo 
'</td>';
            if (!isset(
$row[0])){
                break;
            }
        }
        echo 
'</tr>';
        if (!isset(
$row[0])){
            break;
        }
    }
    echo 
'</table>';

Небольшие пояснения: выводится таблица, в ней изображения. Пути к изображениям в БД. Первая колонка БД - id, вторая - путь к изображению, 3 - количество просмотров.
При выполнении не выводит изображения. Нутром чувствую что ошибка ужасно банальная, но найти не могу


PS. Ещё интересует почему вверху страницы выводится изображение вне таблицы

Последний раз редактировалось WarAngel.alk; 22.09.2011 в 21:28. Причина: кривые руки :(
WarAngel.alk вне форума Ответить с цитированием
Старый 22.09.2011, 21:36   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Изображения не выводятся из-за неправильных путей к ним относительно текущего файла.
Andkorol вне форума Ответить с цитированием
Старый 23.09.2011, 16:53   #3
WarAngel.alk
 
Регистрация: 22.09.2011
Сообщений: 8
По умолчанию

Скрипт лежит в корневой директории, изображения в папке img. В БД пути к файлам в виде "img/<название файла>"
Для проверки добавил "echo $row[1]" в каждой клетке таблицы, путь выводится именно тот где лежит изображение

Последний раз редактировалось WarAngel.alk; 23.09.2011 в 17:14.
WarAngel.alk вне форума Ответить с цитированием
Старый 23.09.2011, 17:25   #4
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Не плохо было бы, посмотреть что в самом html коде, после вывода. И уже отсюда делать предположения. Для вывода используйте цикл while.
dr.Chas вне форума Ответить с цитированием
Старый 23.09.2011, 17:41   #5
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

встречный вопрос по строке
Код:
echo '<a href="index.php?img="' . $row[0] . '">';
что делает index.php и как он выводит изображения?
покажите плиз, полный код
--------------
в ПХП изображение в таблицу выводятся используя вспомогательный скрипт.
Например:
<table>
<?
echo '<tr>';
echo '<td><img scr="img.php?data="'. $row[1].'</td>';
echo '</tr>';
?>
</table>

в модуле img.php формируется
Header('Contents : img/jpeg');
и выводится "тело" картинки
95% сбоев и ошибок приложений, находится в полу метрах от монитора

Последний раз редактировалось JUDAS; 23.09.2011 в 17:46.
JUDAS вне форума Ответить с цитированием
Старый 23.09.2011, 18:00   #6
WarAngel.alk
 
Регистрация: 22.09.2011
Сообщений: 8
По умолчанию

Код HTML:
<form enctype="multipart/form-data" method="post" action="index.php">
  <input type="file" name="img"><br>
  <input type="submit" value="Загрузить">
</form><br>

<table border="1px" cellpadding="5px" cellspacing="11px" frame="void>
  <tr>
    <td>
      <a href="index.php?img="1"><img scr="img\testImg.jpg"></a><br>
      Просмотров: 0
    </td>
    <td>
      <a href="index.php?img="3"><img scr="img/testImg3.jpg"></a><br>
      Просмотров: 3
    </td>
    <td>
      <a href="index.php?img="2"><img scr="img/testImg2.jpg"></a><br>
      Просмотров: 5
    </td>
    <td>
      <a href="index.php?img=""><img scr=""></a><br>
      Просмотров: 
    </td>
  </tr>
</table>
JUDAS, если указана переменная $_GET['img'] то вместо всех изображений выводится одно на весь экран, но это отдельная тема

Вот весь скрипт:
PHP код:
<?php
//error_reporting(0);
function saveImg(){
    if (
$_POST['img']['tmp_name'] == ''){
        echo 
'Неверное имя файла';
        return 
false;
    }
    else{
        echo 
'Тут первый параметр' $_POST['img']['tmp_name'];
        echo 
'Тут второй параметр' $_POST['img']['name'];
        
copy($_POST['img']['tmp_name'], 'img/' $_POST['img']['name']);
    }
}

function 
printSaveForm(){
    echo 
'<form enctype="multipart/form-data" method="post" action="index.php">';
    echo 
'<input type="file" name="img">';
    echo 
'<br>';
    echo 
'<input type="submit" value="Загрузить">';
    echo 
'</form>';
    echo 
'<br>';
}

function 
printForm(){
    echo 
'<table border="1px" cellpadding="5px" cellspacing="11px" frame="void>';
    
$result mysql_query('SELECT * FROM image ORDER BY review');
    for (
$y=0$y<=10$y++){
        echo 
'<tr>';
        for (
$x=0$x<5$x++){
            
$row mysql_fetch_array($result);
            echo 
'<td>';
            echo 
'<a href="index.php?img="' $row[0] . '">';
            echo 
'<img scr="' $row[1] . '">';
            echo 
'</a>';
            echo 
'<br>';
            echo 
'Просмотров: ' $row[2];
            echo 
'</td>';
            if (!isset(
$row[0])){
                break;
            }
        }
        echo 
'</tr>';
        if (!isset(
$row[0])){
            break;
        }
    }
    echo 
'</table>';
}

//   НАЧАЛО

if(isset($_POST['img'])){
    
saveImg();
}
$server 'localhost';
$username 'root';
$password '';
$dbname 'image';
mysql_connect($server$username$password);
mysql_select_db($dbname);
printSaveForm();
printForm();
Вставил бы под спойлером, но что-то на нашел тега такого

Последний раз редактировалось WarAngel.alk; 23.09.2011 в 18:13.
WarAngel.alk вне форума Ответить с цитированием
Старый 23.09.2011, 18:02   #7
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

А если слеши в обратную сторону?
dr.Chas вне форума Ответить с цитированием
Старый 23.09.2011, 18:14   #8
WarAngel.alk
 
Регистрация: 22.09.2011
Сообщений: 8
По умолчанию

Цитата:
Сообщение от dr.Chas Посмотреть сообщение
А если слеши в обратную сторону?
Уже в любую сторону пробовал, никакого эффекта
WarAngel.alk вне форума Ответить с цитированием
Старый 23.09.2011, 18:26   #9
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Код HTML:
<table border="1px" cellpadding="5px" cellspacing="11px" >
  <tr>
    <td>
      <a href="index.php?img="><img src="img/1.JPG" /></a><br>
      Просмотров: 0
    </td>
<img src="img/1.JPG" />


Улавливаете? С кавычками разберитесь. Да и вообще валидность html кода проверяйте. Иначе у вас полная мешанина.

Да и вообще стоит основы html подтянуть сначала.

Последний раз редактировалось dr.Chas; 23.09.2011 в 18:29.
dr.Chas вне форума Ответить с цитированием
Старый 23.09.2011, 18:33   #10
WarAngel.alk
 
Регистрация: 22.09.2011
Сообщений: 8
По умолчанию

Да, банальная опечатка..а ведь я знал:
Цитата:
Нутром чувствую что ошибка ужасно банальная, но найти не могу

HTML я знаю, просто путаюсь когда приходится его через echo выводить...оказалось что ещё пара опечаток была, в общем нашел корень всех проблем

Всем спасибо за помощь
WarAngel.alk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу найти ошибку ToDayGoodDay JavaScript, Ajax 1 15.08.2011 09:43
не могу найти ошибку 92Edik Помощь студентам 2 24.05.2011 10:15
НЕ могу найти ошибку T.A.T.A.R.I.N Паскаль, Turbo Pascal, PascalABC.NET 2 06.03.2011 10:45
Не могу найти ошибку в скрипте авторизации Revival001 PHP 8 26.06.2009 10:57
Не могу найти ошибку. Picaso18 Паскаль, Turbo Pascal, PascalABC.NET 3 19.01.2009 17:05