Martin_N
wissensdurstig
Guten Abend,
seit ca 1 Stunde und viel Googlen und rumbasteln frage ich hier jetzt mal nach, da ich via google zu keinem Ergebnis komme..
Gesucht habe ich nach:
Mein einziges Problem ist lediglich das benutzen der Variable $Nkategorie1 außerhalb der switch Anweisung.
Zunächst hier der Quellcode und dann die Erklärung:
Ich mache das alles in einer function() {} weil ich unnötiges schreiben vermeiden möchte, denn man kann entweder 1 Datensatz oder 2 hinzufügen und wenn 2, dann kann man die function einfügen
Gleiches wenn man nur einen einfügen will. Aber okay! Weiter geht's.
Mit der while Schleife hole ich
a) die Kategorienummer aus dem Formular und
b) lasse ich eine Switch-Anweisung laufen, um einen Text für den neuen Datensatz zu bekommen.
Die Variable wird wunderbar übertragen und wenn ich den Text, sprich die ausgewählte Kategorie, direkt im switch case ausgeben lasse, gibt er mir den Text aus. Dies tut er aber nicht in der function, also außerhalb der switch Anweisung.
Da ich diesen Text jedoch zum einfügen in der Db benötige, muss ich die Variable global definieren.
Mit dem Befehl
hat es bei mir nicht funktioniert -> entweder habe ich da etwas nicht korrekt geschrieben oder es geht nicht..
Habt Ihr die Lösung oder Tipps was ich tuen könnte?
Wenn Ihr noch genaueres benötigt, sagt bitte bescheid
Vielen Dank für Deine Hilfe
seit ca 1 Stunde und viel Googlen und rumbasteln frage ich hier jetzt mal nach, da ich via google zu keinem Ergebnis komme..
Gesucht habe ich nach:
- php global
- php switch result external use
- auf w3schools.com
- u.v.a.
Mein einziges Problem ist lediglich das benutzen der Variable $Nkategorie1 außerhalb der switch Anweisung.
Zunächst hier der Quellcode und dann die Erklärung:
PHP:
function getCategorie1 () {
$findCategorie = mysql_query("SELECT * FROM kategorien ORDER BY kategorie_nr ASC");
while ($findCategorie2 = mysql_fetch_row($findCategorie)) {
switch ($_POST['Nkategorie1']) {
case $findCategorie2[0]:
$_POST['Nkategorie1'] = $findCategorie2[1];
$Nkategorie1 = $_POST['Nkategorie1'];
break;
}
}
}
Gleiches wenn man nur einen einfügen will. Aber okay! Weiter geht's.
Mit der while Schleife hole ich
a) die Kategorienummer aus dem Formular und
b) lasse ich eine Switch-Anweisung laufen, um einen Text für den neuen Datensatz zu bekommen.
Es gibt eine Tabelle für die Noten und die Kategorien. DIe Kategorien werden in das select field mit einer while-schleife geladen.
Da das Fach auch Leerzeichen/Sonderzeichen beinhalten kann, nehme ich die Nummer für die weitere bearbeitung.PHP:while ($printall = mysql_fetch_object($allnotes)) { echo '<option value="'.$printall->fachnummer.'">'.$printall->fach.'</option> '; }
Diese möchte ich dann mit dem oben geposteten wieder zu einem Text machen.
Die Variable wird wunderbar übertragen und wenn ich den Text, sprich die ausgewählte Kategorie, direkt im switch case ausgeben lasse, gibt er mir den Text aus. Dies tut er aber nicht in der function, also außerhalb der switch Anweisung.
Da ich diesen Text jedoch zum einfügen in der Db benötige, muss ich die Variable global definieren.
Mit dem Befehl
global
Habt Ihr die Lösung oder Tipps was ich tuen könnte?
Wenn Ihr noch genaueres benötigt, sagt bitte bescheid
Vielen Dank für Deine Hilfe