Framework

Méthode Sql::Sql_concat()

Sql_concat
sql_concat — Concatène deux ou plusieurs chaines


Description



Code PHP :
string Sql_concat(string $string1 [, string $string2, ...])


Cette méthode de la classe SQL permet de concaténer toutes les chaînes de caractères $string_i entre elles.

Attention au format des arguments!

Contrat de cohérence



  • les champs SQL doivent êtres passés sous forme de chaine PHP
  • les chaines PHP doivent êtres passés sous forme de chaine PHP dont le contenu est une chaine PHP délimité par de simple quotes



Exemple de paramètres valides



champ SQL chaine PHP
Code PHP :
$champSQL = "id";
Code PHP :
$strPHP = "'ma chaine'";
Code PHP :
$champSQL = 'id';
Code PHP :
$strPHP='\'ma chaine\'';


Valeur de retour




Cette fonction retourne une chaîne structurée en fonction du SGBD pour concaténer des chaînes de caractères PHP avec des champs de tables SQL ou des chaînes de caractères.


Exemple 1




Code PHP :
 
$result = $Sql->Query_while("SELECT t.title ".$Sql->Sql_concat("'../forum/topic.php?id='", 't.id', "'#m'", 'msg.id')."  AS `link`
            FROM ".PREFIX."forum_msg msg
            JOIN ".PREFIX."forum_topics t ON t.id = msg.idtopic");
 
while( $row = $Sql->Sql_fetch_assoc($result) )
{
echo '<a href="'.$row['link'].'">'.$row['title'].'</a><br />';
}
$Sql->Close($result);
 
// Affiche un lien vers tous les message du forum
 
// Ici la méthode Sql_concat va renvoyé une chaine de la forme '../forum/topic.php?id=TTT#mMMM'
// avec TTT id de topic et MMM id de message.
 


On remarquera ici que "'../forum/topic.php?id='" et "'#m'" sont entourés de double, puis de simple quotes alors que 't.id' et 'msg.id' ne sont entourés que de simple quotes.

Ceci signifie que t.id et m.id sont des champs de la requête alors que "'../forum/topic.php?id='" et "'#m'" sont des chaînes de caractères générées par PHP.
Cette page a été vue 1990 fois