SQL Abfrage - Ausgabe in HTML Tabelle

Ohje, peinlich... aus dem $pids = array; wurde nun $pids = array(); und nun kommt folgende Meldung:

Code:
Warning: Cannot use a scalar value as an array ...

Das ist der fehlerhafte Teil laut dieser Meldung:

PHP:
//Das Gitter zusammenstellen
foreach($pids as $pid){
    $result[$pid]['pid'] = $pid;
    foreach($staffeln as $staffel){
        $result[$pid]["s{$staffel}"] = NULL;   
    }    
}

und diese Zeilen:

PHP:
 $result[$pid]['pid'] = $pid;
PHP:
$result[$pid]["s{$staffel}"] = NULL;

Ich habe mal error_reporting auf E_ALL gestellt, um zu sehen, ob da noch weitere Meldungen kommen, aber nein. Es bleibt dabei...
 
Es tut mir Leid, wenn ich den Thread jetzt mit einem Doppelpost hochschiebe, aber weiß niemand einen Rat? Ich hänge leider noch immer bei diesem Problem fest...
 
Ich gehe davon aus, dass du vorher da hast
PHP:
$resource = mysql_query($sql);
$result ist eine Ressource, kein Array. Und darum kannst du diese Variabel nicht als Array verwenden ohne sie vorher als Array zu initialiseren (also nach dem mysql_query())

http://www.selfphp.de/forum/showthread.php?t=23510

Aber ehrlich. Einmal googeln nach "php 'Cannot use a scalar value as an array'" hat bereits beim 2ten Treffer genau dein Problem...
OK, habe den Fehler jetzt doch noch gefunden. Prolem war dass ich das Array $data schon für die Ergebnisse des SQL-Statements benutzt hatte. Scheinbar hat er das nicht gemocht dass ich dann in das Array noch was reinschreiben wollte. Irreführende Fehlermeldung aber was solls.
 
Vielen Dank für deine Antwort!

Das Forum habe ich auch gefunden, nur wurde ich leider aus diesem Post auch nicht zu 100% schlau, deshalb hat es mir leider nicht wirklich weiter geholfen...

Genau, oben steht:


PHP:
$result = mysql_query($sql);

while( $row = mysql_fetch_assoc($result) ){

$data[] = $row;

}

Und dann kommt das, was ich oben gepostet habe.


Aber was genau soll ich mit $result jetzt noch machen? $row ist doch ein Array und beinhaltet die Datensätze, oder liege ich da falsch? Tut mir Leid, wenn ich gerade auf der Leitung stehe... trotzdem Danke!
 
Aber $result ist KEIN Array. Und du hast das folgende. Darin verwendest du $result als Array obwohl $result in dem Moment eine Rsource ist. Und einer Resource kann man nicht einfach mit [] in einen Array wandeln. Benenn das Ding anderst und initialisiere es
PHP:
// Du hast:
foreach($pids as $pid){
    $result[$pid]['pid'] = $pid;
....
//Du willst
$myData = array();
foreach($pids as $pid){
    $myData [$pid]['pid'] = $pid;
....
 
Zurück