SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 06.11.2009, 10:39:47
knight1 knight1 ist offline
Junior Member
 
Registriert seit: May 2003
Ort: Trier
Alter: 47
Beiträge: 310
knight1 eine Nachricht über MSN schicken knight1 eine Nachricht über Skype™ schicken
Nutzung von Rückgabewerten die als Datentyp ARRAY kommen

Hi SELFPHP-Com,
mich beschäftige das im Titel gennante Thema schon länger. Leider weiß ich aber nicht wie und wonach ich suchen soll.

Desöfteren habe ich den Fall dass ich bei einer Funktion oder Methode ein Array mit mehreren Werten zurückgeliefert wird.
Als Beispiel mal folgende Methode:
Code:
class common
{
 function get_bg_infos ()
 {
 $query = $GLOBALS['mysqli']->query("SELECT * FROM `".MYSQL_TABLE_BACKGROUND_INFORMATIONS."` WHERE (`id` = '1')");
 RETURN $query->fetch_array(MYSQLI_ASSOC);
 }
}
Wie aus der RETURN-Zeile zu ersehen ist lasse ich mir sowohl das Ergebnis der Datenbankabfrage als auch der Methode als Array zurückliefern.
Bisher habe ich den RETURN-Wert immer folgendermaßen zugänglich gemacht:
Code:
$bg_infos = $common->get_bg_infos();
Nachfolgend nutze ich dann das Result-Set entsprechend.

Gibt es da eine Möglichkeit an die Array-Elemente dranzukommen, ohne wie in dem zweiten Beispiel angegeben, die Rückgabe in eine Variable zu schreiben?

Im vorraus schonmal Danke für die Antworten.

Kai aka Knight1
Mit Zitat antworten
  #2  
Alt 06.11.2009, 11:02:33
Benutzerbild von Indyk
Indyk Indyk ist offline
Member
 
Registriert seit: Aug 2006
Ort: Lübeck
Alter: 37
Beiträge: 900
Indyk eine Nachricht über ICQ schicken
AW: Nutzung von Rückgabewerten die als Datentyp ARRAY kommen

Hallo knight1,

generell zwingt dich niemand zum speichern ( :

wie es auch möglich wäre:
PHP-Code:
foreach ($common->get_bg_infos() as $info) {
   echo 
$info;

oder evtl. sogar auch so

PHP-Code:
echo $common->get_gb_info()[1]; 
wobei ich mir bei den zweitem nicht sicher bin und uach gerade nicht testen kann.

Falls du etwas ganz anderes wissen möchtest, dann müsstest du deine fragestellung für mich noch einmal bearbeiten , oder auf andere antworten warten ( :
Mit Zitat antworten
  #3  
Alt 06.11.2009, 11:35:23
knight1 knight1 ist offline
Junior Member
 
Registriert seit: May 2003
Ort: Trier
Alter: 47
Beiträge: 310
knight1 eine Nachricht über MSN schicken knight1 eine Nachricht über Skype™ schicken
AW: Nutzung von Rückgabewerten die als Datentyp ARRAY kommen

Zitat:
Zitat von Indyk Beitrag anzeigen
...generell zwingt dich niemand zum speichern...
Ich brauche das Ergebnis aus der Abfrage, sonst würde ich die ja nicht machen.

Zitat:
Zitat von Indyk Beitrag anzeigen
...
PHP-Code:
echo $common->get_gb_info()[1]; 
...
Das war meine erste Idee. Das funktioniert aber nicht.
Es kommt eine Fehlermeldung. Momentan habe ich keine Möglichkeit das zu reproduzieren.

Naja, so wie es aussieht komme ich nicht drum herum das zurückgegebene Abfrageergebnis in einer Variable zu speichern.


Trotzdem Danke für die Antwort.


Kai aka Knight1
Mit Zitat antworten
  #4  
Alt 06.11.2009, 11:43:11
Benutzerbild von Indyk
Indyk Indyk ist offline
Member
 
Registriert seit: Aug 2006
Ort: Lübeck
Alter: 37
Beiträge: 900
Indyk eine Nachricht über ICQ schicken
AW: Nutzung von Rückgabewerten die als Datentyp ARRAY kommen

Mal anders herum,

warum möchtest du es nicht speichern müssen?
und mit welcher PHP Version arbeitest du?
Mit Zitat antworten
  #5  
Alt 06.11.2009, 12:18:34
knight1 knight1 ist offline
Junior Member
 
Registriert seit: May 2003
Ort: Trier
Alter: 47
Beiträge: 310
knight1 eine Nachricht über MSN schicken knight1 eine Nachricht über Skype™ schicken
AW: Nutzung von Rückgabewerten die als Datentyp ARRAY kommen

Weil ich bei dieser speziellen Abfrage immer nur ein Datenank-Feld benötige und ich mir im moment immer alle Felder zurückgeben lassen muss.
Ich habe hier bei mir PHP5.2.9 installiert.

Ich habe da aber gerade eine Idee wie ich es machen kann.


Kai aka Knight1
Mit Zitat antworten
  #6  
Alt 06.11.2009, 12:27:24
Benutzerbild von Indyk
Indyk Indyk ist offline
Member
 
Registriert seit: Aug 2006
Ort: Lübeck
Alter: 37
Beiträge: 900
Indyk eine Nachricht über ICQ schicken
AW: Nutzung von Rückgabewerten die als Datentyp ARRAY kommen

teile deine idee mit uns damit die zukünftigen knights hier hilfe finden können
Mit Zitat antworten
  #7  
Alt 06.11.2009, 12:42:48
knight1 knight1 ist offline
Junior Member
 
Registriert seit: May 2003
Ort: Trier
Alter: 47
Beiträge: 310
knight1 eine Nachricht über MSN schicken knight1 eine Nachricht über Skype™ schicken
AW: Nutzung von Rückgabewerten die als Datentyp ARRAY kommen

Also,
ich habe die Methode von der in meinem Eröffnungs-Thread auf folgendes erweitert:

PHP-Code:
class common
{
 function 
get_bg_infos ($field)
 {
 
$query $GLOBALS['mysqli']->query("SELECT `{$field}` FROM `".MYSQL_TABLE_BACKGROUND_INFORMATIONS."` WHERE (`id` = '1')");
 
$result $query->fetch_array(MYSQLI_ASSOC);
 RETURN 
$result[$field];
 }

Beim Aufruf gebe ich dann den Namen des Tabellenfeldes folgendermaßen mit an:

PHP-Code:
$common->get_bg_infos("last_news_expire_action_date"); 
So erhalte ich den Wert des von mir benötigten Tabellenfeldes als String und nicht als Array zurückgeliefert.
Das spart dann etwas Speicher bei der Datenbank und zur Laufzeit des Scripts und geht denke ich etwas schneller da nur ein Feld von der DB geliefert werden muss. Ich habe zwar im moment nur drei Felder, inkl. dem ID-Feld, in dieser Tabelle. Ich denke aber dass noch weitere Felder hinzukommen werden.

Ich hoffe ich konnte damit etwas helfen.


Kai aka Knight1
Mit Zitat antworten
  #8  
Alt 06.11.2009, 13:02:07
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Nutzung von Rückgabewerten die als Datentyp ARRAY kommen

Wenn du jetzt noch das hässliche $GLOBALS weg machst, dann könnte sogar mir das schon fast gefallen.
Mit Zitat antworten
  #9  
Alt 06.11.2009, 13:34:55
knight1 knight1 ist offline
Junior Member
 
Registriert seit: May 2003
Ort: Trier
Alter: 47
Beiträge: 310
knight1 eine Nachricht über MSN schicken knight1 eine Nachricht über Skype™ schicken
AW: Nutzung von Rückgabewerten die als Datentyp ARRAY kommen

PHP-Code:
class common
{
 function 
get_bg_infos ($field,$mysqli)
 {
 
$query $mysqli->query("SELECT `{$field}` FROM `".MYSQL_TABLE_BACKGROUND_INFORMATIONS."` WHERE (`id` = '1')");
 
$result $query->fetch_array(MYSQLI_ASSOC);
 RETURN 
$result[$field];
 }
}

$common->get_bg_infos("last_news_expire_action_date",$mysqli); 
Besser?

Kai aka Knight1
Mit Zitat antworten
  #10  
Alt 06.11.2009, 13:42:55
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Nutzung von Rückgabewerten die als Datentyp ARRAY kommen

Zitat:
Zitat von knight1 Beitrag anzeigen

Besser?

Kai aka Knight1
Würde mal sagen, ja, etwas besser.

KA in wie weit das bei dir Sinn macht, weitere Alternativen:
1. Übergabe des DB Objektes im Konstruktor
2. Per Setter
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Arrayblind tlang78 PHP Grundlagen 2 30.06.2009 16:08:33
Array formatiert ausgeben Faang PHP Grundlagen 3 15.08.2008 02:47:43
Array umstrukturieren Tikiwiki PHP Grundlagen 2 28.07.2008 14:24:28
Doppelte einträge aus einem Mehrdimensionalen Array aussortieren und löschen PHoenix_KM PHP für Fortgeschrittene und Experten 2 17.04.2008 19:19:53
Einzelne Daten aus Textdatei Auslesen azubinator PHP Grundlagen 153 17.12.2004 14:36:58


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:16:53 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt