автоматическая гиперссылка - PullRequest
0 голосов
/ 24 июля 2010

Я пытаюсь автоматически генерировать страницы.

Я пытаюсь создать форму для загрузки изображения, отображаемого в галерее.

У меня есть это, но я хочу, чтобы каждое изображение имело автоматическую гиперссылку страницы для каждого изображения, где изображение можно увидеть больше с информацией о покупке, которая также загружена в таблицу MySQL, а не на 100% с codeigniter заманивая, пожалуйста, посмотрите на сайт, который я пытаюсь построить на http://www.fresherdesign.co.uk/PIFF/index.php/main/gallery

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

Любая помощь будет потрясающей, спасибо всем заранее

Алан Мортон

Ответы [ 2 ]

0 голосов
/ 24 июля 2010

Если вы хотите, чтобы фактические изображения были загружены (а не сохранены в базе данных - обратите внимание, что хранение в базе данных немного сложнее, чем при стандартной загрузке), вы можете создать поле в базе данных для местоположения изображения; именно так вы будете сопоставлять данные изображения с содержанием страницы.

Теперь, если вы хотите, чтобы гиперссылка создавалась автоматически, я предлагаю запросить в базе данных все «активные» записи (опять же, это может быть другое поле, если вы просто не удалите старые записи). С каждой записью должен быть связан уникальный идентификатор. Таким образом, когда вы даете список, просто включите тег, похожий на

while($row = mysql_fetch_array($query_result)){
    // Change this to whatever formatting you need
    print '<a href="your_content_page.php?id=<?php print $row['ID']; ?>"><!-- Whatever content for link --></a>';
}

Теперь это только ваш цикл для получения результатов. Фактическая страница теперь должна запрашивать базу данных на основе заданного идентификатора. Запрос должен получить содержимое страницы из базы данных. Примерно так будет работать

<?php
if(!isset($_GET['id'])){
  die("Please use a valid link!");
}

$q = mysql_query("SELECT * FROM YOUR_DB_TABLE WHERE ID='".mysql_real_escape_string($_GET['id'])."' LIMIT 1;");

if(!$q || mysql_num_rows($q) < 1){
  die("A MySQL Error Occurred: ".mysql_error());
}

while($row = mysql_fetch_array($q)){
    // Again, adjust this accordingly
    print "Data column 1: ".$row['DataRow1']."<br />".
    "Data Column 2: ".$row['DataRow2']."<br />".
    "<img src='".$row['ImageLocation']."' />";
}

?>

Сейчас я не тестировал этот точный код, однако все должно работать как есть. Но вам нужно будет настроить его соответствующим образом, чтобы соответствовать вашим запросам; но это один из способов достичь того, что вы ищете.

0 голосов
/ 24 июля 2010

Предварительное условие

Вам понадобится имя каталога, в котором хранятся вещи, относительно того, где находится ваша php-страница.Очевидно, у вас уже есть это для создания страницы.Я предполагаю, что он хранится в переменной $dir.

Код

if ($handle = opendir($dir)) {
    while (false !== ($file = readdir($handle))) {
        echo "<a href='http://www.mydomain.com/".$dir."/".$file."'>";
        echo "<img src='http://www.mydomain.com/".$dir."/".$file."' />";
        echo "</a>";
    }
}

Вывод

Это будетпредоставить вам список изображений, которые ссылаются на сам файл изображения.

Возможные изменения

1) Возможно, вы захотите показать только некоторые файлы в каталоге,или определенное количество: используйте блок if, добавленный здесь, чтобы сделать это:

if ($handle = opendir($dir)) {
    //set $strThatSpecifiesImages to whatever you want; 
    //for the example, I'm saying that we only want to show files with "gal_image" in the filename
    $strThatSpecifiesImages = "gal_image"; 
    $maxFilesToShow = 10; //set this to whatever you want; example max is 10
    $count = 0;
    while (($count < $maxFilesToShow) && (false !== ($file = readdir($handle))) {
        if (strpos($file, $strThatSpecifiesImages) > -1) {
           echo "<a href='http://www.mydomain.com/".$dir."/".$file."'>";
           echo "<img src='http://www.mydomain.com/".$dir."/".$file."' />";
           echo "</a>";
           $count++;
        }
    }
}

2) Вы также можете изменить способ отображения вещей, чтобы у вас не было полного изображения, показанного здеськаждый раз.Сделайте это, изменив вещи в echo блоках, которые выводят HTML.Вы можете настроить браузер для изменения размера изображений или просто полностью изменить его, чтобы ссылки использовали вместо текста или что-то еще.

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