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

TYPO3 Kochbuch

TYPO3 Kochbuch 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 24.07.2008, 10:37:16
Tikiwiki Tikiwiki ist offline
Anfänger
 
Registriert seit: Apr 2005
Beiträge: 115
Array umstrukturieren

Hallo zusammen,

ich hole mir mit folgender Abfrage Daten aus der Datenbank.

PHP-Code:
$sql_wversorgung mysql_query("SELECT fbezgemid, fkatid, ewgesvers, fjahrid, jahr 
                              FROM $tabellewversorgung
                              LEFT JOIN $tabellejahr
                              ON ($tabellejahr.jahrid = $tabellewversorgung.fjahrid)
                              WHERE fbezgemid = gemeindeid"
);
                              

    while(
$row mysql_fetch_assoc($sql_wversorgung)) {
        
$data[] = array(
                        
$row['fkatid'],  $row['ewgesvers']
                    );
    } 
Das Array hat dann folgenden Aufbau:

PHP-Code:
Array
(
    [
0] => Array
        (
            [
0] => 1
            
[1] => 3800
        
)
    [
1] => Array
        (
            [
0] => 2
            
[1] => 781
        
)
    [
2] => Array
        (
            [
0] => 3
            
[1] => 0
        
)
    [
3] => Array
        (
            [
0] => 4
            
[1] => 100
        
)
    [
4] => Array
        (
            [
0] => 5
            
[1] => 0
        
)
    [
5] => Array
        (
            [
0] => 1
            
[1] => 3958
        
)
    [
6] => Array
        (
            [
0] => 2
            
[1] => 813
        
)
    [
7] => Array
        (
            [
0] => 3
            
[1] => 0
        
)
    [
8] => Array
        (
            [
0] => 4
            
[1] => 104
        
)
    [
9] => Array
        (
            [
0] => 5
            
[1] => 0
        
)

Ich benötige aber folgenden Aufbau:

PHP-Code:
Array
(
    [
0] => Array
        (
            [
0] => 1
            
[1] => 3885
            
[2] => 3999
        
)
    [
1] => Array
        (
            [
0] => 2
            
[1] => 781
            
[2] => 813
        
)
    [
2] => Array
        (
            [
0] => 3
            
[1] => 0
            
[2] => 0
        
)
    [
3] => Array
        (
            [
0] => 4
            
[1] => 100
            
[2] => 104
        
)
    [
4] => Array
        (
            [
0] => 5
            
[1] => 0
            
[2] => 0
        
)

Wie kann ich das umsetzen? Ich möchte hier keine fertigen Scripts. Ein wager Lösungsansatz wäre für mich schon hilfreich. Momentan stehe ich komplett ohne Plan im Wald.
Vorweg schon mal Danke.
Dietmar
Mit Zitat antworten
  #2  
Alt 25.07.2008, 16:07:08
ch.bielmeier ch.bielmeier ist offline
Anfänger
 
Registriert seit: Jun 2008
Alter: 56
Beiträge: 35
AW: Array umstrukturieren

Woher kommt den der 3. Eintrag? 1 und 2 sind $row['fkatid'] und $row['ewgesvers']

Deine Abfrage kann so auch nicht funktionieren Was soll "$" vor deinen Tabellennamen?
Sind das Variablen?
Für was ist deine WHERE-Klausel, willst du nach einer variblen Gemeindeid suchen, oder hast du keine eindeutige Zuweisung in deinen Tabellen (Normalisierung)?
Ich würde es zB. so machen:
PHP-Code:
$abfrage mysql_query("
    SELECT 
      a.fbezgemid, a.fkatid, a.ewgesvers, 
      b.fjahrid, b.jahr  
    FROM tabellewversorgung a
    LEFT JOIN tabellejahr b ON a.jahrid = b.fjahrid"
);
echo 
mysql_error();
while(
$row mysql_fetch_assoc($abfrage))
{
    foreach(
$row as $wert)
    {
        if(!
is_array($data[$i]))
        {
            
$data[$i] = array();
        }
        
array_push($data[$i], $wert);
    }
    
$i++;

Mit Zitat antworten
  #3  
Alt 28.07.2008, 13:24:28
Tikiwiki Tikiwiki ist offline
Anfänger
 
Registriert seit: Apr 2005
Beiträge: 115
AW: Array umstrukturieren

Hallo,

erstmal danke für die Antwort. Ich möchte hier nochmals den Sachverhalt (der dürfte nicht klar gewesen sein) schildern und meinen bescheidenen Ansatz (der noch nicht ganz das Ergebnis liefert) präsentieren.

Die Abfrage ist nicht das Problem, obwohl es für Dich den Anschein hat.
Vielmehr macht mir das erhaltene Array Probleme.

Nochmals (ein wenig geändert zum 1. Post und in gekürzter Form)

PHP-Code:
Array
(
    [
0] => Array
        (
            [
katid] => 1
            
[ewgesvers] => 3800
        
)

    [
1] => Array
        (
            [
katid] => 1
            
[ewgesvers] => 3958
        
)

    [
2] => Array
        (
            [
katid] => 2
            
[ewgesvers] => 781
        
)

    [
3] => Array
        (
            [
katid] => 2
            
[ewgesvers] => 813
        
)

So nun soll das ganze aber so aussehen:

PHP-Code:
Array 

    [
0] => Array 
        ( 
            [
0] => 
            
[1] => 3885 
            
[2] => 3999 
        

    [
1] => Array 
        ( 
            [
0] => 
            
[1] => 781 
            
[2] => 813 
        


Und hier mein bescheidener Versuch, der zumindest im Ansatz was bringt.

PHP-Code:
$katnummer 0;

foreach (
$data as $key => $value) {

    if (
$katnummer != $value['katid']) {
        
$data1[] = array($value['katid'], $value['ewgesvers']);

    } else {
        
$data1[] = array_push($data1[$key], $value['ewgesvers']);
    }
$katnummer $value['katid'];


Als Ergebnis bekomm ich das raus:

PHP-Code:
Array
(
    [
0] => Array
        (
            [
0] => 1
            
[1] => 3800
        
)

    [
1] => 
    [
2] => 
    [
3] => Array
        (
            [
0] => 2
            
[1] => 781
            
[2] => 813
        
)

    [
4] => 3

Da ist irgendwo ein Murcks drin. Beabsichtigt war, wenn die Katnummer gleich mit der katid ist soll er das im Unterelement dranhängen. Im anderen Fall soll der einen neuen Array-Block (keine Ahnung wie man das nennt) anlegen.

Also an alle die mehr wissen als ich - und das werden ziemlich viele sein :-) - wäre ich dankbar wenn Sie mir den Fehler erklären könnten.

Danke
Dietmar
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
Mehrdimensionales Array umstrukturieren Munchkin PHP für Fortgeschrittene und Experten 2 16.05.2008 13:09:06
Doppelte einträge aus einem Mehrdimensionalen Array aussortieren und löschen PHoenix_KM PHP für Fortgeschrittene und Experten 2 17.04.2008 18:19:53
Mehrdimensionales Array sortieren MrLongbaugh PHP Grundlagen 10 06.03.2008 12:02:47
array im array SolidBody PHP Grundlagen 3 20.07.2006 13:38:41
Einzelne Daten aus Textdatei Auslesen azubinator PHP Grundlagen 153 17.12.2004 13:36:58


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:28:09 Uhr.


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


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