在php中使用2 while循环和move next

ia2d9nvy  于 2021-08-13  发布在  Java
关注(0)|答案(2)|浏览(482)

有谁能帮我使用2 while循环条件和2 move next?

  1. <?
  2. $condition1=$core_db->Execute("select Husbandname, age, marriedto from
  3. husbands");
  4. $condition2=$core_db->Execute("select age, marriedto from wifes where
  5. wifename=?", array($condition1->fields[2]));;
  6. echo 'any';
  7. while(!$condition1->EOF){
  8. echo 'any';
  9. $condition1->MoveNext();
  10. };
  11. ?>

我上面的示例显示了表hursons中的丈夫姓名和年龄,现在我想在同一个循环中使用movenext从wifes表中获取妻子数据,以提供所有成员的数据。
你知道吗?

nr9pn0ug

nr9pn0ug1#

查看联接:https://www.w3schools.com/sql/sql_join.asp
您的基本意思是您需要一个sql语句和一个while循环(如果我理解正确的话)

  1. <?
  2. $condition=$core_db->Execute("select * FROM table1
  3. INNER JOIN table2 ON table2.id = table1.id");
  4. echo 'any';
  5. while(!$condition->EOF){
  6. echo 'any';
  7. $condition->MoveNext();
  8. };
  9. ?>

更新:
根据您的更新:

  1. $condition1=$core_db->Execute("select Husbandname, age,
  2. marriedto from husbands");
  3. $condition2=$core_db->Execute("select age,
  4. marriedto from wifes where wifename=?", array($condition1->fields[2]));

我会这样做(sql方式):

  1. $condition = $core_db->Execute("select husbands.Husbandname,
  2. husbands.age, husbands.marriedto, wifes.id, wifes.age, wifes.marriedto from
  3. husbands INNER JOIN husbands.marriedto = wifes.id");
  4. while(!$condition->EOF){
  5. echo 'any';
  6. $condition->MoveNext();
  7. };

如果你想用php而不是sql来实现这一点,你可以这样做(我推荐sql-way)

  1. <?
  2. $condition1=$core_db->Execute("select Husbandname, age,
  3. marriedto from husbands");
  4. echo 'any';
  5. while(!$condition1->EOF){
  6. $condition2=$core_db->Execute("select age,
  7. marriedto from wifes where wifename=?", array($condition1->fields[2]));
  8. echo 'any';
  9. $condition1->MoveNext();
  10. };
  11. ?>
展开查看全部
taor4pac

taor4pac2#

你的意思是这样的:

  1. <?
  2. $condition1=$core_db->Execute("select ANY from Any");
  3. $condition2=$core_db->Execute("select ANY from Any");
  4. while(!$condition1->EOF || !condition2->EOF){
  5. if (!$condition1->EOF) {
  6. // Code for condition1...
  7. $condition1->MoveNext();
  8. }
  9. if (!$condition2->EOF) {
  10. // Code for condition2...
  11. $condition2->MoveNext();
  12. }
  13. };
  14. ?>

但这通常不是正确的方法(在一个循环中处理查询)

展开查看全部

相关问题