1 テーブル
----------------------------
| 名前 | 李暁明 |シャオミン | 22:10 |
------
まず情報を収集します
$url="http://www.abc.com";
$name="/bs[.* ]s*=s *news*Book('[0-9]*','(.*?)','[0-9]*','.*','.*','[0- 9]*'、'(.*?)'、'[0-9]*'、'.*'、'[0-9]*'、'.*'、'(.*?)'/iU ";
preg_match_all( $name,$duUrl,$xiaoname);
$a=$xiaoname[1];
$b=$xiaoname[2];
$c=$xiaoname[3]; // これら 3 つは収集された値
を尋ねます。最初の値が収集された場合、その後ろに NNNN があります。
$b = 23:13; 1 $a を取得すると解決します。値が見つかったら、データベースフィールドの値と比較したいです。
時刻フィールドが存在しない場合は、これを修正してください。
アドバイスをお願いします。
ディスカッションへの返信(解決策)
さらに、
$a の値が Li Xiaoming である場合、Li Xiaoming をデータベースの検索条件として使用します。その場合、$c=Rongrong の値を使用します。
変更されていない場合は、スキップしてください。
結果セットが見つかりません。
$mysqli=new mysqli("localhost","root","aa","aa" "); $ mysqli->query("set names utf8"); }
別のアイデアもあります。
収集されたのは配列でした。
フィールド名のすべての値を配列に戻すように宣言できれば、
比較に in_array を使用できます。 「はい」の場合は挿入し、そうでない場合は挿入します。 。 。
しかし、name は配列に宣言されています。これを行うにはどうすればよいですか?
$sql = "updatebiao set baodao='$b', time='$c' where name='$a'"; ; query($sql);
しかし、最初に問題を解決する必要があります。つまり、名前列に 2 つの名前がある場合、どうすればよいでしょうか。
$sql = "updatebiao set baodao='$b', time='$c' where name='$a'";
$mysqli->query($sql); ただし、最初はあなたです。問題を解決するには: 同じ名前が表示される場合、つまり、名前の列に Li Xiaoming が 2 つある場合はどうすればよいですか?
リー・シャオミンは2回以上登場せず、0回または1回のみ登場します。
とても良いですね。問題は解決しましたか?
データベースにこのフィールドがある場合は更新しますか? ない場合は、挿入します
<?php if($mysqli->query("select * from biao where baodao = '$a'")){ //有结果就更新 $mysqli->query("update biao set baodao='$b', time='$c' where name='$a'"); }else{ //没结果就插入 $mysqli->query("insert into biao ('$a','b','c')"); }?>
<?php if($mysqli->query("select * from biao where baodao = '$a'")){ //有结果就更新 $mysqli->query("update biao set baodao='$b', time='$c' where name='$a'"); }else{ //没结果就插入 $mysqli->query("insert into biao ('$a','$b','$c')"); }?>
<?php if($mysqli->query("select * from biao where baodao = '$a'")){ //有结果就更新 $mysqli->query("update biao set baodao='$b', time='$c' where name='$a'"); }else{ //没结果就插入 $mysqli->query("insert into biao ('$a','$b','$c')"); }?>