3Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
259
259
EMPFEHLEN
-
19.10.10 09:12 #1FurbyHaxx Tutorials.de Gastzugang
Hallo Miteinander, ich habe mir eine funktion geschrieben an welche eine id übergeben wird, mitder diese dann verschiedene infos aus der db hohlt.
Wenn ich das ganze ohne funktion probiere geht alles wunderbahr, jedoch mit der funktion bekomm ich keine variablen zurück.
jetzt:
- funktioniert das ganze nicht?
oder:
- versuche ich nur falsch auf die variablen zuzugreifen?
Der Aufruf:
<?php
if(isset($_POST['button'])){
$id = $_POST['id'];
MachineInfo('$id');
echo "Die Maschine mit ID $id hat die Bezeichnung $bezeichnung";
}
?>
Die Funktion:
<?php
function GetMachineInfo($id){
$sql = "SELECT * FROM maschinen WHERE id='".$id."'";
$result = mysql_query($sql) OR die(mysql_error());
if(mysql_num_rows($result)) {
while($row = mysql_fetch_assoc($result)) {
$id = $row['id'];
$bezeichnung = $row['bezeichnung'];
$s1 = $row['1schicht'];
$s3 = $row['3schicht'];
$s5 = $row['5schicht'];
$s7 = $row['7schicht'];
$s9 = $row['9schicht'];
$e1z = $row['extr1zonen'];
$e1k = $row['extr1kammern'];
$e2z = $row['extr2zonen'];
$e2k = $row['extr2kammern'];
$e3z = $row['extr3zonen'];
$e3k = $row['extr3kammern'];
$e4z = $row['extr4zonen'];
$e4k = $row['extr4kammern'];
$e5z = $row['extr5zonen'];
$e5k = $row['extr5kammern'];
$e6z = $row['extr6zonen'];
$e6k = $row['extr6kammern'];
$e7z = $row['extr7zonen'];
$e7k = $row['extr7kammern'];
$e8z = $row['extr8zonen'];
$e8k = $row['extr8kammern'];
$e9z = $row['extr9zonen'];
$e9k = $row['extr9kammern'];
$hersteller = $row['hersteller'];
$breite = $row['breitemax'];
$gdos = $row['gravdos'];
$vdos = $row['voldos'];
$ibc = $row['ibc'];
$reversierung = $row['reversierung'];
$dickenmessung = $row['dickenmessung'];
$seitenfalz = $row['seitenfalz'];
$stippen = $row['stippenpruefung'];
$vorbehandlung = $row['vorbehandlung'];
$wickleranzahl = $row['wickleranzahl'];
$wendekreuz = $row['wendekreuz'];
echo $bezeichnung;
}
}
}
?>
danke für eure hilfe
-
19.10.10 09:14 #2FurbyHaxx Tutorials.de Gastzugang
Sorry kleiner fehler beim kopieren, der Aufruf sollte natürlich so aussehen:
<?php
if(isset($_POST['button'])){
$id = $_POST['id'];
GetMachineInfo('$id');
echo "Die Maschine mit ID $id hat die Bezeichnung $bezeichnung";
}
?>
-
19.10.10 09:20 #3
- Registriert seit
- Apr 2009
- Ort
- Düsseldorf (NRW)
- Beiträge
- 508
Die Probleme sind, dass die Funktion gar keinen Wert zurück gibt und wenn die Funktion einen Wert zurück geben würde, speicherst du ihn nicht. Außerdem übergibst du der Funktion
Code :1
'$id'
Und das ist tatsächlich die Zeichenkette "$id". Hier müssen die einfachen Anführungszeichen weg gelassen werden.
Folgendes sollte zum Erfolg führen (soweit der Code in der Funktion an sich richtig arbeitet: dazu muss schon eine Verbindung zur Datenbank bestehen!):
Die Funktion selbst:
Der Aufruf:PHP-Code:function GetMachineInfo($id) {
...
return $bezeichnung; // statt echo $bezeichnung;
}
Lektüre dazu:PHP-Code:$bezeichnung = GetMachineInfo($id);
echo "Die Maschine mit ID $id hat die Bezeichnung $bezeichnung";
- Geltungsbereich von Variablen
- Funktionen
Edit: und zusätzlich:
- Verschiedene Anführungszeichen in PHPGeändert von Tim Bureck (19.10.10 um 09:25 Uhr) Grund: neue Lektüre :)
-
19.10.10 09:21 #4
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Also wenn das der Originalcode ist, dann vergleiche mal den Namen der Funktion ("GetMachineInfo") und den Aufruf ("MachineInfo").
Aber abgesehen davon, muss es nicht so aussehen:
PHP-Code:<?php
if(isset($_POST['button'])) {
$id = $_POST['id'];
echo "Die Maschine mit ID $id hat die Bezeichnung " .MachineInfo($id);
}
?>Geändert von tombe (19.10.10 um 09:25 Uhr)
Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
danke, das funktioniert so, jetzt will ich aber ja nicht nur die bezeichnung ausgeben sondern alle dieser variablen, kann ich diese jetzt einfach als global deklarieren? und wie muss ich diese dann im aufrum verwenden?
-
19.10.10 10:33 #6
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Dann musst du den Aufruf und die Rückgabe umgestalten.
PHP-Code://Rückgabe aus der Funktion
return Array("wert1", "wert2", "wert3");
//Aufruf und Auswertung
$maschine = GetMachineInfo($id);
echo $maschine[0];
echo $maschine[1];
echo $maschine[2];
Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
19.10.10 11:19 #7
- Registriert seit
- Apr 2009
- Ort
- Düsseldorf (NRW)
- Beiträge
- 508
Du kannst das Array, dass du von mysql_fetch_assoc() zurück bekommst, weiterleiten. Es sollte ja ohnehin nur ein Datensatz bei dem Statement rauskommen:
PHP-Code:...
$row = mysql_fetch_assoc($result);
return $row;
-
danke jetzt funktioniert das ganze
Ähnliche Themen
-
MySQL-Verbindung funktioniert nicht "Call to undefined function mysql_connect()"
Von dochamburg im Forum Relationale DatenbanksystemeAntworten: 31Letzter Beitrag: 13.12.11, 08:35 -
[C++] Eigene toUpperCase Methode funktioniert nicht
Von Kirodema im Forum C/C++Antworten: 24Letzter Beitrag: 16.04.09, 23:07 -
MovieClip.onRelease = function() funktioniert nicht...
Von k21karim im Forum Flash PlattformAntworten: 2Letzter Beitrag: 02.12.07, 13:45 -
eigene Sessionverwaltung funktioniert nicht
Von mrtest im Forum PHPAntworten: 6Letzter Beitrag: 04.10.05, 22:38 -
Speichern function funktioniert nicht ganz
Von Trancefreak im Forum Visual Basic 6.0Antworten: 3Letzter Beitrag: 24.04.04, 03:41





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren