WHILE über ein Array nach einem SELECT

Alles, was nicht in die anderen Foren passt, kannst du hier loswerden.
Antworten
Benutzeravatar
Flytokiwi
Beiträge: 13
Registriert: 20. Jan 2019, 21:16

WHILE über ein Array nach einem SELECT

Beitrag von Flytokiwi »

Hallo zusammen,

ich möchte eine kleine Auswertung über Tabellen von Admidio machen.
Daher habe ich ein kleines Testscript geschrieben um einmal die Funktionne zu testen. Leider scheitere ich schon am lesen des Array. Ich habe das Coding aus dem Beispiel der Database.php verwendet. Mein Script habe ich als Plugin im Menü eingetragen.

Code: Alles auswählen

<?php

$rootPath = dirname(dirname(__DIR__));
$pluginFolder = basename(__DIR__);

require_once($rootPath . '/adm_program/system/common.php');

echo 'Admidio Test - Start';
echo "<br />";
  
// Now you can use the new object **$gDb** to send a query to the database
// send sql to database and assign the returned \PDOStatement
$organizationsStatement = $gDb->queryPrepared('SELECT org_shortname, org_longname FROM ptadm_organizations');

// now fetch all rows of the returned \PDOStatement within one array
$organizationsList = $organizationsStatement->fetchAll();
var_dump($organizationsList);

echo "<br />";

// you can also go step by step through the returned \PDOStatement
while ($organizationNames = $organizationsStatement->fetch())
{

  echo 'Admidio While';
  echo "<br />";

  echo $organizationNames['shortname'].' '.$organizationNames['longname'];
  echo "<br />";

}

echo 'Admidio Test - Ende';
echo "<br />";

?>
Das ist das Ergebnis (Im var_dump sieht man das der Select ansich funktioniert):
Admidio Test - Start
array(1) { [0]=> array(2) { ["org_shortname"]=> string(2) "PT" ["org_longname"]=> string(15) "Penguin Tappers" } }
Admidio Test - Ende
Ich weiß schon gar nicht mehr wieviele Varianten ich schon Probiert habe. Aber es will mir einfach nicht gelingen.
Ich tippe auf eine total einfache Lösung und ich bin aktuell Unfähig diese zu erkennen.

Für einen Tip wäre ich dankbar.

Danke und Gruß
Ralph

(Admidio Version 3.3.10, PHP Version 7.1)
( Admidio Version 3.3.10, PHP Version 7.1 )
( Homepage: www.penguin-tappers.de )
Benutzeravatar
Flytokiwi
Beiträge: 13
Registriert: 20. Jan 2019, 21:16

Re: WHILE über ein Array nach einem SELECT

Beitrag von Flytokiwi »

Hallo zusammen,

habe es gefunden. (Hier allerdings auf eine andere Tabelle:)

Code: Alles auswählen

$statement = $gDb->queryPrepared("SELECT * FROM ptadm_user_log");
$statement->execute;   
while($row = $statement->fetch()) {
   echo $row['usl_usr_id']." ".$row['usl_usf_id']."<br />";
   echo $row['usl_value_old']." ".$row['usl_value_new']."<br />";
}
Jetzt muss ich nur noch mein SQL entsprechend aufbereiten und die Ausgabe tunen.

Gruß
Ralph
( Admidio Version 3.3.10, PHP Version 7.1 )
( Homepage: www.penguin-tappers.de )
Antworten