De inhoud van lussen (boucles)

De inhoud van de selectie van een SPIP-lus wordt weergegeven met behulp van bakens. Wanneer van een tabel een SQL-veld "x" heeft, kan SPIP de inhoud van dat veld weergeven met behulp van de syntax #X.

<BOUCLE_mijnlus(TABEL)>
#X - #NAAM_VAN_SQL_VELD - #NIETBESTAAND_VELD<br />
</BOUCLE_mijnlus>

SPIP zal geen SQL query maken voor ALLE kolommen van de tabel (SELECT * ...) om de gevraagde gegevens op te halen, maar zal elke keer een specifiek data request maken - in dit geval is dat SELECT x, naam_van_sql_veld FROM spip_tabel.

Wanneer een veld niet bestaat in de SQL tabel, zoals "nietbestaand_veld" in ons voorbeeld hierboven, zal SPIP het niet invoegen in de query, maar zal proberen om een waarde voor het veld te vinden uit een omringende lus - als die er zijn. Als er geen omringende lus is met zo’n veld, dan kijkt SPIP naar de omgeving, net alsof je #ENV{nietbestaand_veld} had geschreven.

Voorbeeld

We nemen het voorbeeld van een SQL tabel met de naam "katten" die uit % kolommen bestaat: "id_kat", "ras", "naam", "leeftijd", "kleur". We kunnen de inhoud van die tabel tonen met:

<B_katten>
  <table>
    <tr>
      <th>Naam</th><th>Leeftijd</th><th>Ras</th>
    </tr>
    <BOUCLE_katten(KATTEN){par naam}>
      <tr>
        <td>#NAAM</td><td>#LEEFTIJD</td><td>#RAS</td>
      </tr>
    </BOUCLE_katten>
  </table>
</B_katten>

Wanneer het automatisch het skelet analyseert, zal SPIP begrijpen dat het de naam, leeftijd en ras velden uit de SQL tabel met de naam katten moet ophalen. Maar de niet benodigde velden zullen niet worden opgevraagd (in dit geval id_kat en kleur), wat de belasting van de database server beperkt.

Auteur hanjo Gepubliceerd op: Aangepast: 12/03/23

Vertalingen: English, Español, français, Nederlands