php mysql_query相关查询

时间:2014-12-26 18:21:15

标签: php mysql select

我尝试对我的数据库中的表运行查询,并且该行的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); 
    }

2 个答案:

答案 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`;";

因为你从内部选择

获得了所有东西