Сега ще ви покажа как да си спестите писане при SELECT :ако искате да запишете някое SELECT -запитване в променлива, можете да напишете следното;
CODE1
2
3
4
5
6
7
8
9
10
11
12
| <?php
$result = mysql_query("SELECT * FROM table WHERE order");
while($row = mysql_fetch_array($result)) {
// write result
$field1 = $row["field1"];
$field2 = $row["field2"];
$field3 = $row["field3"]; //
// Data output
echo $field1.", ".$field2.", ".$field3."<BR>";
}
?> |
така обаче сте ви се наложи да пишете много,а при по-големи табели е направо непоносимо винаги да повтаряте
"$feld = $row["feld"];". Можете обаче да подходите алтернативно по следния начин :
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| <?php
$result = mysql_query("SELECT * FROM table WHERE order");
while($row = mysql_fetch_array($result)) {
// number of fields determine
$j = mysql_num_fields($result);
for($i=0;$i<$j;$i++) {
// name of the current field determine
$k = mysql_field_name($result,$i);
// assign a value to the fieldname
$$k = $row[$k];
}
// display data
echo $field1.", ".$field2.", ".field3."<BR>";
}
?> |
по този начин можете да си спестите излишна работа.
В променливата $j се запазва броят на полетата.С for извикваме всяко поле в $result.При което всяко имена полето се запазва в $k.Обаче не можем на $k да придаваме стойност на $row[] защотото така сте презапишем името на полето.За да можем да използваме сьдьржанието на променливата като променлива ,записваме следното :$$k =$row[...]. По този начин придаваме сьдьржанието на променливата.