[英]how to fetch all rows data from the database using while loop and stored fetch values in variables in php
大家好我擁有數據庫中的表從中獲取數據表的一列有用戶輸入ni根據用戶輸入獲取數據,如果用戶在文本框中輸入2,只有包含數字2的行將顯示為代碼在沒有房間的基礎上插入
<?php
$d=$_POST['roomno'];
echo $d;
?>
<?php
//database connection
$db = new PDO("mysql:host=localhost;dbname=ems",'root','');
//query
$sql = "INSERT INTO table1 (c,c1, c2, c3, c4,c5,c6,c7,c8,c9,c10,c11,c12,c13) VALUES ('',:c1, :c2, :c3, :c4,:c5, :c6, :c7, :c8, :c9,:c10, :c11, :c12,'$d')";
$stmt = $db->prepare($sql);
foreach ($data_t1 as $i => $value) {
$stmt->execute(array(
':c1'=>$data_t1[$i],
':c2'=>$data_t2[$i],
':c3'=>$data_t3[$i],
':c4'=>$data_t4[$i],
':c5'=>$data_t11[$i],
':c6'=>$data_t22[$i],
':c7'=>$data_t33[$i],
':c8'=>$data_t44[$i],
':c9'=>$data_t111[$i],
':c10'=>$data_t222[$i],
':c11'=>$data_t333[$i],
':c12'=>$data_t444[$i],
));
} ?>
用於獲取數據的編碼
<?php
include('config.php');
$sa="select * from table1 where c13='$d'";
$result=mysql_query($sa) or die(mysql_error());
echo "<table border='1'>
<tr>
</tr>";
<?php
$i = 1;
while($row = mysql_fetch_array($result)) {
echo ${"r" . $i . "1"} = $row['c'];
echo ${"r" . $i . "2"} = $row['c1'] ;
echo ${"r" . $i . "3"} = $row['c2'];
echo ${"r" . $i . "4"} = $row['c3'];
echo ${"r" . $i . "5"} = $row['c4'];
$i++;
}
結果
$d=3;mean user enter 3
3 room deatils enter in three rows of table like ths
row1 2 4 5 6 3(user enter value)
row2 12 14 15 16 3(user enter value)
row3 22 44 55 63 3(user enter value)
現在正如我在提取查詢中提到的那樣,獲取數據,其中c13(房間)=用戶輸入($ d);
以上三行顯示的結果
現在我想將這三個行值中的每一個存儲在不同的變量中
以類似的方式,如果用戶輸入2或4我想在不同的變量中存儲兩行或四行值
當然它只會顯示最后一行。 在查詢結果的每次迭代中,您將重寫$r
-nth變量,因此在循環之后您將看到的結果僅是在上一次迭代期間分配的值。
采用
$row = array();
while($row[] = mysql_fetch_array($result)){
}
因此,您將獲得存儲為$row
的數組的所有數據。 它的作用如下:迭代查詢結果並獲取它。 fetching方法返回當前迭代行值的數組。 該數組被推入$row
數組。 因此,可以在$row
的相應索引處訪問每個行值。 使用print_r( $row );
看結構。
陣列的進一步使用如下:
echo $row[ 0 ][ 'c1' ];
echo $row[ 0 ][ 'c2' ];
echo $row[ 1 ][ 'c3' ];
如果要根據動態行數顯示輸入,請使用以下命令:
$count = count( $row );
for( $i = 0 ; $i < $count; $i++ ){
echo $row[ $i ][ 'c1' ];
}
只是:
$data = array() ; //Declare an array
while($row = mysql_fetch_array($result)){
$data[] = $row ; //Add every row to array
}
echo $data['c4'] ; // Work with the array ETC
我建議你使用邁克爾·薩佐諾夫的方式..但如果你不想在這里使用數組,你可以去:
<?php
$i = 1;
while($row = mysql_fetch_array($result)) {
${"r" . $i . "1"} = $row['c'];
${"r" . $i . "2"} = $row['c1'] ;
${"r" . $i . "3"} = $row['c2'];
${"r" . $i . "4"} = $row['c3'];
${"r" . $i . "5"} = $row['c4'];
$i++;
}
現在內容存儲在$ r11 $ r12 $ r13 .. $ r35中,您必須手動回顯或使用2 for循環
<?php
for($i=1; $i<=3; $i++) {
for($j=0; $j<=5; $j++) {
echo ${'r'.$i.$j};
}
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.