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

Der CSS-Problemlöser

Der CSS-Problemlöser 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 > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 19.06.2016, 22:00:25
Fake Fake ist offline
Anfänger
 
Registriert seit: May 2016
Alter: 30
Beiträge: 33
Schleife in Schleife -> falsche Ausgabe


Hallöchen!


Scheinbar habe ich gerade irgend einen Logikfehler.

PHP-Code:
    $result_main $_User->Query("SELECT * FROM `groups`");
    
$result_sub $_User->Query("SELECT * FROM `groups` WHERE `sub` <> 0");

    while(
$main mysqli_fetch_assoc($result_main))
    {
        if(
$main['main']) echo $main['name'];
        
        while(
$sub mysqli_fetch_assoc($result_sub))
        {
            if(
$sub['sub'] == $main['id']) echo $sub['name'];
        }
    } 
MySQL Tabelleninhalt dazu: https://abload.de/img/sqlerror8surc.png

main - Ist eine Hauptgruppe
sub - Ist die ID der Hauptgruppe

Die Ausgabe des Scripts verwirrt mich gewaltig.

Code:
Visitor VIP Developer
Die korrekte Ausgabe wäre eigentlich:

Code:
Visitor VIP Developer Banned

Der Zweck dahinter

- auflistung aller Gruppen in einem <select>
- <option> immer Hauptgruppe, danach all Subgruppen

Bsp:

- Hauptgruppe 1
- alle Subgruppen von Hauptgruppe 1
- Hauptgruppe 2
- alle Subgruppen von Hauptgruppe 2
- Hauptgruppe 3
(hat keine Subgruppen)
- Hauptgruppe 4

Die Sortierung der Hauptgruppen selbst soll durch sort_id DESC erfolgen.
Die Sortierung INNERHALB der Subgruppen ebenfalls.
Mit Zitat antworten
  #2  
Alt 19.06.2016, 23:35:02
Fake Fake ist offline
Anfänger
 
Registriert seit: May 2016
Alter: 30
Beiträge: 33
AW: Schleife in Schleife -> falsche Ausgabe

Kann mir bitte jemand beantworten warum folgende Ausschnitte unterschiedliche Ausgaben haben?

PHP-Code:
                                    $result_main $_User->Query("SELECT `id`, `name` FROM `groups` WHERE `main` = 1 ORDER BY `sort_id` DESC");
                                    
$result_sub $_User->Query("SELECT `id`, `name`, `sub` FROM `groups` WHERE `main` = 0 ORDER BY `sort_id` DESC");
                                    while(
$main mysqli_fetch_assoc($result_main))
                                    {
                                        echo 
'<option value="' $main['id'] . '">' $main['name'] . '</option>';
                                        
                                        
                                        
                                        while(
$sub mysqli_fetch_assoc($result_sub))
                                        {
                                            if(
$main['id'] == $sub['sub']) echo '<option value="' $sub['id'] . '">&nbsp;&nbsp;› ' $sub['name'] . '</option>';
                                        }
                                    } 
Gibt falsch aus: https://abload.de/img/sqlerrorq6j9n.png


PHP-Code:
                                    $result_main $_User->Query("SELECT `id`, `name` FROM `groups` WHERE `main` = 1 ORDER BY `sort_id` DESC");
                                    
                                    while(
$main mysqli_fetch_assoc($result_main))
                                    {
                                        echo 
'<option value="' $main['id'] . '">' $main['name'] . '</option>';
                                        
                                        
$result_sub $_User->Query("SELECT `id`, `name`, `sub` FROM `groups` WHERE `main` = 0 ORDER BY `sort_id` DESC");
                                        
                                        while(
$sub mysqli_fetch_assoc($result_sub))
                                        {
                                            if(
$main['id'] == $sub['sub']) echo '<option value="' $sub['id'] . '">&nbsp;&nbsp;› ' $sub['name'] . '</option>';
                                        }
                                    } 
Gibt richtig aus: https://abload.de/img/sqlerror221pk6.png


Der eigentliche Fehler ist damit zwar behoben,
aber ich versuche zu verstehen warum...


(Tabelle dazu: https://abload.de/img/sqlerror3ghrkr.png)
Mit Zitat antworten
  #3  
Alt 20.06.2016, 10:59:38
chorn chorn ist offline
Junior Member
 
Registriert seit: Apr 2016
Alter: 44
Beiträge: 171
AW: Schleife in Schleife -> falsche Ausgabe

Kannst du mit dieser Erklärung schon was anfangen?

Zitat:
Returns an associative array that corresponds to the fetched row or NULL if there are no more rows.
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
mysql_fetch_array in while-Schleife bringt falsche Ausgabe Tim2theO PHP Grundlagen 1 23.07.2015 12:49:24
array return falsche ausgabe MonsterreactioN PHP Grundlagen 5 23.06.2010 19:05:53
Falsche Ausgabe mit $_GET rrabe PHP Grundlagen 3 09.09.2009 13:25:37
Falsche Schleife - Kalender Grega PHP Grundlagen 3 03.04.2006 14:10:10
Problem mit Ausgabe von Daten in For- Schleife Sajya PHP für Fortgeschrittene und Experten 4 10.11.2002 15:25:24


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:59:42 Uhr.


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


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