我尝试对我的数据库中的表运行查询,并且该行的id
字段返回我以运行查询以获取不同表的assistance
字段
我尝试做的代码是针对webService,我的想法是将第一次咨询的所有字段标记为;
,但是第二个表的assistance
,并且分开字段:
我刚开始使用php进行编程,所以如果我没有表达自己的意见或者提出非常基本的东西,我会道歉。
感谢您的时间和帮助。
CODE
if($tabla =="servicio")
{
$consulta = "SELECT `tipo` , `nombre` , `descripcion` , `hora` , `minuto` ,`lugar` , `duracion`,`fecha` , `horacero`, `id` FROM `".$tabla;
$resultado= mysql_query($consulta,$enlace);
$arraySalida = array();
while($registro = mysql_fetch_assoc ($resultado) ):
$consulta2 = "SELECT `asistencia` FROM `voluntarioServicio` WHERE id = `".$registro['id']."` AND emei = '".$emei."' ";
$resultado2= mysql_query($consulta,$enlace);
$registro2 = mysql_fetch_assoc ($resultado2);
$cadena = "{$registro['tipo']};{$registro['nombre']};{$registro['descripcion']};{$registro['hora']};{$registro['minuto']};{$registro['lugar']};{$registro['duracion']};{$registro['fecha']};{$registro['horacero']};{$registro2['asistencia']}";
$arraySalida[]= $cadena;
endwhile;
echo implode(":",$arraySalida);
}
答案 0 :(得分:1)
谢谢,我已经解决了。我把代码留在这里,希望有人能为你服务。
<强> CODE 强>
$consulta = "SELECT tipo,nombre,descripcion,hora,minuto,lugar,duracion,fecha,horacero,id,asistencia FROM ( SELECT ".$tabla.".*, voluntarioServicio.asistencia FROM ".$tabla."left join voluntarioServicio on (".$tabla.".id=voluntarioServicio.id) ) as tabla";
$resultado= mysql_query($consulta,$enlace);
$arraySalida = array();
while($registro = mysql_fetch_assoc ($resultado) ):
$cadena = "{$registro['tipo']};{$registro['nombre']};{$registro['descripcion']};{$registro['hora']};{$registro['minuto']};{$registro['lugar']};{$registro['duracion']};{$registro['fecha']};{$registro['horacero']};{$registro['asistencia']}";
$arraySalida[]= $cadena;
endwhile;
echo implode(":",$arraySalida);
答案 1 :(得分:1)
更好的SQL是
$consulta = "SELECT `table_a`.*, `table_b`.`asistencia`
FROM `".$tabla."` `table_a`
JOIN `voluntarioServicio` `table_b` ON `table_a`.`id` = `table_b`.`id`;";
因为你从内部选择
获得了所有东西