Php, чтобы вернуть значение - PullRequest
0 голосов
/ 14 июня 2011

РЕДАКТИРОВАТЬ : проверьте в конце этого решения

Я новичок в php, ajax и всех других вещах:)

Мой вопрос:Есть ли способ для php-файла вернуть значение?

У меня есть:

  1. файл "loadImages.php", содержащий скрипт для получения путей к изображениям из базы данных.
  2. галерея изображений, куда я хочу загружать изображения через ajax.
  3. база данных, содержащая путь к изображениям (/images/image1.jpg, /images/image2.jpg).
  4. 4 категории изображений.

Я пытаюсь сделать следующее:

Когда я нажимаю на ссылку (пример, первая категория), я хочу позвонить черезajax () jquery (), loadImages.php с категорией, переданной через POST (cat0, cat1, cat2, ...)

Я хочу вернуть значение из этого файла php, например: <img src="image/image1.jpg" />, поэтому черезJavaScript, я могу получить эту строку.Использование только return в моем php-файле возвращает XMLHttpRequest, когда я помещаю функцию ajax() в переменную вместо строки <img>.

Есть ли способ сделать это?Или, может быть, лучше, так как я не совсем понимаю ajax.

Спасибо!Извините за мою плохую грамматику.

Ниже приведена более точная карта того, что я пытаюсь сделать.

JavaScript:

var test = $.ajax({  
type: "POST",  
    url: "loadImages12.php",  
    data: "category=0",  
    complete: function() {  
        alert("COMPLETE");  
    },  
    error: function (){  
        alert("NOT LOADED");  
    }  
});

PHP (loadImages.php)

function createThumb() { 
        if(isset($_POST['category'])) {  
            $imageQuery = mysql_query("SELECT * FROM t_pictures WHERE p_category = 0");
            $thumbHtml = '';

            while ($tempImageQueryFetch = mysql_fetch_assoc($imageQuery)){
                $thumbHtml .= '<a href="#" class="thumbnail"><img src="ressources/images/' . $tempImageQueryFetch["p_fileName"] . 'Small.jpg" /></a>';
            }

        return $thumbHtml;
        }
        else {
            $noCategory = "NO CATEGORY TEST";
            return $noCategory ;
        }
    }

    createThumb();

решено

  • Php файл

    функция createThumb () {
    // Mysql запрос
    $ someVar = // Результат запроса
    return $ someVar
    }

    echo createThumb ()

  • Javascript

    $ ("#someDiv"). load ("loadImages.php", {category: 0});

Ответы [ 3 ]

5 голосов
/ 14 июня 2011

AJAX-запрос к PHP точно такой же, как обычный запрос для веб-сайта.Вы запрашиваете данные у example.com/foo/bar и в ответ получаете текст .* PHP-оператор return не имеет ничего общего с тем, что возвращается клиенту.Только то, что вы echo или иначе вывод , будет получено клиентом.То же самое относится и к обычным страницам и запросам AJAX.

Итак, чтобы «вернуть» <img src="image/image1.jpg" /> в ваш вызов AJAX Javascript, echo эту строку в PHP.

2 голосов
/ 14 июня 2011

, если вы хотите использовать уже имеющийся php-файл (loadImages.php), просто отобразите результат функции:

echo createThumb();
0 голосов
/ 14 июня 2011

Просто сделайте скрипт php для возврата пути к миниатюре.

, а затем сделайте что-то подобное в js

somediv.html('<a href="#" class="thumbnail"><img src="">');

и просто используйте путь, возвращенный файлом php дляimg src ..

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