0

您好我正在尝试根据目录结构选择表,但查询无法正常工作。Pets 是主文件夹,里面有文件夹 Dogs 、 Cats 、 fishes 、 Horses http://animalswecare.com/Pets/Dogs/

http://animalswecare.com/Pets/Cats/

http://animalswecare.com/Pets/Horses/

我正在根据目录结构选择表,例如如果页面在 Pets>Dogs 然后是表 dogs_DB ,如果相同的代码或页面放在 Pets>Cats 然后表cats_DB 我使用 echo 进行检查,输出在代码的末尾。

 <?php
include('../../connectuser.php');
echo $ab=$_SERVER['PHP_SELF'];
$show=explode ("/",$ab);
echo $show[0]."<br />";
echo $show[1]."<br />";
echo $show[2]."<br />";
echo $pagename= $show[1].$show[2];
echo "<br />";
switch ( $pagename ) {

 case 'PetsDogs':  
 $tbl_name = 'dogs_DB';
 break;

 case 'PetsCats':  
 $tbl_name = 'cats_DB';
 break;

 case 'PetsFishes':  
 $tbl_name = 'fishes_DB';
 break;

 case 'PetsHorses':  
 $tbl_name = 'horses_DB';
 break;
 }
 echo $tbl_name;
 echo "<br />";
 echo $sel = "SELECT * FROM $tbl_name" or die('error in query');
 $fetch = mysqli_query( $dbc, $sel );

 while ( $row = mysqli_fetch_array( $fetch ) ) {

 echo $title;
 $title = $row['title'];
 }
 echo "<br />";

  echo $title."hiii";
 ?>

http://animalswecare.com/Pets/Dogs/get_links.php

页面放在 Pets>Dogs 文件夹 /Pets/Dogs/get_links.php 下时的输出

宠物

小狗

宠物狗

狗_DB

1

hiii

4

4 回答 4

1

似乎 $row['title'] 的查询行设置为空字符串。如果为 null,则最后一个 echo 不会输出任何内容。尝试 var_dump() 以获取有关变量的更多信息。

于 2012-07-05T12:20:11.387 回答
0

启动一个变量,如

$pagename = $show[1].$show[2];

不是

echo $pagename= $show[1].$show[2];

while 循环中的 $title 变量也是如此

echo $title;
$title = $row['title'];

改为

$title = $row['title'];
echo $title;

由于看起来您想在循环外部使用 $title 变量,因此您还需要在外部声明它。

$title = "";
while ( $row = mysqli_fetch_array( $fetch ) ) {
 $title = $row['title'];
 echo $title;     
}
echo "<br />";
echo $title."hiii";
于 2012-07-05T12:28:38.887 回答
0

$title在循环结束时似乎为空 while ( $row = mysqli_fetch_array( $fetch ) )

于 2012-07-05T12:16:43.403 回答
0

这两条线不应该反过来吗?

echo $title;
$title = $row['title'];

所以:

while ( $row = mysqli_fetch_array( $fetch ) ) {

    $title = $row['title'];
    echo $title;
}
echo "<br />";

echo $title."hiii";
于 2012-07-05T12:22:14.397 回答