wahsaga: mehrere Werte in Funktion

Beitrag lesen

hi,

Ich wollte eine Funktion schreiben, die mir mehrere Werte zurückgibt und diese dann auch noch durch eine Schleife laufen läßt.

Eine Funktion kann nur genau ein Datenelement zurückgeben.

Wenn du mehrere Werte zurückliefern willst, musst du sie alle in einem Datenelement ablegen - bspw. einem Array.

ich dachte mir das so:
<?php
require_once('testfunktionen.inc.php');
$ausgabe =mehrere() ;
echo $ergebnis[0]."<br>";
echo $ergebnis[1]."<br>";
echo $ergebnis[2]."<br>";

Du hast an dieser Stelle überhaupt keine Variable namens $ergebnis.

Die Funktion selber sieht so aus:
function mehrere()
{
//Verbindung zu MySQL herstellen
$verbindung =mysql_connect("localhost", "root","");
//Verbindung zu Datenbank herstellen
mysql_select_db('dodp' ,$verbindung);
$abfrage = @mysql_query("SELECT * FROM sb");
$row_abfrage = mysql_fetch_array($abfrage);
$totalRows_abfrage = mysql_num_rows($abfrage);
$anzahl = $totalRows_abfrage;

for($i=1; $i<=$anzahl; $i++)
       {
  return array($row_abfrage['name'] ,  $row_abfrage['vorname'] ,  $row_abfrage['telefon'] );
      }
}

Das klappt aber nicht. Ich bekomme keinen durchlauf, nur ein Datensatz wird angezeigt

Natürlich - return springt aus der Funktion heraus (wie ich dir schon mal sagte). Danach wird _nichts_ mehr vom restlichen Code, der danach noch in der Funktion stehen mag, mehr ausgeführt.

oder wenn ich die Schleife ändere 11 mal der erste DS.

Natürlich - du hast ja auch nur einen einzigen Datensatz aus dem Abfrageergebnis herausgeholt.
Die mysql_fetch-Funktionen liefern dir immer nur einen Datensatz (oder false, wenn kein weiterer Vorhanden). Also musst du eine solche auch _in_ einer Schleife aufrufen, wenn du mehrere Datensätze "abholen" willst.

Fehler oder Warnungen bekomme ich nicht angezeigt.

Die bekommst du nur, wenn du syntaktische Fehler gemacht hast, oder etwas schiefging.
_Logische_ Fehler bei absolut korrekter Syntax bekommst du aber natürlich nicht angezeigt - so weit ist die KI noch nicht.

gruß,
wahsaga

--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }