sql出来的集合如何变换成想要的字符串 100分!
query('SELECT infotags,id FROM hd_ecms_shop_data_1 WHERE hd_ecms_shop_data_1.infotags LIKE "%我爱你%"')
想把上面这句query出来的id 组成一个字符串,不知怎么弄呢
比如 输出了五个id值,分别是 1,2,3,4,5
现在我想把这五个值通过变换,搞成这样的字符串
(1,2,3,4,5)
不知怎么弄呢
我想用下面的方法试图做一下,但是不行呢
$result=query('SELECT infotags,id FROM hd_ecms_shop_data_1 WHERE hd_ecms_shop_data_1.infotags LIKE "%我爱你%"');
$foodsPic=array();
while($row=mysql_fetch_array($result)){
$foodsPic[]=$row;
}
print_r($foodsPic);
上面这个方法不仅把id都弄进去了,把别的没用的也一鼓脑弄进去了,我只想要id的集合,并且通过处理,把这几个id搞成字符串的形式,即(1,2,3,4,5)
不知如何改进呢,
回复讨论(解决方案)
$SQ="SELECT infotags,id FROM hd_ecms_shop_data_1 WHERE hd_ecms_shop_data_1.infotags LIKE '%我爱你%'";$result=mysqli_query($link,$SQ);$idStr='';if(mysqli_num_rows($result)){ $data=mysqli_fetch_all($result,MYSQL_ASSOC); foreach($data as $value){ if(isset($value['id'])) $idStr.=$value['id']; } $idStr=rtrim($idStr,','); echo $idStr;}
$SQ="SELECT infotags,id FROM hd_ecms_shop_data_1 WHERE hd_ecms_shop_data_1.infotags LIKE '%我爱你%'";$result=mysqli_query($link,$SQ);$idStr='';if(mysqli_num_rows($result)){ $data=mysqli_fetch_all($result,MYSQL_ASSOC); foreach($data as $value){ if(isset($value['id'])) $idStr.=$value['id']; } $idStr=rtrim($idStr,','); echo $idStr;}
写了一下还是不行,但我感觉你这个思路是正确的,只是我不会利我其中的一个数据库操作类
比如你在其中用的一个函数是 mysqli_fetch_all
我查了一下资料好象这个函数被取缔了.
另外我的系统中有一个数据库函数操作类,帖上来
<?phpdefine('InEmpireCMSDbSql',TRUE);class mysqlquery{ var $dblink; var $sql;//sql语句执行结果 var $query;//sql语句 var $num;//返回记录数 var $r;//返回数组 var $id;//返回数据库id号 //执行mysql_query()语句 function query($query){ global $ecms_config; $this->sql=mysql_query($query,return_dblink($query)) or die($ecms_config['db']['showerror']==1?mysql_error().'<br>'.str_replace($GLOBALS['dbtbpre'],'***_',$query):'DbError'); return $this->sql; } //执行mysql_query()语句2 function query1($query){ $this->sql=mysql_query($query,return_dblink($query)); return $this->sql; } //执行mysql_query()语句(选择数据库USE) function usequery($query){ global $ecms_config; $this->sql=mysql_query($query,$GLOBALS['link']) or die($ecms_config['db']['showerror']==1?mysql_error().'<br>'.str_replace($GLOBALS['dbtbpre'],'***_',$query):'DbError'); if($GLOBALS['linkrd']) { mysql_query($query,$GLOBALS['linkrd']); } return $this->sql; } //执行mysql_query()语句(操作数据库) function updatesql($query){ global $ecms_config; $this->sql=mysql_query($query,return_dblink($query)) or die($ecms_config['db']['showerror']==1?mysql_error().'<br>'.str_replace($GLOBALS['dbtbpre'],'***_',$query):'DbError'); return $this->sql; } //执行mysql_fetch_array() function fetch($sql)//此方法的参数是$sql就是sql语句执行结果 { $this->r=mysql_fetch_array($sql); return $this->r; } //执行fetchone(mysql_fetch_array()) //此方法与fetch()的区别是:1、此方法的参数是$query就是sql语句 //2、此方法用于while(),for()数据库指针不会自动下移,而fetch()可以自动下移。 function fetch1($query) { $this->sql=$this->query($query); $this->r=mysql_fetch_array($this->sql); return $this->r; } //执行mysql_num_rows() function num($query)//此类的参数是$query就是sql语句 { $this->sql=$this->query($query); $this->num=mysql_num_rows($this->sql); return $this->num; } //执行numone(mysql_num_rows()) //此方法与num()的区别是:1、此方法的参数是$sql就是sql语句的执行结果。 function num1($sql) { $this->num=mysql_num_rows($sql); return $this->num; } //执行numone(mysql_num_rows()) //统计记录数 function gettotal($query) { $this->r=$this->fetch1($query); return $this->r['total']; } //执行free(mysql_result_free()) //此方法的参数是$sql就是sql语句的执行结果。只有在用到mysql_fetch_array的情况下用 function free($sql) { mysql_free_result($sql); } //执行seek(mysql_data_seek()) //此方法的参数是$sql就是sql语句的执行结果,$pit为执行指针的偏移数 function seek($sql,$pit) { mysql_data_seek($sql,$pit); } //执行id(mysql_insert_id()) function lastid()//取得最后一次执行mysql数据库id号 { $this->id=mysql_insert_id($GLOBALS['link']); if($this->id<0) { $this->id=$this->gettotal('SELECT last_insert_id() as total'); } return $this->id; } //返回影响数量(mysql_affected_rows()) function affectnum()//取得操作数据表后受影响的记录数 { return mysql_affected_rows($GLOBALS['link']); }}?>
能不能改用这里的方法呢,比如假如
先实例化这个类
$empire=news mysqlquery();
然后用$empire->的方法怎么改写上面的呢,
$SQ="SELECT infotags,id FROM hd_ecms_shop_data_1 WHERE hd_ecms_shop_data_1.infotags LIKE '%我爱你%'";$result=mysqli_query($link,$SQ);$idStr='';if(mysqli_num_rows($result)){ $data=mysqli_fetch_all($result,MYSQL_ASSOC); foreach($data as $value){ if(isset($value['id'])) $idStr.=$value['id']; } $idStr=rtrim($idStr,','); echo $idStr;}
<?php$sqld=$empire->query('SELECT infotags,id FROM hd_ecms_shop_data_1 WHERE hd_ecms_shop_data_1.infotags LIKE "%现货促销产品%"');//查询副表下的infotags字段$idStr='';if($empire->num($sqld)){ $data=$empire->fetch($sqld); foreach($data as $key=>$value){ if(isset($value['id'])) $idStr.=$value['id']; } $idStr=rtrim($idStr,','); echo $idStr;}?>
我改了一下,但是没有成功,不知哪错了
$SQ="SELECT infotags,id FROM hd_ecms_shop_data_1 WHERE hd_ecms_shop_data_1.infotags LIKE '%我爱你%'";$result=mysqli_query($link,$SQ);$idStr='';if(mysqli_num_rows($result)){ $data=mysqli_fetch_all($result,MYSQL_ASSOC); foreach($data as $value){ if(isset($value['id'])) $idStr.=$value['id']; } $idStr=rtrim($idStr,','); echo $idStr;}
我这么写,出来结果了,但是全是乱七八糟的一些数字连在一起了
$sqld=$empire->query('SELECT infotags,id FROM hd_ecms_shop_data_1 WHERE hd_ecms_shop_data_1.infotags LIKE "%我爱你%"');//查询副表下的infotags字段
$idjh=array();
while($bqrd=$empire->fetch($sqld)){
if($bqrd[id])
$idStr.=$bqrd[id];
//$idStr=rtrim($idStr,',');
echo $idStr;
//代码误导你了 修改一下 $idStr.=$bqrd[id].',';}$idStr=rtrim($idStr,',')
另外 mysqli_fetch_all 是 PHP 的mysql数据库驱动 并没有给淘汰,只是服务器需要打开这个支持而已.有的服务器环境可能没有支持比如 sea...一般自己编译的服务器都可以轻松得到这个支持
另外 mysqli_fetch_all 是 PHP 的mysql数据库驱动 并没有给淘汰,只是服务器需要打开这个支持而已.有的服务器环境可能没有支持比如 sea...一般自己编译的服务器都可以轻松得到这个支持
这段代码改成while不用foreach的形式可以吗,并且如何改呢
$SQ="SELECT infotags,id FROM hd_ecms_shop_data_1 WHERE hd_ecms_shop_data_1.infotags LIKE '%我爱你%'";
$result=mysqli_query($link,$SQ);
$idStr='';
if(mysqli_num_rows($result)){
$data=mysqli_fetch_all($result,MYSQL_ASSOC);
foreach($data as $value){
if(isset($value['id']))
$idStr.=$value['id'];
}
$idStr=rtrim($idStr,',');
echo $idStr;
}
$SQ="SELECT infotags,id FROM hd_ecms_shop_data_1 WHERE hd_ecms_shop_data_1.infotags LIKE '%我爱你%'";$result=mysqli_query($link,$SQ);$idStr='';if(mysqli_num_rows($result)){ $data=mysqli_fetch_all($result,MYSQL_ASSOC); foreach($data as $value){ if(isset($value['id'])) $idStr.=$value['id']; } $idStr=rtrim($idStr,','); echo $idStr;}
你这个能改成while形式吗,改完后就可以加分了
//hava a try SELECT GROUP_CONCAT(infotags SEPARATOR ",") as infotags,id FROM hd_ecms_shop_data_1 WHERE hd_ecms_shop_data_1.infotags LIKE '%我爱你%' GROUP BY infotags
可以查询出来id的数组再用implode来处理啊,为啥非要用sql查询来处理?
可以查询出来id的数组再用implode来处理啊,为啥非要用sql查询来处理?
怎么写,无码无真相
//骚年,这是基本功的问题啊while($row=mysql_fetch_array($result)){ $id[]=$row['id'];}echo join(",",$id);
//骚年,这是基本功的问题啊while($row=mysql_fetch_array($result)){ $id[]=$row['id'];}echo join(",",$id);
上仙,再请教一下
为啥
echo $row[id];//打印不出值,也不报错
//echo join(",",$id);//能打印出值来
//骚年,这是基本功的问题啊while($row=mysql_fetch_array($result)){ $id[]=$row['id'];}echo join(",",$id);
上仙我搞错了,思维完全混乱造成的,
Array ( [0] => 9 [1] => 38 [2] => 39 [3] => 40 [4] => 36 [5] => 37 )
//骚年,这是基本功的问题啊while($row=mysql_fetch_array($result)){ $id[]=$row['id'];}echo join(",",$id);
上仙的方法不错,加分,希望今后再接再历,不要辜负我们对你的期望!钦此!
//骚年,这是基本功的问题啊while($row=mysql_fetch_array($result)){ $id[]=$row['id'];}echo join(",",$id);
嗯,上仙的方法不错,加分了,上仙!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Alipay Php ...

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

L'article traite de la liaison statique tardive (LSB) dans PHP, introduite dans PHP 5.3, permettant une résolution d'exécution de la méthode statique nécessite un héritage plus flexible. Problème main: LSB vs polymorphisme traditionnel; Applications pratiques de LSB et perfo potentiel

L'article traite des fonctionnalités de sécurité essentielles dans les cadres pour se protéger contre les vulnérabilités, notamment la validation des entrées, l'authentification et les mises à jour régulières.

L'article examine l'ajout de fonctionnalités personnalisées aux cadres, en se concentrant sur la compréhension de l'architecture, l'identification des points d'extension et les meilleures pratiques pour l'intégration et le débogage.

Envoyant des données JSON à l'aide de la bibliothèque Curl de PHP dans le développement de PHP, il est souvent nécessaire d'interagir avec les API externes. L'une des façons courantes consiste à utiliser la bibliothèque Curl pour envoyer le post� ...

L'application du principe solide dans le développement de PHP comprend: 1. Principe de responsabilité unique (SRP): Chaque classe n'est responsable d'une seule fonction. 2. Principe ouvert et ferme (OCP): les changements sont réalisés par extension plutôt que par modification. 3. Principe de substitution de Lisch (LSP): les sous-classes peuvent remplacer les classes de base sans affecter la précision du programme. 4. Principe d'isolement d'interface (ISP): utilisez des interfaces à grain fin pour éviter les dépendances et les méthodes inutilisées. 5. Principe d'inversion de dépendance (DIP): les modules élevés et de bas niveau reposent sur l'abstraction et sont mis en œuvre par injection de dépendance.

Le détournement de la session peut être réalisé via les étapes suivantes: 1. Obtenez l'ID de session, 2. Utilisez l'ID de session, 3. Gardez la session active. Les méthodes pour empêcher le détournement de la session en PHP incluent: 1. Utilisez la fonction Session_RegeReate_id () pour régénérer l'ID de session, 2. Stocker les données de session via la base de données, 3. Assurez-vous que toutes les données de session sont transmises via HTTPS.
