2015-10-14 96 views
1

所以我使用jQuery在窗體上動態實現了文本字段,然後用它插入到我的數據庫中。現在我遇到了兩個問題,一個是每次用戶發佈表單條目時,我都用逗號分隔行中的所有條目。其次,當我從數據庫中檢索相同的數據時,我會得到整個行。我想要的是每個單詞在單獨的div中。下面是兩個代碼:如何分隔sql查詢的結果?

form.php的

<?php 
include "init.php"; 
?> 

<!DOCTYPE html> 
    <html> 
    <head> 
     <!--Import Google Icon Font--> 
     <link href="http://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> 

     <link type="text/css" rel="stylesheet" href="css/materialize.min.css" media="screen,projection"/> 
     <link type="text/css" rel="stylesheet" href="css/animation.css"> 

     <!--Let browser know website is optimized for mobile--> 
     <meta name="viewport" content="width=device-width, initial-scale=1.0"/> 
    </head> 

    <body> 
      <form action ="result.php" method="post"> 

        <div class="row"> 
         <div class="input-field col s4 green-text text-lighten-3"> 

         <input name="set_name" type="text" class="validate"> 
         <label for="set_name">Set Name</label> 

         </div> 
        </div> 

        <div class="details"> 
        </div> 


        <br> 
        <br> 
        <br> 


        <button class="btn waves-effect waves-light orange darken-4 text" type="submit" id="" name="action">Save 
        </button> 

        <div class="right bottom"> 
        <a class="btn-floating btn-large waves-effect waves-light pink add_field_button"><i class="material-icons">add</i></a> 
        </div> 
        </form> 

     <!--Import jQuery before materialize.js--> 
     <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script> 
     <script type="text/javascript" src="js/materialize.min.js"></script> 
      <script type="text/javascript"> 

     $(document).ready(function() { 
      var max_fields  = 10; //maximum input boxes allowed 
      var wrapper   = $(".details"); //Fields wrapper 
      var add_button  = $(".add_field_button"); //Add button ID 

      var x = 1; //initlal text box count 
      $(add_button).click(function(e){ //on add input button click 
       e.preventDefault(); 
       if(x < max_fields){ //max input box allowed 
        x++; //text box increment 
        $(wrapper).append('<div class="row"><div class="input-field col s6 green-text text-lighten-3"><input name="word[]" type="text" class="validate"><label for="word[]">Word</label></div><div class="input-field col s6 green-text text-lighten-3"><input name="def[]" type="text" class="validate"><label for="def">Definition</label></div><a class="btn waves-effect waves-light blue-grey darken-4 remove_field"><i class="material-icons">delete</i></a> </div>'); //add input box 
       } 
     }); 

     $(wrapper).on("click",".remove_field", function(e){ //user click on remove text 
      e.preventDefault(); $(this).parent('div').remove(); x--; 
     }) 
    }); 
    </script> 
</body> 

這裏是result.php

<?php 
include "init.php"; 
$name = $_POST["set_name"]; 
if($_POST){ 
    $word = implode(",", $_POST["word"]); 
    $def = implode(",", $_POST["def"]); 
    echo $word; 
    echo "<br>"; 
    echo $def; 
} 
$sql_query = "insert into table values('$name', '$word', '$def');"; 
if(mysqli_query($conn, $sql_query)) { 
     echo '<script language="javascript">'; 
     echo 'alert("Inserted!")'; 
     echo '</script>'; 

    } 
    else { 
     echo '<script language="javascript">'; 
     echo 'alert("Error in database, cannot insert.")'; 
     echo '</script>'; 
    } 


$result = mysqli_query($conn, "SELECT set_word FROM ayush95 WHERE set_name = 'Hindi';"); 
if($result->num_rows > 0){ 

    echo $result->fetch_object()->set_word; 

} 

$conn->close(); 
?> 

回答

0

可以使用explode PHP函數。這裏是一個來自PHP文檔的例子。

// Example 1 
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; 
$pieces = explode(" ", $pizza); 
echo $pieces[0]; // piece1 
echo $pieces[1]; // piece2 
0

TheZozoOwner部分正確;但是,該代碼仍然會在一行中回顯所有內容。

如果你想讓它呼應了個人的線條,試試這個...

$pieces = explode(",", $result->fetch_object()->set_word); 
$count = count($pieces); 

for($i=0; $i < $count; $i++) { 
echo $pieces[$i].'<br>'; 
} 

編碼快樂!