Php 计划:单击“预订时间段”以显示正在预订的特定用户的图像?怎么办?

Php 计划:单击“预订时间段”以显示正在预订的特定用户的图像?怎么办?,php,sql,image,Php,Sql,Image,好的,我已经为预定时段的时间表编写了php代码。sql正在提取用户名(文本)并显示它,但我现在尝试显示用户的图片,而不仅仅是名称(文本)。我一辈子都找不到任何东西可以清楚地告诉我如何在单击时显示图像,而不是sql中的文本。请帮忙,谢谢:) 完整代码: <?php require('head.php');?> <?php // Basic info $slotb = $_GET['slot']; $day = $_GET['day']; // User info $usern

好的,我已经为预定时段的时间表编写了php代码。sql正在提取用户名(文本)并显示它,但我现在尝试显示用户的图片,而不仅仅是名称(文本)。我一辈子都找不到任何东西可以清楚地告诉我如何在单击时显示图像,而不是sql中的文本。请帮忙,谢谢:)

完整代码:

<?php require('head.php');?>

<?php
// Basic info
$slotb = $_GET['slot'];
$day = $_GET['day'];

// User info
$username = $_SESSION['rp_username'];
$avatar = $_SESSION['rp_avatar'];
$rank = $_SESSION['rp_rank'];

// Get user's ID
$sql = mysql_query("SELECT id, username FROM rp_users WHERE username = '$username'");
while($row = mysql_fetch_array($sql))
{

$userid = $row['id'];
}

// Determine day of week
if($_GET['week'] == "")
{

$_GET['week'] = date("l");
}


// Determine day of week
if($_GET['day'] == ""){
$day = $_GET['week'];

$_GET['week'] = date("l"); 
}


// Get slot info
$slot = mysql_fetch_array(mysql_query("SELECT * FROM rp_timetable WHERE day =        '$day'"));



// Timetable heading
echo "<div id='timetable'><center><b><u>Timetable</u></b><p>
<h1>-You are currently viewing $day's timetable-</h1><p>
<a href='?week=Monday'>Monday</a> | <a href='?week=Tuesday'>Tuesday</a> | <a href='?      week=Wednesday'>Wednesday</a> | <a href='?week=Thursday'>Thursday</a> | <a href='? week=Friday'>Friday</a> | <a href='?week=Saturday'>Saturday</a> | <a href='? week=Sunday'>Sunday</a><br><hr><br>";



// Process booking
if($_GET["action"] == "book")
{

if($slot[$slotb] == "")
{

$command = mysql_query("UPDATE rp_timetable SET `$slotb` = '$userid' WHERE day =     '$day'") or die(mysql_error());

if($command)
{

echo "<center><h1>Successfully booked slot!</h1></center><br/>";

$slot = mysql_fetch_array(mysql_query("SELECT * FROM rp_timetable WHERE day =  '$day'"));

}else{

echo "<center><h1>ERROR - An unknown error occurred, please try again.</h1></center>    <br/>";

}

}else{

echo "<center><h1>The selected slot is already booked!</h1></center><br/>";

}

}elseif($_GET["action"] == "unbook")
{

if($slot[$slotb] == $userid || $rank == "Administrator")

{

$command = mysql_query("UPDATE rp_timetable SET `$slotb` = '' WHERE day = '$day'") or   die(mysql_error());

if($command)
{

echo "<center><h1>Successfully unbooked slot!</h1></center><br/>";

$slot = mysql_fetch_array(mysql_query("SELECT * FROM rp_timetable WHERE day =    '$day'"));

}else{

echo "<center><h1>ERROR - An unknown error occurred, please try again.</h1></center> <br/>";

}

}else{

echo "<center><h1>You cannot unbook this slot!</h1></center><br/>";

}
}
elseif($_GET["action"] == "empty"){

if($rank == "Administrator")
{

$command = mysql_query("UPDATE rp_timetable SET `1`='', `2`='', `3`='', `4`='', `5`='',   `6`='', `7`='', `8`='', `9`='', `10`='', `11`='', `12`='', `13`='', `14`='', `15`='',   `16`='', `17`='', `18`='', `19`='', `20`='', `21`='', `22`='', `23`='', `24`='' WHERE  day='$day'") or die(mysql_error());
    if($command)
{

echo "<center><h1>Successfully cleared all slots for day!</h1></center><br/>";


$slot = mysql_fetch_array(mysql_query("SELECT * FROM rp_timetable WHERE day =  '$day'"));


}else{

echo "<center><h1>ERROR - An unknown error occurred, please try again.</h1></center><br/>";

}

}
else{

echo "<center><h1>Only administrators may unbook all slots for the day!</h1></center>    <br/>";
}

}


// Start of timetable
echo "<table border='0' valign='middle' align='center'><tr>
<td width='150px' align='center'><b><u>Time</u></b></td>
<td width='150px' align='center'><b><u>DJ Booked</u></b><td></tr>
<tr><td></td><td></td></tr>";



// Display each timeslot/table
function outit($time, $num)
{

global $day, $slot, $userid, $rank;


$info = mysql_fetch_array(mysql_query("SELECT * FROM rp_users WHERE id =   '".$slot[$num]."'"));

if($slot[$num] == "")
{ 

$book[$num] = "<a href='?action=book&day=$day&slot=$num'>BOOK SLOT</a>"; 

}
elseif($userid == $slot[$num] || $rank == "Administrator")
{

$book[$num] = "<a href='?action=unbook&day=$day&slot=$num'><b>DJ ".$info['avatar']."   (Unbook)</a></b>";

}else{

$book[$num] = "<b><font color='black'>DJ ".$info['avatar']."</font></b>";

}

if($num%2)
{

echo "<tr class='colour'><td width='150px' align='center'>$time</td><td width='150px'    align='center'>".$book[$num]."<td></tr>";

}else{

echo "<tr><td width='150px' align='center'>$time</td><td width='150px'   align='center'>".$book[$num]."<td></tr>";

}
}


// Print it out
outit('12:00 - 01:00 AM', 1);
$i = 2;
while($i <= 12)
{

$start_time = $i - 1;
$end_time = $i;
if(strlen($start_time) == 1){$start_time = "0".$start_time;}

if(strlen($end_time) == 1){$end_time = "0".$end_time;}

$full_time = "$start_time:00 - $end_time:00 AM";

outit($full_time, $i);

$i++;
}
outit('12:00 - 01:00 PM', 13);
$i = 14;
while($i <= 24)
{

$start_time = $i - 13;
$end_time = $i - 12;
if(strlen($start_time) == 1){$start_time = "0".$start_time;}

if(strlen($end_time) == 1){$end_time = "0".$end_time;}

$full_time = "$start_time:00 - $end_time:00 PM";

outit($full_time, $i);

$i++;
}


// Bottom of timetable
echo "<tr><td align='center'>---------------</td><td align='center'>---------------  </td></tr>";
echo "<tr><td width='150px' align='center'><b>$day</b></td>
<td width='150px' align='center'>";

if ($_SESSION["rp_rank"] == "Administrator")
{ 

echo("<a href='?action=empty&day=$day'>CLEAR DAY</a>");
}


echo "</td></tr></table>
</center><p></div>";
?>


<?php require('bottom.php');?>


要使用会话中似乎存储的$avatar变量,请执行以下操作:

echo '<img src="'.$avatar.'"></img';

echo'您能提供用于回显查询结果的php吗?还有一些输出的示例行?您可以修改查询以选择要显示的图像url。然后显示它。@Darren该代码中的哪个查询正在选择用户图像的URL?还有,图像url在哪个表和哪个字段上?好的,这是fella的代码,请大家帮忙:)我确实尝试了那行代码Brian,得到了输出错误:解析错误:语法错误,意外的T_常量_ENCAPSED_字符串92@DB代码只是一个例子,它假设您有一个查询,该查询选择了一个名为image_url的字段,并为数组提供了一个$row变量,您必须修改它以适应您的情况。如果您希望我们为您这样做,我们需要知道图像URL存在于哪个表和哪个字段上。我在您的代码中没有看到任何查询似乎表明正在选择图像url。请尝试并在问题中添加关于OP如何修改查询以选择图像url的内容,因为他似乎还没有尝试过,因此您的回答对他毫无帮助。@Darren他似乎正在选择图像的名称,但它只是显示为文本当然,这是我基于非常有限的信息做出的假设。但是当他说“用户的图片而不仅仅是名称(文本)”时,我觉得他很像是在抓取URL,只是它显示为文本,他的问题是将文本转换为图像。实际上,你有一个很好的观点,Brian,我想他抓取的是用户名“文本”,而不是实际的图像URL作为文本@Brain提前感谢你的病人,伙计。在用户信息部分,我们将$djname更改为$avatar,这就是我们遇到的问题,我们需要正确的输入代码/输入位置来显示sql中的化身。我们的查询来自username=$userid。@DB看起来$userid是您为名为$sql的查询结果指定的变量,列“id”。在查看您所有查询中选择的所有列时,我没有看到任何表示化身或用户图像的内容。“rp_users”表中是否有保存图像URL的列?如果是,您将要选择它。选择后,您可以使用上面的我的代码将其回显,但您可以将“image\u url”更改为列的名称
echo '<img src="'.$info['avatar'].'"></img';
<?php require('head.php');?>

<?php
// Basic info
$slotb = $_GET['slot'];
$day = $_GET['day'];

// User info
$username = $_SESSION['rp_username'];
$avatar = $_SESSION['rp_avatar'];
$rank = $_SESSION['rp_rank'];


echo $avatar;


<?php require('bottom.php');?>