Не могу отображать изображение из базы данных за пределами таблицы в php

У меня есть этот код

<?php
session_start();
if (isset($_GET["cmd"]))
  $cmd = $_GET["cmd"];
else
  die("You should have a 'cmd' parameter in your URL");
 $pk = $_GET["pk"];
$con = mysql_connect("localhost","root","geheim");
if (!$con)
{
die('Connection failed because of' .mysql_error());
}
mysql_select_db("ebay",$con);
if ($cmd= = "GetAuctionData")
{
echo "<table border='1' width='100%'>
<tr>
<th>Username</th>
<th>Start Date</th>
<th>Description</th>
</tr>";
$sql = "SELECT * FROM Auctions WHERE ARTICLE_NO ='$pk'";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result))
{
echo "<tr>
<td>".$row['USERNAME']."</td>
<td>".$row['ARTICLE_NO']."</td>
<td>".$row['ARTICLE_NAME']."</td>
<td>".$row['SUBTITLE']."</td>
<td>".$row['CURRENT_BID']."</td>
<td>".$row['START_PRICE']."</td>
<td>".$row['BID_COUNT']."</td>
<td>".$row['QUANT_TOTAL']."</td>
<td>".$row['QUANT_SOLD']."</td>
<td>".$row['ACCESSSTARTS']."</td>
<td>".$row['ACCESSENDS']."</td>
<td>".$row['ACCESSORIGIN_END']."</td>
<td>".$row['USERNAME']."</td>
<td>".$row['BEST_BIDDER_ID']."</td>
<td>".$row['FINISHED']."</td>
<td>".$row['WATCH']."</td>
<td>".$row['BUYITNOW_PRICE']."</td>
<td>".$row['PIC_URL']."</td>
<td>".$row['PRIVATE_AUCTION']."</td>
<td>".$row['AUCTION_TYPE']."</td>
<td>".$row['ACCESSINSERT_DATE']."</td>
<td>".$row['ACCESSUPDATE_DATE']."</td>
<td>".$row['CAT_1_ID']."</td>
<td>".$row['CAT_2_ID']."</td>
<td>".$row['ARTICLE_DESC']."</td>
<td>".$row['COUNTRYCODE']."</td>
<td>".$row['LOCATION']."</td>
<td>".$row['CONDITIONS']."</td>
<td>".$row['REVISED']."</td>
<td>".$row['PAYPAL_ACCEPT']."</td>
<td>".$row['PRE_TERMINATED']."</td>
<td>".$row['SHIPPING_TO']."</td>
<td>".$row['FEE_INSERTION']."</td>
<td>".$row['FEE_FINAL']."</td>
<td>".$row['FEE_LISTING']."</td>
<td>".$row['PIC_XXL']."</td>
<td>".$row['PIC_DIASHOW']."</td>
<td>".$row['PIC_COUNT']."</td>
<td>".$row['ITEM_SITE_ID']."</td>
<td>".$row['STARTS']."</td>
<td>".$row['ENDS']."</td>
<td>".$row['ORIGIN_END']."</td>
</tr>
<tr><td></td></tr>";

}
echo "</table>";
echo "<img src = ".$row['PIC_URL'].">";
}
mysql_close($con);
?>

Вот сгенерированный HTML:

<table border='1' width='100%'>
<tr>
<th>Username</th>
<th>Start Date</th>
<th>Description</th>
</tr><tr>
<td>fashionticker1</td>
<td>220288560247</td>
<td>Ed Hardy Herren Shirt Rock & Roll Weiss XXL Neu & OVP</td>
<td></td>
<td>0.00</td>
<td>49.00</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>1.10.2008 16:22:09</td>
<td>6.10.2008 16:22:09</td>
<td>6.10.2008 16:22:09</td>
<td>fashionticker1</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>59.00</td>
<td>http://storage.supremeauction.com/flash/ebay2/10/49/76/10497654/13895964e.jpg</td>
<td>0</td>
<td>1</td>
<td>6.10.2008 16:21:47</td>
<td>6.10.2008 16:28:31</td>
<td>32315</td>
<td>0</td>
<td><!-- +++++++++++++++++++++++++ Bitte ändern Sie im eigenen Interesse nichts an diesem Code! ++++++++++++++++++++++++ -->
<!-- +++++++++++++++++++++++++ Das kann massive Fehldarstellungen ihrer Auktion zur Folge haben! +++++++++++++++++++ -->
<!-- +++++++++++++++++++++++++ ++++++++++++++++++++++++++ Ihr Supreme Team +++++++++++++++++++++++++++++++++++++++++ -->
</td>
<td>
<br>
<br>
<style ty</td>
<td>float: right;
</td>
<td>margin: 0px;
</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>padding:5px; 
</td>
<td>0.00</td>
<td>0.00</td>
<td>0.00</td>
<td>0</td>
<td>0</td>
<td>font-size: 12px;
</td>
<td>color: #333333;
}
#h</td>
<td>0000-00-00 00:00:00</td>
<td>0000-00-00 00:00:00</td>
<td>0000-00-00 00:00:00</td>
</tr>
<tr><td></td></tr></table><img src=>

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

Не могли бы вы включить выводимый HTML-код? Похоже, вам где-то не хватает тега или цитаты.

Greg 28.11.2008 17:36

Меня бы больше интересовало полное содержание блоков кода. Нам не хватает открывающих фигурных скобок, и, учитывая только то, что мы видим, вполне возможно, что переменная $ row выпала из области видимости.

3Doubloons 28.11.2008 17:44
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
887
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Должен быть:

echo "<img src=\"".$row['PIC_URL']."\">";

вы можете вставить HTML? Я предполагаю, что либо HTML неверен, либо изображение не существует по указанному URL-адресу

Paul Dixon 28.11.2008 18:25

Изображение определенно существует, я вставил html сюда: nomorepasting.com/getpaste.php?pasteid=22292

user1253538 28.11.2008 18:31

<style ty</td> мне кажется проблемой.

это не моя работа, а часть данных, содержащих разметку html. Почему это мешает отображению изображения, если изображение находится за пределами базы данных?

user1253538 28.11.2008 18:02

Это правильно - браузер (протестированный в FF), кажется, игнорирует остальную часть html, поскольку тег не закрыт. Возможно, вы можете вызвать strip_tags () или htmlentities () для этих плохих данных HTML.

Tom Haigh 28.11.2008 18:57

Вы создаете этот тег img вне своего цикла while, который заканчивается, когда $ row имеет значение false. Другими словами, вы достигнете этого кода только тогда, когда $ row не содержит никакой информации, потому что вы закончили читать строки!

Либо выведите ячейку для изображения, либо выведите новую строку с одной ячейкой для изображения, охватывающей всю строку.

если я оставлю его в цикле, ничего не отображается

user1253538 28.11.2008 17:59
while ($row = mysql_fetch_array($result))
{
*snip*
}
echo "</table>";
echo "<img src = ".$row['PIC_URL'].">";

Поскольку цикл завершен, $ row имеет значение false. Вам нужно изменить его на что-то вроде.

while ($row = mysql_fetch_array($result))
{
*snip*
$lastImg = $row['PIC_URL'];
}
echo "</table>";
echo "<img src=\"$lastImg\">";

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

while ($row = mysql_fetch_array($result))
{
    *snip*
    $images[] = $row['PIC_URL'];
}
echo "</table>";
?><p>Are these valid urls you can open in yer browser?</p><pre><?php
    print_r($images);
?></pre><?php

По-прежнему изображение не отображается, хотя он генерирует правильный html и определенно есть изображение по URL-адресу

user1253538 28.11.2008 18:39

Вы должны проверить: есть ли атрибут PIC_URL, возвращаемый с запросом? есть ли в последней строке вашего запроса действительное изображение? URL работает, если вы поместите его в браузер?

OIS 28.11.2008 19:11

HTML правильный, и когда я беру URL-адрес изображения, созданный в HTML, он работает нормально, PIC_URL возвращается с запросом, я изменил слои из таблицы, но проблема та же.

user1253538 01.12.2008 12:58

Другие вопросы по теме