我遇到过 MySQL 查询。我需要按字母顺序查看所有记录。
这是我的代码 -
$alphabetsArr = array('#', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
foreach($alphabetsArr as $alpha) {
$conditions = array('CreateListing.is_complete' => 1, 'BuilderType.builder_type LIKE'=>$alpha.'%');
$alphabets[$alpha] = $this->CreateListing->find('all', array('conditions' => $conditions, 'group' => array('CreateListing.builder'), 'contain' => array('BuilderType'), 'fields' => $fields, 'order' => $order, 'limit' => 50));
//$alphabets[$alpha] = mysql_fetch_array(mysql_query("SELECT * FROM create_listings WHERE name LIKE '".$alpha."%'"));
}
<?php
foreach ($alphabets as $key => $letter) {
if (count($letter)) {
?>
<div class="make-group"><a id="<?php echo $key; ?>-make"></a><h3><?php echo $key; ?></h3>
<div class="make-list columnizer-3">
<?php foreach ($letter as $brandname) { ?>
<div><a href="<?php echo $this->webroot.'listing/brand:'.$brandname['BuilderType']['seo'];?>"><?php echo $brandname['BuilderType']['builder_type']; ?></a></div>
<?php } ?>
</div>
<br class="clear">
</div>
<?php }
}
?>
我的代码运行成功。但是万一我在搜索非字母文本时遇到问题。有 #
所以我想显示所有以 Number
或 any Symobl
或 Special character
开头的非字母文本>
如何在单个查询中搜索除 A-Z 之外的文本?
NB - 这是 CakePHP 代码。所以不用担心这段代码。我需要查询。如果您了解核心 php,那么您可以使用核心 php 发布您的答案
最佳答案
您可以使用 RLIKE
与否定 NOT
,它将匹配名称列并返回不以 a 到 z 所有字母开头的行
SELECT
*
FROM
create_listings
WHERE name NOT RLIKE '^[a-z]'
关于php - 如何按非字母顺序显示MySQL记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31825709/