selection unique dans une base de donnee
Par aurelien gerits le dimanche, 12 juillet 2009, 16:22 - Lien permanent
Pour la sélection unique dans une base de donnée,
il faut utiliser la class magixcjquery_magixdb_layer qui effectue la tâche de sélection d'un enregistrement.
[code] selectOne(request,execute=false,mode = 'assoc', debugParams = 'false')
- request = La requête
- execute = tableau de valeurs
- mode = mode de récupération par défaut
- debugParams = Détaille une commande préparée SQL
[PHP] selectOne($sql,$execute=false,$mode,$debugParams)
Exemple avec la base de donnée "db_games"
Vous trouverez cette base de donnée dans l'exemple du dossier extra dans le SVN
[PHP]
<?php
/**
* On instance magixLayer
*/
$layer = new magixcjquery_magixdb_layer();
$sql = 'SELECT * FROM games';
$request = $layer->selectOne($sql);
?>
<table>
<thead>
<tr>
<th>TITLE</th>
</tr>
</thead>
<tbody>
<?php
print '<tr><td>';
print '<td>'.$request['g_title'].'</td>';
print '</td>'.'</tr>';
?>
</tbody>
</table>
Avec WHERE pour rechercher des enregistrements,
[PHP]
<?php
/**
* On instance magixLayer
*/
$layer = new magixcjquery_magixdb_layer();
$sql = 'SELECT * FROM games WHERE g_title=:title';
// Attention tester vos variable !!!
$request = $layer->selectOne($sql,array(':title'=>$_GET['title]));
?>
<table>
<thead>
<tr>
<th>TITLE</th>
</tr>
</thead>
<tbody>
<?php
print '<tr><td>';
print '<td>'.$request['g_title'].'</td>';
print '</td>'.'</tr>';
?>
</tbody>
</table>
Cette fonctionnalité réduit considérablement la charge de mysql.
Retourné un élément unique réduit la charge de mysql si un seul enregistrement nous intéresse.
Pensé à économisé vos ressources pour vos applications