以下是一个简单的 Vue + PHP 代码示例,用于获取数据库 user 表中的 avatar 字段,并根据是否设置头像来决定使用哪个图片地址。其中,如果头像字段值为空,则使用默认的 logo.png 图片地址:
Vue 前端代码:
<template>
<div>
<img :src="avatarUrl" alt="头像">
</div>
</template>
<script>
export default {
data() {
return {
avatar: '',
defaultAvatar: 'http://example.com/logo.png'
}
},
created() {
// 发送请求获取用户头像信息
axios.get('/api/user/avatar').then(response => {
this.avatar = response.data.avatar;
});
},
computed: {
avatarUrl() {
// 判断头像是否为空,使用不同的图片地址
return this.avatar ? this.avatar : this.defaultAvatar;
}
}
}
</script>
PHP 后端接口代码:
<?php
// 连接数据库
$host = 'localhost';
$username = 'db_user';
$password = 'db_pass';
$dbname = 'my_database';
$conn = mysqli_connect($host, $username, $password, $dbname);
// 获取用户头像数据
$sql = "SELECT avatar FROM user WHERE id = 123";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($result);
// 返回结果给前端
$response = array('avatar' => $row['avatar']);
header('Content-Type: application/json');
echo json_encode($response);
?>
请将代码中的 /api/user/avatar
替换为自己的后端接口地址,同时根据实际情况修改数据库连接信息、SQL 查询语句和默认图片地址。另外,请确保服务器上有 logo.png 文件,并且文件路径正确。