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 ::

Das Zend Framework

Das Zend Framework 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
Hilfe Community Kalender Heutige Beiträge Suchen

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

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 20.05.2014, 10:20:03
sanne sanne ist offline
Anfänger
 
Registriert seit: May 2014
Alter: 44
Beiträge: 5
mehrdimensionales array mit foreach in Tabelle auslesen

guten tag :)

ich hab hier ein problem welches ich einfach nicht gelöst bekomm. wahrscheinlich ein typisches anfängerproblem, aber google etc. hilft mir einfach nicht weiter. eine fehlermeldung kommt auch nicht.

ich habe ein array aus einer datenbankabfrage über mehrere tabellen. welches mir var_dump wie folgt ausgibt:

array(2) { [0]=> array(16) { ["name"]=> string(14) "sanne inthesun" [0]=> string(14) "sanne inthesun" ["address"]=> string(22) "Sanneinthesun@yahoo.de" [1]=> string(22) "Sanneinthesun@yahoo.de" ["number"]=> string(6) "690649" [2]=> string(6) "690649" ... etc.

dieses möchte ich mir nun mit einer foreach schleife in eine tabelle auslesen lassen:
PHP-Code:
class Display1
{
    
    private 
$text "";
    
    public function 
getText(){return $this->text;}
    public function 
setText($text){$this->text .= $text;}

    public function 
__construct(array $ergebnis = array())
    {
       
$this->setText('<table>
                                <tr>
                                     <th>Name</th>
                                     <th>Email</th>
                                     <th>TicketID</th>
                                     <th>Status</th>
                                     <th>Topic</th>
                                     <th>Thema</th>
                                     <th>Titel</th>
                                     <th>Inhalt</th>
                               </tr>'
);
            foreach(
$ergebnis as $key)
            {
                
$this->setText('<tr>');
                foreach(
$key as $inhalt)
                {
                    
$this->setText
                    
('<td>'.$inhalt.'</td>');
                }
                
$this->setText('</tr></table>');
            }
    }

ich bekomme da die ergebnisse ausgelesen, aber alles doppeltgemoppelt und nicht in tabellenform zusortiert.

Name Email TicketID Status Topic Thema Titel Inhalt
sanne inthesun sanne inthesun Sanne@.. Sanne@... 690649 690649 open open General Inquiry General Inquiry testuser1 testuser1 test1 test1
...usw..

ich verstehs nicht..
Mit Zitat antworten
  #2  
Alt 20.05.2014, 10:21:41
sanne sanne ist offline
Anfänger
 
Registriert seit: May 2014
Alter: 44
Beiträge: 5
AW: mehrdimensionales array mit foreach in Tabelle auslesen

sorry ich hatte alles eingerückt, nun siehts so aus.. ach..
Mit Zitat antworten
  #3  
Alt 20.05.2014, 10:57:40
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: mehrdimensionales array mit foreach in Tabelle auslesen

Zitat:
Zitat von sanne Beitrag anzeigen
sorry ich hatte alles eingerückt, nun siehts so aus.. ach..
Du sagst es.
Mit den BB-Tags [ php] ... [ /php] drum-rum wäre das icht passiert.

Zitat:
Code:
array(2) { [0]=> array(16) { ["name"]=> string(14) "sanne inthesun" 
[0]=> string(14) "sanne inthesun" ["address"]=> string(22) "Sanneinthesun@yahoo.de" 
[1]=> string(22) "Sanneinthesun@yahoo.de" ["number"]=> string(6) "690649" [2]=> 
string(6) "690649" ... etc.
dieses möchte ich mir nun mit einer foreach schleife in eine tabelle auslesen lassen:
PHP-Code:
class Display1{
    
    private 
$text "";
    
    public function 
getText(){return $this->text;}
    public function 
setText($text){$this->text .= $text;}

    public function 
__construct(array $ergebnis = array())
    {
       
$this->setText('<table>
                                <tr>
                                     <th>Name</th>
                                     <th>Email</th>
                                     <th>TicketID</th>
                                     <th>Status</th>
                                     <th>Topic</th>
                                     <th>Thema</th>
                                     <th>Titel</th>
                                     <th>Inhalt</th>
                               </tr>'
);
            foreach(
$ergebnis as $key)
            {
                
$this->setText('<tr>');
                foreach(
$key as $inhalt)
                {
                    
$this->setText
                    
('<td>'.$inhalt.'</td>');
                }
                
$this->setText('</tr></table>');
            }
    }

Mit Zitat antworten
  #4  
Alt 20.05.2014, 11:26:52
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: mehrdimensionales array mit foreach in Tabelle auslesen

Zitat:
ich verstehs nicht..
Ich auch nicht, weil noch etwas Futter fehlt.
1. wie sieht die Klasse display1 komplett aus:___
2. in welcher form werden die daten übergeben:___
3. ne HTML Tabelle mit ner variablen Zeilen und Spaltenzahl auszugeben, ist eigentlich keine größere Hürde.
Mit Zitat antworten
  #5  
Alt 20.05.2014, 11:44:36
sanne sanne ist offline
Anfänger
 
Registriert seit: May 2014
Alter: 44
Beiträge: 5
AW: mehrdimensionales array mit foreach in Tabelle auslesen

danke, ich werds mir merken!

eigentlich sollte das kein problem sein, da hast du recht. und ich seh den fehler einfach nicht. kann es an der abfrage liegen?
jeder wert wird doppelt angezeigt, auch im array und eben den tabellenüberschriften nicht zugeordnet.

die display1 ist so komplett. die bekommt aus einer anderen das array geliefert:
PHP-Code:
class Search
{
        static function 
names($dbLocal$name)
        {
                
$ergebnis ="";
                
$abfrage $dbLocal->prepare
                
('SELECT
                       u.name,
                       e.address,
                       t.number,
                       t.status,
                       h.topic,
                       c.subject,
                       r.title,
                       r.body
                FROM ost_user u
                INNER JOIN ost_user_email e ON u.id = e.user_id
                INNER JOIN ost_ticket t ON u.id = t.user_id
                INNER JOIN ost_ticket_thread r ON t.ticket_id = r.ticket_id
                INNER JOIN ost_ticket__cdata c ON c.ticket_id = r.ticket_id
                INNER JOIN ost_help_topic h ON h.topic_id = t.topic_id
                    WHERE u.name = :name;'
                
);
            
            
$abfrage->execute($name);
            
$ergebnis $abfrage->fetchAll();
            return 
$ergebnis;
            
        }

aufgerufen wird das in der index.php:
PHP-Code:
$newDisplay1 = new Display1(Search::names($dbLocal$_POST)); 
Mit Zitat antworten
  #6  
Alt 20.05.2014, 13:07:36
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: mehrdimensionales array mit foreach in Tabelle auslesen

Zitat:
Zitat von sanne Beitrag anzeigen
jeder wert wird doppelt angezeigt,
Doppelt?

Da haste bei Deinem fetch_all() wahrscheinlich den resulttyp vergessen:
Zitat:
resulttype

This optional parameter is a constant indicating what type of array should be produced from the current row data. The possible values for this parameter are the constants MYSQLI_ASSOC, MYSQLI_NUM, or MYSQLI_BOTH.
Default steht der auf MYSQLI_BOTH == numerisch und assoziativ indiziert.
Mit Zitat antworten
  #7  
Alt 20.05.2014, 13:51:28
sanne sanne ist offline
Anfänger
 
Registriert seit: May 2014
Alter: 44
Beiträge: 5
AW: mehrdimensionales array mit foreach in Tabelle auslesen

oah danke!!! du bist ein schatz :)
da wäre ich nie im leben drauf gekommen. aber jetzt wird alles so angezeigt wie ich das möchte!
Mit Zitat antworten
  #8  
Alt 20.05.2014, 15:58:18
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: mehrdimensionales array mit foreach in Tabelle auslesen

Zitat:
Zitat von sanne Beitrag anzeigen
... aber jetzt wird alles so angezeigt wie ich das möchte!
Fein.

Zusatztip:
private $text = "";
besser wäre
private $text = null;

Dann kannst Du in der Methode eindeutiger feststellen, ob da was verwurstbares drin steht.
"" ist ein Leerstring. empty() wäre wahr, isset() aber auch.

Bei private $text = null;
prüfst Du mit if (is_null($this->text)){}
Null ist da eindeutig. Würde einer null mit "" überschreiben, wäre das Ergebnis von is_null() dann false. is_null() ist nur dann wahr, wenn null drin steckt.

... Hoffentlich ham die das nicht wieder geklaut...

Nein, is noch so:
http://mod.php.developer.vc/is_null-1/ (Quelltext wird angezeigt)

Geändert von meikel (†) (20.05.2014 um 16:09:01 Uhr) Grund: Test
Mit Zitat antworten
  #9  
Alt 20.05.2014, 19:53:49
sanne sanne ist offline
Anfänger
 
Registriert seit: May 2014
Alter: 44
Beiträge: 5
AW: mehrdimensionales array mit foreach in Tabelle auslesen

guter hinweis, danke für den tip.
ich hab es geändert :)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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
Array auslesen Oskar PHP Grundlagen 9 05.10.2010 00:55:53
Arrayblind tlang78 PHP Grundlagen 2 30.06.2009 15:08:33
Mehrdimensionales Array umstrukturieren Munchkin PHP für Fortgeschrittene und Experten 2 16.05.2008 13:09:06
Abfrage in mehrdimensionales array speichern und wieder auslesen fk PHP Grundlagen 4 16.07.2007 16:03:00
Einzelne Daten aus Textdatei Auslesen azubinator PHP Grundlagen 153 17.12.2004 13:36:58


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:04:45 Uhr.


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


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