繁体   English   中英

在while循环中在另一个mysql查询中调用mysql查询

[英]Calling a mysql query inside another mysql query while loop

include "mysql.php";
          $query= "SELECT ID,name,displayname,established,summary,searchlink,imagename,image FROM institutions ORDER BY rand() ";
          $result=mysql_query($query,$db);
          while($row=mysql_fetch_array($result))
            {
              echo "<div class='grid-item item1' style='background: ".ran_col().";'>"; 

                $query1= "SELECT content FROM ".$row['name']." limit 1";
                $result1=mysql_query($query1,$db);
                while($row1=mysql_fetch_array($result1))
                {
                            echo "<div class='content-short' data-id=".$row['name'].">";
                                $string = $row1['content'];
                                if (strlen($string) > 200) 
                                {
                                $trimstring = substr($string, 0,200). '...';
                                } 
                                else 
                                {
                                $trimstring = substr($string,0). '...';
                                }
                                echo $trimstring;

                            echo "</div>";
                }
              echo <"/div">;
            }

应该执行什么代码:

代码应从机构表中获取数据,然后将$row['name']用作下一个mysql查询的表,从该表中获取$row['name']$row['content']

但是它不能像预期的那样工作

您到处都使用相同的变量。 更改为

include "mysql.php";
          $query= "SELECT ID,name,displayname,established,summary,searchlink,imagename,image FROM institutions ORDER BY rand() ";
          $result=mysql_query($query,$db);
          while($row=mysql_fetch_array($result))
            {
              echo "<div class='grid-item item1' style='background: ".ran_col().";'>"; 

                $query1= "SELECT content FROM ".$row['name']." limit 1";
                $result1=mysql_query($query1,$db);
                while($row1=mysql_fetch_array($result1))
                {
                            echo "<div class='content-short' data-id=".$row['name'].">";
                                $string = $row1['content'];
                                if (strlen($string) > 200) 
                                {
                                $trimstring = substr($string, 0,200). '...';
                                } 
                                else 
                                {
                                $trimstring = substr($string,0). '...';
                                }
                                echo $trimstring;

                            echo "</div>";
                }
              echo <"/div">;
            }

编辑:

另外你的查询是错误的

$query1= "SELECT content FROM ".$row['name']" limit 1";

$query1= "SELECT content FROM ".$row['name']." limit 1";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM