我有一个mysql表字段,它由指向图像的url组成。我正在使用php,希望图像与其他字段一起显示在表中。
我想我需要使用php switch语句并引用row('name')或field ref number来创建代码。我有这个工作在经典的asp很好,但需要在php代码。
$result = mysql_query("SELECT sometext,urlvalue,somemoretext FROM Table");
if (!$result) {
die("Query to show fields from table failed");
// Table fields
// sometext
// urlvalue an http image address such as http://www.example.com/image.jpg"
// somemoretext
$fields_num = mysql_num_fields($result);
echo "<table border='1'>
<tr bgcolor='yellow' align='left'>";
for($i=0; $i<$fields_num; $i++) {
$field = mysql_fetch_field($result);
echo "<th>{$field->name}</th>";
}
echo "\n";
// printing table rows
while($row = mysql_fetch_row($result)) {
echo "<tr>";
// $row is array... foreach( .. ) puts every element
// of $row to $cell variable
foreach($row as $cell)
switch $fields_num {
case "2":
// result cell looks like this ---->
// <td><a target='_blank' href='http://www.example.com/image.jpg'><img src='http://http://www.example.com/image.jpg'></a></td>
echo "<td><a target='_blank' href='" . $cell ."'><img src='" . $cell ."'></a></td>";
break;
default:
echo "<td>$cell</td>";
echo "</tr>\n";
}
mysql_free_result($result);
2条答案
按热度按时间jjjwad0x1#
如果您知道要访问的列,并且知道哪个列是url,那么您可以使用以下命令
mysqli_
-在内部循环中使用条件检查匹配列名的基于代码块。如果不知道要处理的列,可以使用
filter_var($val, FILTER_VALIDATE_URL)
假设结果集中只有一个url字符串。如果您选择第二个选项,我的代码块的一个副作用是您将重新设计<th>
部分。我拒绝用英语写答案
mysql_
函数,所以请借此机会更新您的代码。为了便于调试,我已经包含了连接声明和基本的错误检查(从不在公共网站上显示错误消息。)未测试代码:
ghg1uchk2#
我不完全清楚你的意思,但不是引用字段号,而是引用名称。