• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

eigene Funktion funktioniert nicht

stvn

Neues Mitglied
Hai.

Kann mir mal bitte jemand sagen, was an meiner Funktion falsch ist?
Ist meine erste, da ich gestern erst mitbekommen habe, dass sowas mit PHP geht. :D

Die Funktion
PHP:
function 
	db_anfrage( 
		$tabelle,
		$where,
		$orderby,
		$limit1,
		$limit2
	)
		{
			$query 	  = "SELECT * FROM $tabelle WHERE $where ORDER BY $orderby LIMIT $limit1, $limit2";
			$query_count = "SELECT * FROM $tabelle WHERE $where";
		}


Und

PHP:
$artist_slug = $_GET[artist];
$table       = "releases";
$bedingung   = "Slug_Artist = '$artist_slug'";
$order 	  = "Releaseyear DESC";

db_anfrage($table, $bedingung, $order, $start, $proseite);

Habe dieses Tutorial (Funktionen in PHP - PHP-Kurs.com - PHP programmieren lernen) als Einstieg genommen, aber verstehe nicht so recht, was bei mir falsch ist.:-|

Danke!
stvn
 
Unsauber: $_GET[artist] Sauber: $_GET['artist'];

Variablen in Singlequotes werden nicht als Variablen interpretiert

$bedingung = "Slug_Artist = '".$artist_slug."'"; (Stichwort: Vereinigungs Operator)

Sinnvoll wäre es, wenn die Funktion was zurückliefert (return). Ein Return-Wert könnte z.B. ein Array, gefüllt mit Datenbank-Datensätzen sein.
 
Nee, 'ne Verbindung zur Datenbank usw gibt es schon. Ich hab nur nicht den ganzen Code gepostet, nur den an sich für die Funktionen relevanten Teil.

Hier nochmal Code inkl. dem Rest, also wie ichs dann quasi einbinden möchte.

PHP:
function 
	db_anfrage( 
		$tabelle,
		$where,
		$orderby,
		$limit1,
		$limit2
	)
		{
			$query 		 = "SELECT * FROM $tabelle WHERE $where ORDER BY $orderby LIMIT $limit1, $limit2";
			$query_count = "SELECT * FROM $tabelle WHERE $where";
		}

PHP:
$db = mysql_connect('localhost','user','passwort');
mysql_select_db('datenbank');

if {
	$table 	= "releases";
	$bedingung	= "Slug_Artist = '$artist_slug'";
	$order 		= "Releaseyear DESC";
	db_anfrage($table, $bedingung, $order, $start, $proseite);
} else {
	$table 		= "releases";
	$bedingung	= "";
	$order 		= "ID DESC";
	db_anfrage($table, $bedingung, $order, $start, $proseite);
}

$query_count_sql = mysql_query($query_count);
$gesamt = mysql_num_rows($query_count_sql);

$resultat = mysql_query($query);
if ($resultat) {
	while($daten = mysql_fetch_object($resultat)){
		echo "...";
	}	
}

Oder ist es evtl. so, dass der Code, der nach der if/elseif/else-Anweisung kommt, mit in den Funktionsteil muss? (Ist wie gesagt, das erste Mal, dass ich mit eigenen Funktionen "arbeite"...) :)

@ T!P-TOP
Habe deinen Beitrag überlesen. :) Vielen dank für deine Hinweise/Tipps!
 
Zuletzt bearbeitet:
So, ich habe mir meine letzte Frage

Oder ist es evtl. so, dass der Code, der nach der if/elseif/else-Anweisung kommt, mit in den Funktionsteil muss?

wohl soeben selbst beantwortet. :)

Also ich hab jetzt den restlichen Teil mit in die Funktion genommen und alles klappt problemlos. So sollte man das wohl auch machen bzw. ist es gedacht. :D
 
Zurück
Oben