1
XMLにデータを追加して正しく動作する次のPHPコードがあります。しかし、私の2番目のステップでは、いくつかの要素を削除するフォームを作成します。問題は、ID番号を追加してから、PHPファイルがそのID番号を検索し、ノード全体を削除することです。XMLで属性を作成
私の質問は、これを動作させるためにCDにIDを追加するにはどうすればいいですか?
For example (<cd id="xxxx">)
insert.php(フォームと私のインデックスファイル)
<h1>Playlist</h1>
<form action="insert2.php" method="post">
<fieldset>
<label for="TITLE">TITLE:</label><input type="text" id="title" name="title" /><br />
<label for="title">BAND:</label> <input type="text" id="band" name="band"/><br />
<label for="path">YEAR:</label> <input type="text" id="year" name="year" /> <br />
<input type="submit" />
</fieldset>
</form>
<h2>Current entries:</h2>
<p>TITLE - BAND - YEAR</p>
<?php
$doc = new DOMDocument();
$doc->load('insert.xml');
$CATEGORIES = $doc->getElementsByTagName("CD");
foreach($CATEGORIES as $CD)
{
$TITLES = $CD->getElementsByTagName("TITLE");
$TITLE = $TITLES->item(0)->nodeValue;
$BANDS= $CD->getElementsByTagName("BAND");
$BAND= $BANDS->item(0)->nodeValue;
$YEARS = $CD->getElementsByTagName("YEAR");
$YEAR = $YEARS->item(0)->nodeValue;
echo "<b>$TITLE - $BAND - $YEAR\n</b><br>";
}
?>
inser2.php(メインコード)
<?php
$CD = array(
'TITLE' => $_POST['title'],
'BAND' => $_POST['band'],
'YEAR' => $_POST['year'],
);
$doc = new DOMDocument();
$doc->load('insert.xml');
$doc->formatOutput = true;
$r = $doc->getElementsByTagName("CATEGORIES")->item(0);
$b = $doc->createElement("CD");
$TITLE = $doc->createElement("TITLE");
$TITLE->appendChild(
$doc->createTextNode($CD["TITLE"])
);
$b->appendChild($TITLE);
$BAND = $doc->createElement("BAND");
$BAND->appendChild(
$doc->createTextNode($CD["BAND"])
);
$b->appendChild($BAND);
$YEAR = $doc->createElement("YEAR");
$YEAR->appendChild(
$doc->createTextNode($CD["YEAR"])
);
$b->appendChild($YEAR);
$r->appendChild($b);
$doc->save("insert.xml");
?>
XMLファイル
<?xml version="1.0" encoding="utf-8"?>
<MY_CD>
<CATEGORIES>
<CD>
<TITLE>NEVER MIND THE BOLLOCKS</TITLE>
<BAND>SEX PISTOLS</BAND>
<YEAR>1977</YEAR>
</CD>
<CD>
<TITLE>NEVERMIND</TITLE>
<BAND>NIRVANA</BAND>
<YEAR>1991</YEAR>
</CD>
</CATEGORIES>
</MY_CD>
こんにちはajrealとあなたの答えに感謝します。私は管理し、フォームを介してIDを与えることによって、別の例から "削除"ソリューションを見つける。 しかし、私は "属性IDの追加"のコードを完全に理解できませんでした。私はIDを解析して "CD"の隣に追加される新しいフォームを作成します。 どんな助けがあっても大丈夫です – JBEnergy
@ user560411 - これは ''とはまったく異なります。ランダムなID割り当て –
ajreal
です。この部分を既存のコードに追加する際にエラーが見つかりました... – JBEnergy