Hier noch ein paar kleine Beispiele:
SQL-Abfrage für mehrere Artikel:$sql_statement="SELECT * FROM ".DB_PREFIX."articles";
$result=$db->query($sql_statement);
Anzahl der Ergebnisse:$rows=$result->size();
Ausgabe der Artikel als Array:if ($rows>0) {
while($data=$result->fetch()) {
echo $data['article_name'].' <br />';
}
}
oder
Ausgabe der Artikel als Objekt:
while($data=$result->fetch_objekt()) {
echo $data->article_name.'<br />';
}
Gibt man in $sql_statement noch eine WHERE, ORDER BY, GROUP BY, werden diese wie gehabt behandelt und man somit die Anzahl der Ausgabe beeinflussen.
Möchte man sich nur einen geziehlten Eintrag ausgeben lassen, bietet die Klasse folgende Möglichkeit:
Als Funktionsaufruf:$var=first_query($fields,$table,$where);
Als Methodenausruf:
$var=$db->first_query($fields,$table,$where);
$fields => Definition der Tabellenfelder, Bsp: article_id,article_name,article_description oder als *
$table => Definition der Tabelle, Bsp: DB_PREFIX.'articles'
$where => Definitionen für die WHERE Klausel. Hier bitte kein WHERE selbst angeben, da dieses direkt integriert wird.
Beispiel hierzu:$user=$db->first_query("user_id,user_name",DB_PREFIX."users","user_id=1");
Wie kann ich die first_query mit gejointe Tabellen verwenden?
Mit der first_query kann man auch gejointe Abfragen tätigen.
Bei
$fields gibt man die Felder an, Bsp: ac.*,a.*
Bei
$table beginnt man mit der FROM Tabelle und hängt die gejointen einfach dahinter, Bsp:
DB_PREFIX.'articles as a LEFT JOIN '.DB_PREFIX.'article_cats as ac ON ac.article_cat_id=a.article_cat
Bei
$where gibt man dann die gewünschte WHERE Klausel ein, Bsp: 'a.article_published='1'
Jetzt nochmal die komplette Abfrage im Zusammenhang $last_article = $db->first_query("ac.*,a.*",DB_PREFIX."articles as a LEFT JOIN ".DB_PREFIX."article_cats AS ac ON ac.article_cat_id=a.article_cat WHERE a.article_published='1' ORDER BY article_datestamp DESC");
Diese Funktion/Methode gibt genau einen Wert aus es ist automatisch auf LIMIT 0,1 gesetzt