1

以下のコードを取得して、定義したノード名を出力するにはどうすればよいですか?現在のところ、SQLテーブルの列名に基づいてノードを作成します。列とノードの両方を定義したいと思います。また、誰かが私のテーブルにデータを挿入したときに、挿入されたデータにそのデータを追加するようにコーディングするにはどうすればよいですか?例えば:

Input data: "davidjmorin"
Data inserted: "http://someurl.com/davidjmorin"

元の質問のコードは次のとおりです。

<?
//header('Content-type: text/xml');

$link = mysql_connect('localhost','root','IhaveAlLthEanSwers2012!');
mysql_select_db('bb_links');

$sql = "Select * from `links`";
$run = mysql_query($sql, $link);

if( $run && mysql_num_rows( $run ) ) {
$doc = new DOMDocument( '1.0' );
$doc->formatOutput = true;
$doc->preserveWhiteSpace = true;

$root = $doc->createElement( 'data' );
$doc->appendChild( $root );

while( ( $fetch = mysql_fetch_assoc( $run ) )!== false ) {
    $node = $doc->createElement( 'channel' );
    $root->appendChild( $node );

    foreach( $fetch as $key => $value ) {
        createNodes( $key, $value, $doc, $node );
    }
}
$doc->save("thelinks.xml");
}
//$node = "channel";
function createNodes( $key, $value, $doc, $node ) {
$key = $doc->createElement( $key );
$node->appendChild( $key );
$key->appendChild( $doc->createTextNode( $value ) );
}
?>
4

1 に答える 1

0

最初の質問で何を求めているのか完全にはわかりませんが、2 番目の質問 (実際にはここで 2 番目の質問に分割する必要があります) については、あなたが求めているのは単なる基本的な文字列連結だと思います。例えば、

<?php
    $url_name = "http://www.example.com/";
    $data = $_POST['name']; //davidjmorin
    $data_to_insert = $url_name . $data;
    //Insert data into database
?>

mysql_*また、新しいコードには関数を使用しないでください。それらはもはや保守されておらず、コミュニティは非推奨プロセスを開始しています(赤いボックスを参照)。代わりに、準備済みステートメントについて学び、 PDOまたはMySQLiのいずれかを使用する必要があります。どちらかを判断できない場合は、この記事が役に立ちます。学びたいなら、これは良い PDO チュートリアルです。

私は真剣です。これらの機能は使用しないでください。まったく。

于 2012-06-23T19:22:12.270 に答える