Funktion

Danke nochmal für deine Mühe!

Aber kann man das nicht irgendwie vereinfachen? Dachte eigentlich mit Funktionen ist das alles übersichtlicher und professioneller, aber wenn man sich das anschaut ist es ja viel komplizierter als wenn ich einfach für jede Variable die Datenbank abrufe und per echo ausgebe oder?

Kann man das Ganze nicht einfacher ausgeben? Hab das ganze eigentlich nur gemacht, damit ich per echo usersubmit(); ausgeben kann und einfacher damit rechnen kann etc...
 
Ja geht auch anders. xD

PHP:
// Datenbank-Konfiguration
$dbconfig['host'] = 'localhost';
$dbconfig['user'] = '';
$dbconfig['pass'] = '';
$dbconfig['dbname'] = '';

// Einfach zu Datenbank verbinden
$dbcon = @mysql_connect($dbconfig['host'], $dbconfig['user'], $dbconfig['pass']);

// Dann Deine Functionen
function usersubmit($dbname,$dbcon) {

@mysql_select_db($dbname, $dbcon) or die ("Fehler!");

$usersubmit = mysql_num_rows(mysql_query("SELECT user FROM user", $dbcon);
return $usersubmit;
}

//Funktion Aufrufen

$erg = usersubmit($dbconfig['dbname'], $dbcon);

//Ergebnis prüfen
var_dump($erg);

// Verbindung schliessen
mysql_close($dbcon);

LG Bluebo
 
Zuletzt bearbeitet:
Und warum funktioniert dann das nicht;

PHP:
function connect_db()
{
$dbname = "";
$dbhost = "";
$dbuser = "";
$dbpwd = "";
$db = @mysql_connect($dbhost, $dbuser, $dbpwd);
      @mysql_select_db($dbname, $db) or die ("Fehler!");

return $db;
}

function usersubmit()
{
connect_db();
$usersubmit=mysql_num_rows(mysql_query("SELECT user FROM user", $db));
mysql_close($db); 
return $usersubmit;
}

Ich möchte es nur verstehen, warum
 
Vieleicht geht das hier!
PHP:
///////   hab jetzt mal die DB_Conection in die funktion übergeben
function usersubmit($db) ///
{ 

$usersubmit=mysql_num_rows(mysql_query("SELECT COUNT(*) FROM user", $db)); 
mysql_close($db);  
return $usersubmit; 
echo $usersubmit[0];  ////Hier die aufzählung der user
}

So würde ich das jetzt machen! Einfach die Dateban verbindung in die funktion mit übergeben!
 
PHP:
$db = connect_db();
$usersubmit=mysql_num_rows(mysql_query("SELECT user FROM user", $db));
mysql_close($db); 
return $usersubmit;
}

Wenn du in der connect_db() Funktion die Variable $db mit return zurückgibts existiert sie noch nicht. du musst sie beim funktionsaufruf abfangen.
 
Vielen Dank so gehts!

Kleine Frage am Rande; Wie kann ich den Inhalt eines Feldes auslesen mit einer Funktion?

Habs so gemacht, aber funktioniert irgendwie nicht;

PHP:
$starttext=mysql_result(mysql_query("SELECT starttext FROM config", $db));

Und noch eine Frage:

Ich möchte gern die Datenbankvariablen auslagern in eine config.php. Nur wenn ich die Variablen aus der Funktion nehme funktioniert das ganze nicht mehr:

PHP:
$dbname = "";
$dbhost = "localhost";
$dbuser = "";
$dbpwd = "";

function connect_db($dbhost,$dbuser,$dbpwd,$dbname)
{
$db = @mysql_connect($dbhost, $dbuser, $dbpwd);
      @mysql_select_db($dbname, $db) or die ("Fehler!");
return $db;
}
 
Zuletzt bearbeitet:
PHP:
$link = mysql_connect(...,...,...);
mysql_select_db(datenbank, $link);

$query = "select feld1, feld2, feld3 from table where ...";
$resource = mysql_query($query, $link);
// Bei mehreren Datensätzen....
while($row = mysql_fetch_assoc($resource)){
   print $row[feld1];
   print $row[feld2];
   print $row[feld3];
}
// Bei einem Datensatz
$row = mysql_fetch_assoc($resource);
print $row[...];

bindest du die config.php datei auch richtig ein....
 
Zuletzt bearbeitet:
Nur einen Datensatz, aber

PHP:
$starttext=mysql_fetch_assoc(mysql_query("SELECT starttext FROM config", $db));

gibt mir Array aus
 
Ist ja auch absolut richtig....

die funktion heißt ja mysql_fetch_assoc
somit liefert die funktion ein assoziatives Array aus...

und ich hab eben ja auch geschreiben:
print $row[...];

in deinem fall als print $row["starttext"];

 
Zurück