2014-03-24 48 views
1

我正在一個應用程序上工作,但我想從數據庫中選擇所有的id和圖像路徑,但結果的限制,但所有我從mysql_fetch_assoc($running)Array([id] => 1 [app_img_path] => images/1_subway_surfers.jpg)但我想要做的是選擇所有的身份證(1 - 10)和所有的圖像路徑不只是一個請怎麼做。這是我的代碼 HTML從mysql數據庫中選擇所有的'id'和'app_img_path'

<div id="andriod_menu"> 
      <div id="categories"> 
       <ul id='cat_con'> 
        <li id="Arc" data-app="arc_app" data-db-table="arcade_apps_andriod"><div id="Arc_txt">Arcade 
        <img src="images/ajax-loader (5).gif" id="loader_ard" value="ard"> 
        </div></li> 
        <li id="Spo" data-app="spo_app" data-db-table="sports_apps_andriod"><div id="Spo_txt">Sports 
        <img src="images/ajax-loader (5).gif" id="loader_ard" value="spo"> 
        </div></li> 
        <li id="act" data-app="act_app" data-db-table="action_apps_andriod"><div id="act_txt">Action 
        <img src="images/ajax-loader (5).gif" id="loader_ard" value="act"> 
        </div></li> 
        <li id="adv" data-app="adv_app" data-db-table="adventure_apps_andriod"><div id="adv_txt">Adventure 
        <img src="images/ajax-loader (5).gif" id="loader_ard" value="adv"> 
        </div></li> 
        <li id="sim" data-app="sim_app" data-db-table="simulation_apps_andriod"><div id="sim_txt">Simulation 
        <img src="images/ajax-loader (5).gif" id="loader_ard" value="sim"> 
        </div></li> 
        <!--<li id="spo"><div id="spo_txt">sports</div></li>--> 
        <li id="rac" data-app="rac_app" data-db-table="racing_apps_andriod"><div id="rac_txt">Racing 
        <img src="images/ajax-loader (5).gif" id="loader_ard" value="rac"> 
        </div></li> 
       </ul> 
      </div> 

的JavaScript

function li_categories() 
     { 
      //list of the 
      $('div>#loader_ard').hide(); 
      var cat_arr= 
      [ 
      'Arc', 
      'Spo', 
      'act', 
      'adv', 
      'sim', 
      'rac' 
      ]; 


      jQuery.each(cat_arr, function() { 
       //$('button[value="' + this + "]') 
       $('#' + this).click(function() 
       { 
        $(this).find('#loader_ard').show(); 
        cat_clicked=$(this).data('app');// this returns the data object... 
        db_selected=$(this).data('db-table'); 


        //if the cat_click data matches the data on the db get the list of data from 
        // the db.. 

        $.ajax(
        { 
         url:"pages/func.php", 
         type: "POST", 
         dataType: "json", 
         cache: false, 
         data: {clicked:cat_clicked,db_selected:db_selected} 

        }); 


       }); 
      }); 




     } 

     li_categories(); 

PHP

function cat_clicked() 
{ 

if (isset($_POST['clicked']) && isset($_POST['db_selected'])) { 
    $clicked=$_POST['clicked']; 
    $db_selected=$_POST['db_selected']; 

    include('db_con.php'); 
    // go the data base based on the db categories and fecth all the app data.. 
    $sqlbaba="SELECT `id`,`app_img_path` FROM `$db_selected`"; 
    $run=mysql_query($sqlbaba) or die(mysql_error()); 

    if ($running=mysql_query($sqlbaba)) { 

     $ss=mysql_fetch_assoc($running); 
     print_r($ss); 

    } 



} 

} 
cat_clicked(); 

回答

4

你的函數mysql_fetch_assoc只取一個行。

要遍歷所有的行使用此:

while ($ss=mysql_fetch_assoc($running)) { 
    print_r($ss); 
} 

注意: 您當前的PHP代碼有嚴重的安全問題。您應該使用MySQLi-接口或PDO

這是因爲

$db_selected=$_POST['db_selected']; 
$sqlbaba="SELECT `id`,`app_img_path` FROM `$db_selected`"; 

所以,如果我修改$_POST['db_selected'];到邪惡的東西像mysql_information; drop table $db_selected我可以輕易摧毀你的應用程序。

+0

非常感謝@Tjati,它的工作原理就像你說的。 – ubilli

+1

請標記我的答案爲已接受。 – tjati

+0

@Tjati +1提及PDI/MySQLi並回答這個問題。最近有太多人沒有這樣做。我也強烈建議用戶學習其中的一種並改進他們的代碼。現在值得花時間在一年內挽救頭痛。 – JClaspill