Skip to content
Extraits de code Groupes Projets
Bifurcation depuis spip / spip
12333 validations de retard le dépôt en amont.
Avatar de Matthieu Marcillaud
marcimat rédigé
(et correction d'un petit bup pg sur sql_showtable)

- Introduction de 3 fonctions :
* sql_get_select() : qui reprend les mêmes arguments que sql_select() mais retourne la syntaxe de la requete sans l'executer
* sql_create_view($nom, $requete_select) : crée une vue nommée $nom avec la selection $requete_select
* sql_drop_view($nom) : supprime une vue

- Attention, comme déjà signalé, si dans une selection il y a un champ préfixé d'un nom de table ou d'un alias : a.titre, il faut absolument lui donner un nom, sinon SQLite ne peut pas relire le champ (stocké 'a.titre' et non 'titre' dans sa vue). Dans ce cas faire : a.titre AS titre .

- exemple inutile :

$sel = sql_get_select(array('id_article'=>'id_article', 'titre'=>'titre'),'spip_articles');
echo "requete select : $sel<br />";
sql_create_view('vue_nom', $sel);

if ($res = sql_select(array('id_article', 'titre'),'vue_nom','','','','10')){
	while ($r = sql_fetch($res)){
		echo "*" . $r['id_article'] . " - " . $r['titre'] . "<br />";
	}	
}

sql_drop_view('vue_nom');
4036970b
Historique