2015-04-06 55 views
0

我有一个MySQL数据库。对于大约100行的每一行,我需要列表中的列中的项目列表中的第一项。所以如果在第一排列包含php函数 - 为每一行选择返回数组中的第一项

honda convertible four-wheel drive 

我需要摘掉本田。如果下一行和同一列包含

mazda hardtop two-wheel drive 

我需要选择马自达。

我试图在ajax调用中做到这一点,但我有问题,因为SELECT FIRST和SELECT TOP 1不受MySql支持。因此,也许更好的解决方案是在返回后获取数据的函数中执行此操作。由于我要返回的项目之一是该特定列中的所有数据(除了数组中的其他列)。该列是selector_buttongroup_classes。这里是我的功能:

displayCars(); 

function displayCars() { 

    $.ajax({ 
     type : 'GET', 
     url : '/modules/crm/selector-ajax.php', 
     data : { 
      'action' : 'get-images' 
     }, 
    dataType: 'json', 
    success : function(data) { 
     var resultArray = data.isotopecubes; 
     var resultArray2 = data.isotopecubes2; 
     var selectorDiv = $('#boat_isotope_gallery'); 
     var divHtml = ''; 

      var i = 0; 

      for (i = 0; i < resultArray.length; i++) { 

       divHtml += "<div class='element-item " + resultArray[i].selector_buttongroup_classes + "' data-range-test='100-400' " + resultArray[i].selector_sliderdata_attributes + " ><h3 class='name'>" + resultArray[i].product_name + "</h3><p class='weight'><img src='" + resultArray[i].photo + "' width='80' border='0' alt=''></p></div>"; 
      } 

     selectorDiv.html(divHtml); 
    }, 
    error : function(err) { 
     console.log('ajax failure'); 
    } 
}); 
} }); // end of document ready 

如何获得类似

$manufacturer[i]=resultArray[i].selector_buttongroup_classes.first_item 

,我可以再内使用For语句?

+0

MySQL有'ORDER BY列LIMIT 1'获取第一行结果。 – Barmar

+0

我不确定我是否理解这个问题。 “TOP 1”用于获得第一排结果。但是你的问题是关于从字符串中提取第一个单词,而不是第一行。你可以使用MySQL中的SUBSTRING_INDEX,PHP中的explode()或Javascript中的.split()。 – Barmar

+0

@bksi他没有数组,他只有一个来自数据库列的字符串。 – Barmar

回答

0

使用.split()对空间分割字符串:

var manufacturer = resultArray[i].selector_buttongroup_classes.split(' ')[0]; 

你也可以做到这一点在MySQL查询与SUBSTRING_INDEX功能

SELECT SUBSTRING_INDEX(selector_buttongroup_classes, ' ', 1) AS manufacturer 

DEMO

+0

选择子字符串没有为我工作,但第一个选项加上分割结束工作完美:var manufacturer = resultArray [i] .selector_buttongroup_classes.split('' )[0];非常感谢你! – Frank

+0

我不知道为什么SUBSTRING_INDEX不适合你。它在这里工作:http://www.sqlfiddle.com/#!9/3b233/1 – Barmar

相关问题