?php
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了海港免費(fèi)建站歡迎大家使用!
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM person");
echo "table border='1'
tr
thFirstname/th
thLastname/th
/tr";
while($row = mysql_fetch_array($result))
{
echo "tr";
echo "td" . $row['FirstName'] . "/td";
echo "td" . $row['LastName'] . "/td";
echo "/tr";
}
echo "/table";
mysql_close($con);
? 以上代碼的輸出:FirstnameLastnameGlennQuagmirePeterGriffin以上的表現(xiàn)就是表格
取行的數(shù)據(jù)庫行的主鍵字段的值,然后對(duì)數(shù)據(jù)執(zhí)行更新操作:
update tabblename set xxx1 = 'aaaa',xxx2='bbbb' where id = 主鍵的值.
php模板循環(huán)中,最常見的循環(huán)就是foreach了,簡(jiǎn)單高效使php程序里大量運(yùn)用了foreach,這里我們就模板里的循環(huán)進(jìn)行解說。在php模板中,循環(huán)被改裝成對(duì)稱的loop 和 /loop 模式,代碼:
!-- loop from=$rslist key=$key value=$value [id=rslist_id] --
...
!-- /loop --
參數(shù)解析:
from,數(shù)據(jù)來源
key,給數(shù)組下標(biāo)附一個(gè)變量
value,值
id,給數(shù)組from里信息增加屬性,這里提供了三個(gè)屬性
num,當(dāng)前數(shù)量,從1開始計(jì)起
index,當(dāng)前索引,從0開始計(jì)起
total,當(dāng)前數(shù)組數(shù)量
示例1:在文章列表中常用到的循環(huán)
!-- loop from=$rslist key=$key value=$value --
lia href="{$value.url}" title="{$value.title}"span class="date"{func date Y-m-d $value.dateline}/span{$value.title}/a/li
!-- /loop --
一般我們?yōu)榱藴p少數(shù)據(jù)庫鏈接,取數(shù)據(jù)是一次取出所有想要的數(shù)據(jù)然后做循環(huán)處理,而不是一個(gè)個(gè)循環(huán)取出
$servername?=?"localhost";
$username?=?"root";
$password?=?"root";
$dbname?=?"aaaa";
//?創(chuàng)建連接
$conn?=?new?mysqli($servername,?$username,?$password,?$dbname);
//?Check?connection
if?($conn-connect_error)?{
die("連接失敗:?"?.?$conn-connect_error);
}?
$conn-query('set?names?utf8');
$sql?=?"SELECT?name?FROM?xiao?";//這里是查詢xiao表的name列的所有數(shù)據(jù)
$result?=?$conn-query($sql);
if?($result-num_rows??0)?{
//?輸出數(shù)據(jù)
while($row?=?$result-fetch_assoc())?{
//print_r($row);
echo?"name:?"?.?$row["name"]."br";//這里是循環(huán)打印
}
}?else?{
echo?"沒有查詢到數(shù)據(jù)";
}
$conn-close();
如果你的文件不大,就應(yīng)該使用file,把所有文件內(nèi)容讀入數(shù)組,對(duì)數(shù)組進(jìn)行處理(+1),然后寫會(huì)文件。
如果文件較大,或者BT老師不讓用數(shù)組,那么就只有一行一行的讀文件,每讀一行處理一行,然后寫入一個(gè)臨時(shí)文件,最后關(guān)閉兩個(gè)文件,刪除舊文件,再把臨時(shí)文件更名為舊的,大概的過程如下:
?php
$f='a.txt';//需要處理的文件名
$f1=fopen($f,'r');
$f2=fopen($f.'.tmp','w');
while?(!?feof($f1)){
$s=fgets($f1);
$s++;
fputs($f2,$s);
}
fclose($f2);
fclose($f1);
rename($f.'.tmp',?$f);
?
修改和刪除指定行,我們一般用file將文件內(nèi)容讀取到數(shù)組中,根據(jù)數(shù)字索引比較容易修改,但是你要求用文件指針,這個(gè)比較麻煩,不管你用的是filesystem的函數(shù)還是spl類函數(shù),都不可避免一個(gè)問題,對(duì)一個(gè)文件流操作,最多替換流中間的某一段內(nèi)容,不可能實(shí)現(xiàn)插入,又不是c語言的鏈表,
//修改第二行內(nèi)容
$f?=?fopen('test.txt',?'r+');
$i?=?1;?
while?(!feof($f))?{
if?($i?==?2)?{
fseek($f,?0,?SEEK_CUR);
fwrite($f,?'aad');//這里的修改是替換形式,如果修改后這一行的長(zhǎng)度比原來短,那么可以用空格填充到原來長(zhǎng)度,這樣實(shí)現(xiàn)修改,而且不影響后面的內(nèi)容,但是修改后的比原來長(zhǎng)就麻煩了,
break;?
}
fgets($f);
$i++;
}
fclose($f);
//刪除行同修改行一樣,只不過是將原來行替換為同等長(zhǎng)度的空格串
$f?=?fopen('test.txt',?'r+');
$j?=?1;
while?(!feof($f))?{
if?($j?==?2){
$row?=?fgets($f);
$len?=?strlen($row);
echo?ftell($f)-$len."br";
fseek($f,?ftell($f)-$len);
fwrite($f,?str_pad('?',?$len,?'?'));
break;
}
fgets($f);
$j++;
}
fclose($f);