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 17.09.2009, 14:12:43
fil3s fil3s ist offline
Anfänger
 
Registriert seit: Sep 2009
Alter: 37
Beiträge: 11
While Schleifen-Fehler

Hallo Community,

ich habe mal hier ein Problem mit einer eigentlich relativ simplen Abfrage aus einem Poll-Script. Diese Abfrage soll folgendes Bewerkstelligen:

1. Speichern der Frage und der Hauptattribute (z.B. Fragetyp(Checkbox, radio)) aus der Tabelle p_frage in ein array.

2. Speichern aller, der Frage zugehörigen, Auswahlmöglichkeiten mit Zusatzoptionen in das array von 1. aus der Tabelle p_werte.

PHP-Code:
function show_poll($umfrage)
{
    
    
$db = new my_database();    // Datenbankverbindung

    
$sel_questions 'SELECT * FROM p_frage';
    
$sel_werte 'SELECT * FROM p_werte';

    
$res $db->query($sel_questions);
    
$get_werte $db->query($sel_werte);
    while (
$namen $db->fetch_array($res,0)) {   //while #1 zum erfassen der frage mit hauptattributen
        
$frage[$namen['pos']]['title'] = $namen['name'];
        
$frage[$namen['pos']]['type'] = $namen['typ'];
        
$frage[$namen['pos']]['anzval'] = $namen['anzval'];
        
$frage[$namen['pos']]['id'] = $namen['id'];
        if (
$namen['typ'] == 'range_single' or $namen['typ'] == 'range_multi' ) {
            
$frage[$namen['pos']]['range'] = $namen['range'];
        }
        
$i=0;
        echo 
'id:' .$namen['pos']. '<-- <br />';
        while (
$werte $db->fetch_array($get_werte0)) {  // while #2 Zur Erfassung der Auswahloptionen
            // echo 'ping!<br />';
            
$i++;
            
$min 'min_' .$i;
            
$max 'max_' .$i;
            echo 
'---'$werte['frage_id'].'<br />';
            if (
$namen['pos'] == $werte['frage_id'] ) {
                
// echo '----möp!<br />';
                
echo $frage[$namen['pos']]['type'];
                if (
$frage[$namen['pos']]['type'] == 'range_single') {
                    
// echo '--------blubb<br />';
                    
$frage[$namen['pos']][$min] = $werte['min'];
                    
$frage[$namen['pos']][$max] = $werte['max'];
                    
$frage[$namen['pos']]['capt'] = $werte['title'];
                } else {
                    
// echo '--------bla<br />';
                    
$val 'val' .$i;
                    
$frage[$namen['pos']][$val] = $werte['title'];
                }
            }
        }
    }
    echo 
'<pre>';
    
var_dump($frage);
    echo 
'<br />';
    echo 
'</pre>';
    

Ich habe jetzt ein Problem: für die erste Frage, also den ersten Datensatz läuft das Script einwandfrei durch. Für alle folgenden Datensätze von p_frage speichert er nur noch die Werte aus p_frage und geht nicht mehr in die 2. While Schleife rein, also er übernimmt keine Auswahlmöglichkeiten mehr in das Array! Weiss jemand warum? Das Script muss ja in so weit in Ordnung sein, als das er den Ersten Datensatz komplett ausliest.
Ich hab hier nochmal ein var_dump angehängt!

Code:
array(5) {
  [1]=>
  array(7) {
    ["title"]=>
    string(27) "Was machst du am Wochenende"
    ["type"]=>
    string(8) "checkbox"
    ["anzval"]=>
    string(1) "3"
    ["id"]=>
    string(1) "1"
    ["val1"]=>
    string(6) "Saufen"
    ["val2"]=>
    string(6) "Zocken"
    ["val3"]=>
    string(8) "Schlafen"
  }
  [2]=>
  array(4) {
    ["title"]=>
    string(12) "Was ist das?"
    ["type"]=>
    string(5) "radio"
    ["anzval"]=>
    string(1) "3"
    ["id"]=>
    string(1) "2"
  }
  [3]=>
  array(4) {
    ["title"]=>
    string(44) "An welchen Wochentagen bleibst du lange auf?"
    ["type"]=>
    string(8) "checkbox"
    ["anzval"]=>
    string(1) "7"
    ["id"]=>
    string(1) "3"
  }
  [4]=>
  array(5) {
    ["title"]=>
    string(30) "Wie oft zockst du im Internet?"
    ["type"]=>
    string(12) "range_single"
    ["anzval"]=>
    NULL
    ["id"]=>
    string(1) "4"
    ["range"]=>
    string(1) "6"
  }
  [5]=>
  array(5) {
    ["title"]=>
    string(25) "Was zockst du am meisten?"
    ["type"]=>
    string(11) "range_multi"
    ["anzval"]=>
    string(1) "3"
    ["id"]=>
    string(1) "8"
    ["range"]=>
    string(1) "4"
  }
}
Mit Zitat antworten
  #2  
Alt 17.09.2009, 14:21:35
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: While Schleifen-Fehler

Es wird keine Werte für Deine 2. Schleife geben bzw. stehst Du am Ende der Datensätze.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 17.09.2009, 14:43:52
fil3s fil3s ist offline
Anfänger
 
Registriert seit: Sep 2009
Alter: 37
Beiträge: 11
AW: While Schleifen-Fehler

sry, aber ich verstehe nicht ganz.
Der soll das fetch_array in while #2 einfach nochmal ausführen, das tut er aber nicht und ich versteh leider nicht ganz. Ich habe schon probiert $werte durch ein 2d-array $werte[$j] zu ersetzen, das bei jeder while schleife ein neues array gebildet wird, aber das gab den exakt gleichen Effekt.
Mit Zitat antworten
  #4  
Alt 17.09.2009, 15:07:26
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: While Schleifen-Fehler

Zitat:
Zitat von fil3s Beitrag anzeigen
[...]
Der soll das fetch_array in while #2 einfach nochmal ausführen, das tut er aber nicht..
Dazu muß man sich aber am Anfang des Arrays befinden und nicht wie bei Dir am Ende (nach dem ersten Durchlauf) - verstanden?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #5  
Alt 17.09.2009, 16:25:01
fil3s fil3s ist offline
Anfänger
 
Registriert seit: Sep 2009
Alter: 37
Beiträge: 11
AW: While Schleifen-Fehler

Ah, ja jetzt hats geklickt!

Und dieses Problem kann ich umgehen indem ich einfach den query in die erste while-schleife setze, und somit bei jedem durchlauf einen neuen aufruf zu starten, dann wäre der zähler ja wieder auf null, oder?
Mit Zitat antworten
  #6  
Alt 17.09.2009, 17:04:32
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: While Schleifen-Fehler

Ja.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
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
fehler nach Captcha-Einbau TomDD PHP Grundlagen 1 14.11.2008 11:15:12
Menue auslesen, xx while schleifen ganjapipe MySQLi/PDO/(MySQL) 5 03.11.2008 20:46:08
2 while Schleifen ineinander Holstenjungs MySQLi/PDO/(MySQL) 7 27.01.2005 22:54:00
while in while? flobee PHP für Fortgeschrittene und Experten 2 04.01.2003 23:35:26
Fehler im Script? |Coding PHP für Fortgeschrittene und Experten 17 10.09.2002 08:42:03


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:20:21 Uhr.


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


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