function wird nicht ausgeführt

bwessel

Grünschnabel
Im nachfolgende code soll erreicht werden, dass die DB Abfrage in der dynamischen Tabelle ausgegeben wird. Leider wird die Funktion nicht ausgeführt. Ich finden momentan meinen Fehler nicht und wäre für Hilfe dankbar.
PHP:
<?php	

	$proseite = 10;
	$seite=$_GET['seite'];
	$anfang = ($seite)*$proseite;	
	echo "<a href=\"suche3.php?seite=".($seite+1)."\"><input type=\"image\" src=\"http://www.tutorials.de/forum/images/senden.png\" ></a><br><br>";

				//Ausgabe der Tabelle
				$matrix ="<table border=\"1\" width=\"900\">
							<tr>\n
							<th>Lieferantennummer</th>
							<th>Firma</th>
							<th>Disponent</th>
							<th>Webadresse</th>
							<th>Mailadresse</th>
							<th>Telefon</th>
							<th>Fax</th>
							<th>Rabatt</th>
							<th>Skonto</th>
							<th>Mindestbestellwert</th>\n</tr>";
				echo $matrix; 
	
	function lieferantenabfrage($abfrageLieferant)
	{
			//Abfrage der Datensätze Tabelle lieferant
			$abfrageLieferant="SELECT lieferantenNR,firma,disponent,webAdresse,mailAdresse,telefon,fax,rabatt,skonto,mindestBestellWert 
			FROM lieferant WHERE loeschID = '0' LIMIT $anfang, $proseite  ";
					
			$ergebnis=mysql_query($verbindung);

			if(!$ergebnis) {
			echo mysql_error();
			}

			while($zeile=mysql_fetch_array($ergebnis))
			{	
				echo "<tr><td>" .$zeile['lieferantenNR']. "</td>";	
				echo "<td>" .$zeile['firma']. "</td>";	
				echo "<td>" .$zeile['disponent']. "</td>";
				echo "<td>" .$zeile['webAdresse']. "</td>";	
				echo "<td>" .$zeile['mailAdresse']. "</td>";	
				echo "<td>" .$zeile['telefon']. "</td>";				
				echo "<td>" .$zeile['fax']. "</td></tr>";
				echo "<td>" .$zeile['rabatt']. "</td>";	
				echo "<td>" .$zeile['skonto']. "</td>";				
				echo "<td>" .$zeile['mindestBestellWert']. "</td></tr>";
			}
		
			return $abfrageLieferant;	
	}	

?>
 
Zuletzt bearbeitet:
Er meint du sollst dein PHP-Code in die BB-Tags [PHP]code[/PHP] reinpacken.

Aber in dem unformatierten Gewusel oben sehe ich nur eine Funktion. Keinen Aufruf.

PHP:
function FooBar() {
  $s = "Hallo Welt!";
}

echo $s;

erzeugt die unbrauchbare Ausgabe:
Code:
NULL

Aber...
PHP:
function FooBar() {
  return "Hallo Welt!";  // ein return damit auch das Script außerhalb der Funktion bescheid weis
}

$s = FooBar(); // << der Aufruf
echo $s;

erzeugt die Ausgabe:
Code:
Hallo Welt!
 
Zuletzt bearbeitet:
Danke für die Hilfe und Hinweise, ich habe mein script jetzt wie folgt geändert:
(nur den Schluss)

PHP:
return $abfrageLieferant;	
	}	
$Lief = lieferantenabfrage($abfrageLieferant);
echo $Lief;
?>

Das scheint immernoch nicht richtig zu sein, denn folgende Fehlermeldung wird angezeigt:

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Dokumente und Einstellungen\Familie\Eigene Dateien\xampp\htdocs\Projekt\suche3.php on line 63

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Dokumente und Einstellungen\Familie\Eigene Dateien\xampp\htdocs\Projekt\suche3.php on line 69
SELECT lieferantenNR,firma,disponent,webAdresse,mailAdresse,telefon,fax,rabatt,skonto,mindestBestellWert FROM lieferant WHERE loeschID = '0' LIMIT ,
 
Hi,

Du hast keine Verbindung zur Datenbank. Wo in der Funktion wird die Variable $verbindung gesetzt? Und wo wir schon dabei sind: Deine Variablen für die LIMIT-Klausel sind (innerhalb der Funktion) auch nicht definiert. Dafür übergibst Du unsinnigerweise die Variable $abfrageLieferant, die gar nicht gesetzt war und füllst die in der Funktion mit dem Querystring. Ich glaube, ein Tutorial könnte hier nicht schaden. ;)

LG
 
Deine Fehlermeldung stammt aus einem anderen Script als dem oben genannten. Das sieht man dadran, dass oben garkein SQL-Statement ausgeführt wird:
PHP:
//Abfrage der Datensätze Tabelle lieferant
            $abfrageLieferant="SELECT lieferantenNR,firma,disponent,webAdresse,mailAdresse,telefon,fax,rabatt,skonto,mindestBestellWert 
            FROM lieferant WHERE loeschID = '0' LIMIT $anfang, $proseite  ";
                    
            $ergebnis=mysql_query($verbindung);

Von daher ein allgemeiner Hinweis:
Stell dir vor deine Funktion ist wie ein ganz anderes Script. Logischerweise kennt sie die Variablen $anfang und $proseite nicht da diese nicht innerhalb der Funktion gesetzt wurden.
Damit die Funktion diese kennt kannst du sie so mit einbeziehen:
PHP:
function Name($var) {
  global $anfang, $proseite;
  // code
}

oder mit Übergeben:
PHP:
function Name($var, $anfang, $proseite) {
  // code
}

Dann kennt die Funktion diese Variablen auch und kann damit arbeiten.

EDIT: kuddeldaddeldu hat dir soeben ein gutes Tutorial vorgeschlagen.
 
Zuletzt bearbeitet:
Zurück