2012-01-01 8 views
0

現在、PHPを使用してアクセスしているMySQLデータベースがあります。あなたは名前を検索し、その人の連絡先情報を返します。ただし、すでに存在する名前を検索し、2人の連絡先情報を返すことがあります。MySQLからの複数行の解析とHTMLテーブルへの挿入

JavaScriptを使用してHTMLテーブルに情報を挿入しています。 PHPは連絡先情報をスペースで区切られた長い文字列として返しています。そして私は区切り文字としてスペース文字を使用している間に分割関数を使用しています。

検索結果が1つの名前しか返さない場合は、これはすべて問題ありません。 2つの名前を返すとき、私は2つの連絡先の情報をどのように分離するかを考え出すのに問題があります。 PHPはそれらを1つの連続した文字列として返すので。ここで

は私のPHPコードのスニペットです:ここで

$data = mysql_query($sqlString) or die("Issue here:" . mysql_error()); 

    while($row = mysql_fetch_array($data)){ 
     print $row['firstName'] . " " . $row['lastName']; 
    }; 

は私のJavaScriptコードのスニペットです:

$.post("searchDB.php", {search:$("#searchValue").val(), 
     searchType:$("#searchType").val()}, 
     function(results) { 
      var parsedResults = results.split(" "); 
      //code for inserting into HTML. 
     }); 
+0

あなたはどのマークアップを挿入していますか?姓と名はセルを共有しているのですか、または最初のセルに1つあり、2番目に1つありますか? –

+0

'$ sqlString'のSQLは明白かもしれません。その情報がなければ、どのように問題に遭遇しているのか分かりません。 –

答えて

2

私は次から一人のフル名を区切るために区切り文字を使用することをお勧めしたい:

次のjQueryを導く
$data = mysql_query($sqlString) or die("Issue here:" . mysql_error()); 

    while($row = mysql_fetch_array($data)){ 
     print $row['firstName'] . " " . $row['lastName'] . "__"; 
    }; 

(この仮定上のあなたは初段を分離する必要はありません。異なる要素の名前と最後の名):

$.post("searchDB.php", {search:$("#searchValue").val(), 
     searchType:$("#searchType").val()}, 
     function(results) { 
      var fullNames = results.split('__'); 
      var table = $('tableSelector'); 
      for (var i=0,len=fullNames.length; i<len; i++){ 
       var newTr = $('<tr />').append('<td>' + fullNames[i] + '</td>'); 
       $(newTr).appendTo(table); 
      } 
     }); 

一方で、あなたは別々のセルに最初の名と最後の名を持っている必要があり、場合:

$.post("searchDB.php", {search:$("#searchValue").val(), 
     searchType:$("#searchType").val()}, 
     function(results) { 
      var fullNames = results.split('__'); 
      var table = $('tableSelector'); 
      for (var i=0,len=fullNames.length; i<len; i++){ 
       var firstName = fullNames[i].split(' ')[0]; 
       var lastName = fullNames[i].split(' ')[1]; 

       var newTr = $('<tr />').append('<td>' + firstName + '</td><td>' + lastName + '</td>'); 
       $(newTr).appendTo(table); 
      } 
     }); 
0
<?php 
    $result = mysql_query("SELECT * FROM table WHERE name='$name'"); //sample query 
    $output = ""; 
    while ($data = mysql_fetch_array($result){ 
    foreach($data as $key => &$value){ 
     $output .= $value." "; 
    } 
    $output .= "\n" // new MySQL row delimiter 
    } 
?> 

あなたが(新しい行区切り文字のためにあなたが好きな選択することができますここで私は新しい行を選択しました) しかし、出力するだけ$output :)(印刷/エコー) //そしてあなたは何とかトラフのJavaScriptを解析する

関連する問題