有一个数据库的表table1结构如下keytitle      keycontent
i             xiaoxiao
you           shuishui
...这样有大量数据,我现在想把它们的值都读出来,分别赋值给一个变量<?php
//省略部分代码
$exec="select * from table1";
//省略部分代码
$a=      //这里应该得到keytitle的值i
$b=      //这里应该得到keytitle的值you
$c=      //这里应该得到keycontent的值xiaoxiao
$d=      //这里应该得到keycontent的值shuishui
...
?>请问这个代码该如何写呢?

解决方案 »

  1.   


    /*
    keytitle keycontent
    i xiaoxiao
    you shuishui
    ...
    //省略部分代码
    $exec="select * from table1";
    //省略部分代码
    $a= //这里应该得到keytitle的值i
    $b= //这里应该得到keytitle的值you
    $c= //这里应该得到keycontent的值xiaoxiao
    $d= //这里应该得到keycontent的值shuishui
    */
    $code = 97;
    $arr = array();
    while($row = mysql_fetch_assoc($result)){
    if($code < 99){//可以根据情况调整
    $arr[chr($code)] = $row['keytitle'];
    }else{
    $arr[chr($code)] = $row['keycontent'];
    }
    $code++;
    }extract($arr);//将数组切割成变量如:$arr = array('a' => 'one', 'b' => 'two', 'c' => 'three');extract($arr);后可以用$a,$b,$c
      

  2.   

    while($row = mysql_fetch_assoc($result)){
        $data[$row["keytitle"]]=$row["keycontent"];
    }
    这样吧.直接一个用keytitle字段作为数组key 的数组.
      

  3.   

    while($row = mysql_fetch_assoc($result)){
      $data[$row["keytitle"]]=$row["keycontent"];
    }那我如何显示这一条条数据呢?
      

  4.   


    echo $data[$row["keytitle"]];
      

  5.   


    多谢,但我还是没看懂while($row = mysql_fetch_assoc($result)){
    $data[$row["keytitle"]]=$row["keycontent"];
    echo $data[$row["keytitle"]];
    }这个和while($row = mysql_fetch_assoc($result)){
    echo $row["keycontent"];
    }有什么区别吗?读出来的一样的效果阿,而且不是我想要的那种效果...
      

  6.   


    前者是用个东西保存起来,后面直接输出了
    存起来的好处是你可以以后操作来输出
    比如echo '<h2>'.$data[$row["keytitle"]].'</h2>';
      

  7.   

    那问题来了,这里的
    echo '<h2>'.$data[$row["keytitle"]].'</h2>';
    这样,我怎么知道显示的是否是我要的呢?
    比如有这么一段代码,我想要显示下面的效果
    //头部省略
    <body>
    <h2>这里我想显示的是keytitle -- i</h2>
    <span>这里我想显示的是keycontent -- xiaoxiao</span>
    <p>这里我想显示的是keycontent -- shuishui</p>
    <div>这里我想显示的是keytitle - you</div>
    </body>这个该如何加上PHP代码呢?每个keytitle的外面元素不一样,keycontent的也不一样,似乎用上面这个就不能解决了
      

  8.   


    将kyzy_yy_pm所给的代码里面的while语句改一下:
    while($row = mysql_fetch_assoc($result)){
        $arr["$row['keytitle']"] = $row['keycontent'];
    }
    这样直接将keytitle的值作为数组的key,就可以知道哪个对应哪个了