有一个数据库的表table1结构如下keytitle keycontent
i xiaoxiao
you shuishui
...这样有大量数据,我现在想把它们的值都读出来,分别赋值给一个变量<?php
//省略部分代码
$exec="select * from table1";
//省略部分代码
$a= //这里应该得到keytitle的值i
$b= //这里应该得到keytitle的值you
$c= //这里应该得到keycontent的值xiaoxiao
$d= //这里应该得到keycontent的值shuishui
...
?>请问这个代码该如何写呢?
i xiaoxiao
you shuishui
...这样有大量数据,我现在想把它们的值都读出来,分别赋值给一个变量<?php
//省略部分代码
$exec="select * from table1";
//省略部分代码
$a= //这里应该得到keytitle的值i
$b= //这里应该得到keytitle的值you
$c= //这里应该得到keycontent的值xiaoxiao
$d= //这里应该得到keycontent的值shuishui
...
?>请问这个代码该如何写呢?
/*
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
$data[$row["keytitle"]]=$row["keycontent"];
}
这样吧.直接一个用keytitle字段作为数组key 的数组.
$data[$row["keytitle"]]=$row["keycontent"];
}那我如何显示这一条条数据呢?
echo $data[$row["keytitle"]];
多谢,但我还是没看懂while($row = mysql_fetch_assoc($result)){
$data[$row["keytitle"]]=$row["keycontent"];
echo $data[$row["keytitle"]];
}这个和while($row = mysql_fetch_assoc($result)){
echo $row["keycontent"];
}有什么区别吗?读出来的一样的效果阿,而且不是我想要的那种效果...
前者是用个东西保存起来,后面直接输出了
存起来的好处是你可以以后操作来输出
比如echo '<h2>'.$data[$row["keytitle"]].'</h2>';
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的也不一样,似乎用上面这个就不能解决了
将kyzy_yy_pm所给的代码里面的while语句改一下:
while($row = mysql_fetch_assoc($result)){
$arr["$row['keytitle']"] = $row['keycontent'];
}
这样直接将keytitle的值作为数组的key,就可以知道哪个对应哪个了