我的代码有问题,当我想读取安装在使用php的服务器上的数据库时,我想显示每个已读取元素的列表,但在我的应用程序中却无法显示它们。我的代码如下。
使用php中的echo时,我可以看到控制台中读取的内容,但我想在列表中显示它,然后仅使用具有相应ID的元素。
PHP:
<?php
$cons_usuario="marketch";
$cons_contra="Uponfallen1@";
$cons_base_datos="marketch_principal";
$cons_equipo="localhost:3306";
$id = $_GET['id'];
$tabla;
$arrayDetalle = Array();
$idNegocio;
$nombreNegocio;
$logo;
$descripcion;
$nombreDueno;
$urlFacebook;
$telefono;
$status;
switch ($id) {
case 1:
$tabla="Agricultura";
break;
case 2:
$tabla="Alimentos";
break;
case 3:
$tabla="Comercio";
break;
case 4:
$tabla="Construccion";
break;
case 5:
$tabla="Cultura";
break;
case 6:
$tabla="Educacion";
break;
case 7:
$tabla="Hoteles";
break;
case 8:
$tabla="Limpieza";
break;
case 9:
$tabla="Manufactura";
break;
case 10:
$tabla="Mercado";
break;
case 11:
$tabla="MercadoAngeles";
break;
case 12:
$tabla="MercadoFrancisco";
break;
case 13:
$tabla="Periodicos";
break;
case 14:
$tabla="Salud";
break;
case 15:
$tabla="Servicios";
break;
case 16:
$tabla="Transporte";
break;
case 17:
$tabla="Turismo";
break;
}
$obj_conexion =
mysqli_connect($cons_equipo,$cons_usuario,$cons_contra,$cons_base_datos);
if(!$obj_conexion)
{
}
else
{
}
$var_consulta= "select * from $tabla ORDER BY nombreNegocio";
$var_resultado = $obj_conexion->query($var_consulta);
if($var_resultado->num_rows>0)
{
while ($var_fila=$var_resultado->fetch_array())
{
$idNegocio = $var_fila["id"];
$nombreNegocio = $var_fila["nombreNegocio"];
$logo =$var_fila["logo"];
$descripcion = $var_fila["descripcion"];
$nombreDueno = $var_fila["nombreDueno"];
$urlFaceboook = $var_fila["urlFacebooko"];
$telefono = $var_fila["telefono"];
$status = $var_fila["status"];
if($status){
$arrayDetalle[] = array(
"id" => $idNegocio,
"nombreNegocio" => $nombreNegocio,
"logo" => $logo,
"descripcion" => $descripcion,
"nombreDueno" => $nombreDueno,
"urlFacebook" => $urlFacebook,
"telefono" => $telefono,
"status" => $status
);
$json = json_encode($arrayDetalle);
echo $json;
}
}
}
?>
反应原生:
function Alimentos({ navigation }) {
const [lista, setLista] = useState([]);
const [id, setId] = useState('');
const [nombreNegocio, setNombreNegocio] = useState('');
const [logo, setLogo] = useState('');
const [descripcion, setDescripcion] = useState('');
const [nombreDueno, setNombreDueno] = useState('');
const [urlFacebook, setUrlFacebook] = useState('');
const [telefono, setTelefono] = useState('');
const [status, setStatus] = useState('');
async function getRegistros() {
try {
const res = await axios.get('http://localhost:8080/backend/?id=2');
console.log(res.data)
setLista(res.data)
} catch (error) {
console.log(error)
}
}
return (
getRegistros(),
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<ImageBackground source={require('./assets/background.jpg')} style={styles.image}>
<Header style={{ backgroundColor: '#105DB8', borderBottomWidth: 0, width: actualDimensions.width }}>
<Button transparent onPress={() => navigation.dispatch(DrawerActions.openDrawer)} style={{
width: actualDimensions.width,
marginStart: width / 10
}}>
<Icon name="menu" style={{ color: 'white' }} />
<Label style={{
color: 'white', textAlignVertical: 'center', width: actualDimensions.width,
alignContent: 'center', alignItems: 'center', alignSelf: 'center', textAlignVertical: 'center'
}}>
Chilpo Market
</Label>
</Button>
</Header>
<Text style={{ textAlign: 'center', color: 'white', fontSize: 30 }}>Alimentos y Bebidas</Text>
</ImageBackground>
</View>
)
}