tutorials.de Buch-Aktion 05/2012
Like Tree3Danke
  • 1 Beitrag von Tim Bureck
  • 1 Beitrag von tombe
  • 1 Beitrag von Tim Bureck
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
259
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    FurbyHaxx 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
     

  2. #2
    FurbyHaxx 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";
    }
    ?>
     

  3. #3
    Tim Bureck Tim Bureck ist offline Mitglied Platin
    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:
    PHP-Code:
    function GetMachineInfo($id) {
      ...
      return 
    $bezeichnung// statt echo $bezeichnung;

    Der Aufruf:
    PHP-Code:
    $bezeichnung GetMachineInfo($id);
    echo 
    "Die Maschine mit ID $id hat die Bezeichnung $bezeichnung"
    Lektüre dazu:
    - Geltungsbereich von Variablen
    - Funktionen
    Edit: und zusätzlich:
    - Verschiedene Anführungszeichen in PHP
    Geändert von Tim Bureck (19.10.10 um 09:25 Uhr) Grund: neue Lektüre :)
    afkfurby bedankt sich. 

  4. #4
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    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.

  5. #5
    afkfurby afkfurby ist offline Rookie
    Registriert seit
    Oct 2010
    Beiträge
    5
    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?
     

  6. #6
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    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]; 
    afkfurby bedankt sich. 
    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.

  7. #7
    Tim Bureck Tim Bureck ist offline Mitglied Platin
    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
    afkfurby bedankt sich. 

  8. #8
    afkfurby afkfurby ist offline Rookie
    Registriert seit
    Oct 2010
    Beiträge
    5
    danke jetzt funktioniert das ganze
     

Ähnliche Themen

  1. MySQL-Verbindung funktioniert nicht "Call to undefined function mysql_connect()"
    Von dochamburg im Forum Relationale Datenbanksysteme
    Antworten: 31
    Letzter Beitrag: 13.12.11, 08:35
  2. Antworten: 24
    Letzter Beitrag: 16.04.09, 23:07
  3. MovieClip.onRelease = function() funktioniert nicht...
    Von k21karim im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 02.12.07, 13:45
  4. Antworten: 6
    Letzter Beitrag: 04.10.05, 22:38
  5. Speichern function funktioniert nicht ganz
    Von Trancefreak im Forum Visual Basic 6.0
    Antworten: 3
    Letzter Beitrag: 24.04.04, 03:41